taste-aadl_parser.ads 1.54 KB
Newer Older
1
2
3
4
5
--  ************************ TASTE AADL Parser **************************  --

--  (c) 2017 European Space Agency - maxime.perrotin@esa.int
--  LGPL license, see LICENSE file

6
7
with Ada.Strings.Unbounded,
     Ocarina.Types,
8
9
     TASTE.Parser_Utils,
     TASTE.Interface_View,
10
     TASTE.Deployment_View,
11
     TASTE.Concurrency_View,
12
     TASTE.Data_View;
13
--  pragma Unreferenced (TASTE.Concurrency_View);
14
15
use Ada.Strings.Unbounded,
    Ocarina.Types,
16
17
    TASTE.Parser_Utils,
    TASTE.Interface_View,
18
    TASTE.Deployment_View,
19
    TASTE.Concurrency_View,
20
    TASTE.Data_View;
21
22
23
24
25
26
27
28

package TASTE.AADL_Parser is
   Interface_Root  : Node_Id := No_Node;
   Deployment_Root : Node_Id := No_Node;
   Dataview_Root   : Node_Id := No_Node;

   type TASTE_Model is tagged
      record
29
30
31
32
33
         Interface_View   : Complete_Interface_View;
         Deployment_View  : Complete_Deployment_View;
         Data_View        : Taste_Data_View;
         Concurrency_View : Taste_Concurrency_View;
         Configuration    : Taste_Configuration;
34
35
36
      end record;

   function Parse_Project return TASTE_Model;
37

38
39
   procedure Add_Concurrency_View (Model : in out TASTE_Model);

40
41
42
   function Find_Binding (Model : TASTE_Model;
                          F     : Unbounded_String)
                          return Option_Partition.Option;
43

44
45
   procedure Dump                  (Model : TASTE_Model);
   procedure Generate_Build_Script (Model : TASTE_Model);
Maxime Perrotin's avatar
Maxime Perrotin committed
46
   procedure Generate_Code         (Model : TASTE_Model);
47
48
49
50

private
   function Initialize return Taste_Configuration;
end TASTE.AADL_Parser;