Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / ghdl / ghdl / testsuite / vests / vhdl-93 / ashenden / compliant / ch_07_ch_07_01.json @ 3fd18385

History | View | Annotate | Download (6.96 KB)

1
{
2
  "DESIGN_FILE" : {
3
    "design_units" : [{
4
      "contexts" : [], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "ch_07_01"], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
6
      ]}
7
    , {
8
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
9
        "name" : ["IDENTIFIER", "test"], "entity" : ["IDENTIFIER", "ch_07_01"], "ARCHITECTURE_DECLARATIVE_PART" : [], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
10
          "id" : ["IDENTIFIER", "process_07_2_a"], "PROCESS_DECLARATIVE_PART" : [{
11
            "definition" : ["TYPE_DECLARATION", {
12
              "name" : ["IDENTIFIER", "t1"], "definition" : ["ENUMERATION_TYPE_DEFINITION", [["IDENTIFIER", "t1_1"], ["IDENTIFIER", "t1_2"]]]}
13
            ]}
14
          , {
15
            "definition" : ["TYPE_DECLARATION", {
16
              "name" : ["IDENTIFIER", "t2"], "definition" : ["ENUMERATION_TYPE_DEFINITION", [["IDENTIFIER", "t2_1"], ["IDENTIFIER", "t2_2"]]]}
17
            ]}
18
          , {
19
            "definition" : ["TYPE_DECLARATION", {
20
              "name" : ["IDENTIFIER", "t3"], "definition" : ["ENUMERATION_TYPE_DEFINITION", [["IDENTIFIER", "t3_1"], ["IDENTIFIER", "t3_2"]]]}
21
            ]}
22
          , {
23
            "definition" : ["TYPE_DECLARATION", {
24
              "name" : ["IDENTIFIER", "t4"], "definition" : ["ENUMERATION_TYPE_DEFINITION", [["IDENTIFIER", "t4_1"], ["IDENTIFIER", "t4_2"]]]}
25
            ]}
26
          , {
27
            "declaration" : ["CONSTANT_DECLARATION", {
28
              "names" : [["IDENTIFIER", "v4"]], "typ" : {
29
                "name" : ["SIMPLE_NAME", "t4"]}
30
              , "init_val" : ["EXPRESSION", {
31
                "args" : [["EXPRESSION", {
32
                  "args" : [["EXPRESSION", {
33
                    "args" : [["EXPRESSION", {
34
                      "args" : [["CALL", ["SIMPLE_NAME", "t4_1"]]]}
35
                    ]]}
36
                  ]]}
37
                ]]}
38
              ]}
39
            ]}
40
          , {
41
            "declaration" : ["CONSTANT_DECLARATION", {
42
              "names" : [["IDENTIFIER", "val1"]], "typ" : {
43
                "name" : ["SIMPLE_NAME", "t1"]}
44
              , "init_val" : ["EXPRESSION", {
45
                "args" : [["EXPRESSION", {
46
                  "args" : [["EXPRESSION", {
47
                    "args" : [["EXPRESSION", {
48
                      "args" : [["CALL", ["SIMPLE_NAME", "t1_1"]]]}
49
                    ]]}
50
                  ]]}
51
                ]]}
52
              ]}
53
            ]}
54
          , {
55
            "declaration" : ["CONSTANT_DECLARATION", {
56
              "names" : [["IDENTIFIER", "val2"]], "typ" : {
57
                "name" : ["SIMPLE_NAME", "t2"]}
58
              , "init_val" : ["EXPRESSION", {
59
                "args" : [["EXPRESSION", {
60
                  "args" : [["EXPRESSION", {
61
                    "args" : [["EXPRESSION", {
62
                      "args" : [["CALL", ["SIMPLE_NAME", "t2_1"]]]}
63
                    ]]}
64
                  ]]}
65
                ]]}
66
              ]}
67
            ]}
68
          , {
69
            "declaration" : ["VARIABLE_DECLARATION", {
70
              "names" : [["IDENTIFIER", "var3"]], "typ" : {
71
                "name" : ["SIMPLE_NAME", "t3"]}
72
              , "init_val" : ["EXPRESSION", {
73
                "args" : [["EXPRESSION", {
74
                  "args" : [["EXPRESSION", {
75
                    "args" : [["EXPRESSION", {
76
                      "args" : [["CALL", ["SIMPLE_NAME", "t3_1"]]]}
77
                    ]]}
78
                  ]]}
79
                ]]}
80
              ]}
81
            ]}
82
          , {
83
            "declaration" : ["CONSTANT_DECLARATION", {
84
              "names" : [["IDENTIFIER", "val4"]], "typ" : {
85
                "name" : ["SIMPLE_NAME", "t4"]}
86
              , "init_val" : ["EXPRESSION", {
87
                "args" : [["EXPRESSION", {
88
                  "args" : [["EXPRESSION", {
89
                    "args" : [["EXPRESSION", {
90
                      "args" : [["CALL", ["SIMPLE_NAME", "t4_1"]]]}
91
                    ]]}
92
                  ]]}
93
                ]]}
94
              ]}
95
            ]}
96
          , {
97
            "declaration" : ["SUBPROGRAM_BODY", {
98
              "spec" : {
99
                "name" : "p", "subprogram_type" : "procedure", "parameters" : [{
100
                  "names" : [["IDENTIFIER", "f1"]], "mode" : ["in"], "typ" : {
101
                    "name" : ["SIMPLE_NAME", "t1"]}
102
                  }
103
                , {
104
                  "names" : [["IDENTIFIER", "f2"]], "mode" : ["in"], "typ" : {
105
                    "name" : ["SIMPLE_NAME", "t2"]}
106
                  }
107
                , {
108
                  "names" : [["IDENTIFIER", "f3"]], "mode" : ["out"], "typ" : {
109
                    "name" : ["SIMPLE_NAME", "t3"]}
110
                  }
111
                , {
112
                  "names" : [["IDENTIFIER", "f4"]], "mode" : ["in"], "typ" : {
113
                    "name" : ["SIMPLE_NAME", "t4"]}
114
                  , "expr" : ["EXPRESSION", {
115
                    "args" : [["EXPRESSION", {
116
                      "args" : [["EXPRESSION", {
117
                        "args" : [["EXPRESSION", {
118
                          "args" : [["CALL", ["SIMPLE_NAME", "v4"]]]}
119
                        ]]}
120
                      ]]}
121
                    ]]}
122
                  ]}
123
                ]}
124
              }
125
            ]}
126
          ], "PROCESS_STATEMENT_PART" : [["PROCEDURE_CALL_STATEMENT", {
127
            "name" : ["IDENTIFIER", "p"], "assocs" : [{
128
              "actual_designator" : ["SIMPLE_NAME", "val1"]}
129
            , {
130
              "actual_designator" : ["SIMPLE_NAME", "val2"]}
131
            , {
132
              "actual_designator" : ["SIMPLE_NAME", "var3"]}
133
            , {
134
              "actual_designator" : ["SIMPLE_NAME", "val4"]}
135
            ]}
136
          ], ["PROCEDURE_CALL_STATEMENT", {
137
            "name" : ["IDENTIFIER", "p"], "assocs" : [{
138
              "formal_name" : ["SIMPLE_NAME", "f1"], "actual_designator" : ["SIMPLE_NAME", "val1"]}
139
            , {
140
              "formal_name" : ["SIMPLE_NAME", "f2"], "actual_designator" : ["SIMPLE_NAME", "val2"]}
141
            , {
142
              "formal_name" : ["SIMPLE_NAME", "f4"], "actual_designator" : ["SIMPLE_NAME", "val4"]}
143
            , {
144
              "formal_name" : ["SIMPLE_NAME", "f3"], "actual_designator" : ["SIMPLE_NAME", "var3"]}
145
            ]}
146
          ], ["PROCEDURE_CALL_STATEMENT", {
147
            "name" : ["IDENTIFIER", "p"], "assocs" : [{
148
              "actual_designator" : ["SIMPLE_NAME", "val1"]}
149
            , {
150
              "actual_designator" : ["SIMPLE_NAME", "val2"]}
151
            , {
152
              "formal_name" : ["SIMPLE_NAME", "f4"], "actual_designator" : ["OPEN"]}
153
            , {
154
              "formal_name" : ["SIMPLE_NAME", "f3"], "actual_designator" : ["SIMPLE_NAME", "var3"]}
155
            ]}
156
          ], ["PROCEDURE_CALL_STATEMENT", {
157
            "name" : ["IDENTIFIER", "p"], "assocs" : [{
158
              "actual_designator" : ["SIMPLE_NAME", "val1"]}
159
            , {
160
              "actual_designator" : ["SIMPLE_NAME", "val2"]}
161
            , {
162
              "actual_designator" : ["SIMPLE_NAME", "var3"]}
163
            ]}
164
          ], ["WAIT_STATEMENT"]]}
165
        ]]}
166
      ]}
167
    ]}
168
  }