expressir 0.2.16-x64-mingw32 → 0.2.24-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +5 -0
  3. data/.github/workflows/release.yml +31 -3
  4. data/README.adoc +3 -3
  5. data/exe/format +66 -12
  6. data/lib/expressir/express_exp/2.4/express_parser.so +0 -0
  7. data/lib/expressir/express_exp/2.5/express_parser.so +0 -0
  8. data/lib/expressir/express_exp/2.6/express_parser.so +0 -0
  9. data/lib/expressir/express_exp/2.7/express_parser.so +0 -0
  10. data/lib/expressir/express_exp/3.0/express_parser.so +0 -0
  11. data/lib/expressir/express_exp/cache.rb +48 -0
  12. data/lib/expressir/express_exp/formatter.rb +185 -135
  13. data/lib/expressir/express_exp/parser.rb +33 -29
  14. data/lib/expressir/express_exp/schema_head_formatter.rb +1 -4
  15. data/lib/expressir/express_exp/visitor.rb +29 -23
  16. data/lib/expressir/model.rb +3 -1
  17. data/lib/expressir/model/attribute.rb +12 -5
  18. data/lib/expressir/model/cache.rb +13 -0
  19. data/lib/expressir/model/constant.rb +9 -2
  20. data/lib/expressir/model/entity.rb +15 -13
  21. data/lib/expressir/model/enumeration_item.rb +7 -0
  22. data/lib/expressir/model/expressions/aggregate_initializer.rb +1 -1
  23. data/lib/expressir/model/expressions/aggregate_item.rb +2 -2
  24. data/lib/expressir/model/expressions/attribute_reference.rb +2 -2
  25. data/lib/expressir/model/expressions/binary_expression.rb +3 -3
  26. data/lib/expressir/model/expressions/call.rb +2 -2
  27. data/lib/expressir/model/expressions/entity_constructor.rb +2 -2
  28. data/lib/expressir/model/expressions/group_reference.rb +2 -2
  29. data/lib/expressir/model/expressions/index_reference.rb +3 -3
  30. data/lib/expressir/model/expressions/interval.rb +5 -5
  31. data/lib/expressir/model/expressions/query_expression.rb +7 -5
  32. data/lib/expressir/model/expressions/simple_reference.rb +1 -1
  33. data/lib/expressir/model/expressions/unary_expression.rb +2 -2
  34. data/lib/expressir/model/function.rb +27 -21
  35. data/lib/expressir/model/identifier.rb +6 -3
  36. data/lib/expressir/model/interface.rb +3 -3
  37. data/lib/expressir/model/interface_item.rb +2 -2
  38. data/lib/expressir/model/interfaced_item.rb +11 -3
  39. data/lib/expressir/model/literals/binary.rb +1 -1
  40. data/lib/expressir/model/literals/integer.rb +1 -1
  41. data/lib/expressir/model/literals/logical.rb +1 -1
  42. data/lib/expressir/model/literals/real.rb +1 -1
  43. data/lib/expressir/model/literals/string.rb +2 -2
  44. data/lib/expressir/model/model_element.rb +54 -19
  45. data/lib/expressir/model/parameter.rb +9 -2
  46. data/lib/expressir/model/procedure.rb +26 -20
  47. data/lib/expressir/model/{informal_proposition.rb → remark_item.rb} +3 -3
  48. data/lib/expressir/model/repository.rb +4 -4
  49. data/lib/expressir/model/rule.rb +29 -23
  50. data/lib/expressir/model/schema.rb +63 -54
  51. data/lib/expressir/model/statements/alias.rb +7 -5
  52. data/lib/expressir/model/statements/assignment.rb +2 -2
  53. data/lib/expressir/model/statements/call.rb +2 -2
  54. data/lib/expressir/model/statements/case.rb +3 -3
  55. data/lib/expressir/model/statements/case_action.rb +2 -2
  56. data/lib/expressir/model/statements/compound.rb +1 -1
  57. data/lib/expressir/model/statements/if.rb +3 -3
  58. data/lib/expressir/model/statements/repeat.rb +11 -9
  59. data/lib/expressir/model/statements/return.rb +1 -1
  60. data/lib/expressir/model/subtype_constraint.rb +9 -7
  61. data/lib/expressir/model/type.rb +14 -8
  62. data/lib/expressir/model/types/aggregate.rb +8 -1
  63. data/lib/expressir/model/types/array.rb +5 -5
  64. data/lib/expressir/model/types/bag.rb +3 -3
  65. data/lib/expressir/model/types/binary.rb +2 -2
  66. data/lib/expressir/model/types/enumeration.rb +4 -4
  67. data/lib/expressir/model/types/generic.rb +7 -0
  68. data/lib/expressir/model/types/generic_entity.rb +7 -0
  69. data/lib/expressir/model/types/list.rb +4 -4
  70. data/lib/expressir/model/types/real.rb +1 -1
  71. data/lib/expressir/model/types/select.rb +5 -5
  72. data/lib/expressir/model/types/set.rb +3 -3
  73. data/lib/expressir/model/types/string.rb +2 -2
  74. data/lib/expressir/model/unique.rb +8 -1
  75. data/lib/expressir/model/variable.rb +9 -2
  76. data/lib/expressir/model/where.rb +8 -1
  77. data/lib/expressir/version.rb +1 -1
  78. data/original/examples/syntax/{hyperlink.exp → multiple.exp} +8 -8
  79. data/original/examples/syntax/multiple.yaml +184 -0
  80. data/original/examples/syntax/multiple_formatted.exp +71 -0
  81. data/original/examples/syntax/multiple_hyperlink_formatted.exp +71 -0
  82. data/original/examples/syntax/multiple_schema_head_hyperlink_formatted.exp +13 -0
  83. data/original/examples/syntax/remark.exp +52 -50
  84. data/original/examples/syntax/remark.yaml +452 -0
  85. data/original/examples/syntax/remark_formatted.exp +64 -50
  86. data/original/examples/syntax/{simple.exp → single.exp} +1 -1
  87. data/original/examples/syntax/single.yaml +9 -0
  88. data/original/examples/syntax/single_formatted.exp +6 -0
  89. data/original/examples/syntax/single_formatted.yaml +19 -0
  90. data/original/examples/syntax/syntax.exp +29 -19
  91. data/original/examples/syntax/syntax.yaml +3439 -0
  92. data/original/examples/syntax/syntax_formatted.exp +271 -131
  93. data/original/examples/syntax/syntax_schema_head_formatted.exp +18 -0
  94. data/spec/expressir/express_exp/cache_spec.rb +64 -0
  95. data/spec/expressir/express_exp/formatter_spec.rb +111 -0
  96. data/spec/expressir/express_exp/parser_spec.rb +98 -0
  97. data/spec/expressir/model/{model_element/find_spec.rb → model_element_spec.rb} +96 -10
  98. metadata +21 -17
  99. data/original/examples/syntax/hyperlink_formatted.exp +0 -51
  100. data/original/examples/syntax/source.exp +0 -16
  101. data/spec/expressir/express_exp/formatter/remark_spec.rb +0 -28
  102. data/spec/expressir/express_exp/formatter/syntax_spec.rb +0 -28
  103. data/spec/expressir/express_exp/hyperlink_formatter_spec.rb +0 -28
  104. data/spec/expressir/express_exp/parser/multiple_spec.rb +0 -37
  105. data/spec/expressir/express_exp/parser/remark_spec.rb +0 -411
  106. data/spec/expressir/express_exp/parser/source_spec.rb +0 -29
  107. data/spec/expressir/express_exp/parser/syntax_spec.rb +0 -3086
  108. data/spec/expressir/express_exp/schema_head_formatter_spec.rb +0 -40
  109. data/spec/expressir/model/model_element/hash_spec.rb +0 -66
@@ -0,0 +1,71 @@
1
+ SCHEMA multiple_schema1;
2
+
3
+ REFERENCE FROM multiple_schema2;
4
+ REFERENCE FROM multiple_schema3
5
+ (attribute_entity3);
6
+ REFERENCE FROM multiple_schema4
7
+ (attribute_entity AS attribute_entity4);
8
+
9
+ ENTITY test;
10
+ END_ENTITY;
11
+
12
+ ENTITY empty_entity;
13
+ END_ENTITY;
14
+
15
+ ENTITY attribute_entity;
16
+ test : BOOLEAN;
17
+ END_ENTITY;
18
+
19
+ ENTITY subtype_empty_entity
20
+ SUBTYPE OF (empty_entity);
21
+ END_ENTITY;
22
+
23
+ ENTITY subtype_attribute_entity
24
+ SUBTYPE OF (attribute_entity);
25
+ SELF\attribute_entity.test : BOOLEAN;
26
+ END_ENTITY;
27
+
28
+ ENTITY subtype_attribute_entity2
29
+ SUBTYPE OF (attribute_entity2);
30
+ SELF\attribute_entity2.test : BOOLEAN;
31
+ END_ENTITY;
32
+
33
+ ENTITY subtype_attribute_entity3
34
+ SUBTYPE OF (attribute_entity3);
35
+ SELF\attribute_entity3.test : BOOLEAN;
36
+ END_ENTITY;
37
+
38
+ ENTITY subtype_attribute_entity4
39
+ SUBTYPE OF (attribute_entity4);
40
+ SELF\attribute_entity4.test : BOOLEAN;
41
+ END_ENTITY;
42
+
43
+ ENTITY subtype_missing_entity
44
+ SUBTYPE OF (missing_entity);
45
+ END_ENTITY;
46
+
47
+ END_SCHEMA;
48
+
49
+ SCHEMA multiple_schema2;
50
+
51
+ ENTITY attribute_entity2;
52
+ test : BOOLEAN;
53
+ END_ENTITY;
54
+
55
+ END_SCHEMA;
56
+
57
+ SCHEMA multiple_schema3;
58
+
59
+ ENTITY attribute_entity3;
60
+ test : BOOLEAN;
61
+ END_ENTITY;
62
+
63
+ END_SCHEMA;
64
+
65
+ SCHEMA multiple_schema4;
66
+
67
+ ENTITY attribute_entity;
68
+ test : BOOLEAN;
69
+ END_ENTITY;
70
+
71
+ END_SCHEMA;
@@ -0,0 +1,71 @@
1
+ SCHEMA multiple_schema1;
2
+
3
+ REFERENCE FROM {{{<<express:multiple_schema2,multiple_schema2>>}}};
4
+ REFERENCE FROM {{{<<express:multiple_schema3,multiple_schema3>>}}}
5
+ ({{{<<express:multiple_schema3.attribute_entity3,attribute_entity3>>}}});
6
+ REFERENCE FROM {{{<<express:multiple_schema4,multiple_schema4>>}}}
7
+ ({{{<<express:multiple_schema4.attribute_entity,attribute_entity>>}}} AS attribute_entity4);
8
+
9
+ ENTITY test;
10
+ END_ENTITY;
11
+
12
+ ENTITY empty_entity;
13
+ END_ENTITY;
14
+
15
+ ENTITY attribute_entity;
16
+ test : BOOLEAN;
17
+ END_ENTITY;
18
+
19
+ ENTITY subtype_empty_entity
20
+ SUBTYPE OF ({{{<<express:multiple_schema1.empty_entity,empty_entity>>}}});
21
+ END_ENTITY;
22
+
23
+ ENTITY subtype_attribute_entity
24
+ SUBTYPE OF ({{{<<express:multiple_schema1.attribute_entity,attribute_entity>>}}});
25
+ SELF\{{{<<express:multiple_schema1.attribute_entity,attribute_entity>>}}}.test : BOOLEAN;
26
+ END_ENTITY;
27
+
28
+ ENTITY subtype_attribute_entity2
29
+ SUBTYPE OF ({{{<<express:multiple_schema2.attribute_entity2,attribute_entity2>>}}});
30
+ SELF\{{{<<express:multiple_schema2.attribute_entity2,attribute_entity2>>}}}.test : BOOLEAN;
31
+ END_ENTITY;
32
+
33
+ ENTITY subtype_attribute_entity3
34
+ SUBTYPE OF ({{{<<express:multiple_schema3.attribute_entity3,attribute_entity3>>}}});
35
+ SELF\{{{<<express:multiple_schema3.attribute_entity3,attribute_entity3>>}}}.test : BOOLEAN;
36
+ END_ENTITY;
37
+
38
+ ENTITY subtype_attribute_entity4
39
+ SUBTYPE OF ({{{<<express:multiple_schema4.attribute_entity,attribute_entity4>>}}});
40
+ SELF\{{{<<express:multiple_schema4.attribute_entity,attribute_entity4>>}}}.test : BOOLEAN;
41
+ END_ENTITY;
42
+
43
+ ENTITY subtype_missing_entity
44
+ SUBTYPE OF (missing_entity);
45
+ END_ENTITY;
46
+
47
+ END_SCHEMA;
48
+
49
+ SCHEMA multiple_schema2;
50
+
51
+ ENTITY attribute_entity2;
52
+ test : BOOLEAN;
53
+ END_ENTITY;
54
+
55
+ END_SCHEMA;
56
+
57
+ SCHEMA multiple_schema3;
58
+
59
+ ENTITY attribute_entity3;
60
+ test : BOOLEAN;
61
+ END_ENTITY;
62
+
63
+ END_SCHEMA;
64
+
65
+ SCHEMA multiple_schema4;
66
+
67
+ ENTITY attribute_entity;
68
+ test : BOOLEAN;
69
+ END_ENTITY;
70
+
71
+ END_SCHEMA;
@@ -0,0 +1,13 @@
1
+ SCHEMA multiple_schema1;
2
+
3
+ REFERENCE FROM {{{<<express:multiple_schema2,multiple_schema2>>}}};
4
+ REFERENCE FROM {{{<<express:multiple_schema3,multiple_schema3>>}}}
5
+ ({{{<<express:multiple_schema3.attribute_entity3,attribute_entity3>>}}});
6
+ REFERENCE FROM {{{<<express:multiple_schema4,multiple_schema4>>}}}
7
+ ({{{<<express:multiple_schema4.attribute_entity,attribute_entity>>}}} AS attribute_entity4);
8
+
9
+ SCHEMA multiple_schema2;
10
+
11
+ SCHEMA multiple_schema3;
12
+
13
+ SCHEMA multiple_schema4;
@@ -12,25 +12,25 @@ SCHEMA remark_schema;
12
12
 
13
13
  CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
14
14
  TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
15
- WHERE WR1 : TRUE;
15
+ WHERE WR1: TRUE;
16
16
  --"WR1" type scope - type where
17
- --"IP1" type scope - type informal proposition
18
17
  --"wr:WR1" type scope - type where, with prefix
18
+ --"IP1" type scope - type informal proposition
19
19
  --"ip:IP1" type scope - type informal proposition, with prefix
20
20
  END_TYPE;
21
21
  ENTITY remark_entity;
22
22
  remark_attribute : STRING;
23
23
  DERIVE remark_derived_attribute : STRING := 'xxx';
24
24
  INVERSE remark_inverse_attribute : remark_entity FOR remark_attribute;
25
- UNIQUE remark_unique : remark_attribute;
26
- WHERE WR1 : TRUE;
25
+ UNIQUE UR1: remark_attribute;
26
+ WHERE WR1: TRUE;
27
27
  --"remark_attribute" entity scope - entity attribute
28
28
  --"remark_derived_attribute" entity scope - entity derived attribute
29
29
  --"remark_inverse_attribute" entity scope - entity inverse attribute
30
- --"remark_unique" entity scope - entity unique
30
+ --"UR1" entity scope - entity unique
31
31
  --"WR1" entity scope - entity where
32
- --"IP1" entity scope - entity informal proposition
33
32
  --"wr:WR1" entity scope - entity where, with prefix
33
+ --"IP1" entity scope - entity informal proposition
34
34
  --"ip:IP1" entity scope - entity informal proposition, with prefix
35
35
  END_ENTITY;
36
36
  SUBTYPE_CONSTRAINT remark_subtype_constraint FOR remark_entity; END_SUBTYPE_CONSTRAINT;
@@ -54,26 +54,6 @@ FUNCTION remark_function(remark_parameter : STRING) : BOOLEAN;
54
54
  --"remark_constant" function scope - function constant
55
55
  --"remark_variable" function scope - function variable
56
56
  END_FUNCTION;
57
- PROCEDURE remark_procedure(remark_parameter : STRING);
58
- TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
59
- CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
60
- LOCAL remark_variable : STRING; END_LOCAL;
61
- ALIAS remark_alias FOR remark_variable; ;
62
- --"remark_alias" procedure alias scope - procedure alias
63
- END_ALIAS;
64
- REPEAT remark_repeat := 1 TO 9; ;
65
- --"remark_repeat" procedure repeat scope - procedure repeat
66
- END_REPEAT;
67
- remark_variable := QUERY(remark_query <* remark_variable | TRUE
68
- --"remark_query" procedure query scope - procedure query
69
- );
70
- --"remark_parameter" procedure scope - procedure parameter
71
- --"remark_type" procedure scope - procedure type
72
- --"remark_type.remark_enumeration_item" procedure scope - procedure enumeration item
73
- --"remark_enumeration_item" procedure scope - procedure enumeration item, on the same level as the type
74
- --"remark_constant" procedure scope - procedure constant
75
- --"remark_variable" procedure scope - procedure variable
76
- END_PROCEDURE;
77
57
  RULE remark_rule FOR (remark_entity);
78
58
  TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
79
59
  CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
@@ -87,23 +67,43 @@ RULE remark_rule FOR (remark_entity);
87
67
  remark_variable := QUERY(remark_query <* remark_variable | TRUE
88
68
  --"remark_query" rule query scope - rule query
89
69
  );
90
- WHERE WR1 : TRUE;
70
+ WHERE WR1: TRUE;
91
71
  --"remark_type" rule scope - rule type
92
72
  --"remark_type.remark_enumeration_item" rule scope - rule enumeration item
93
73
  --"remark_enumeration_item" rule scope - rule enumeration item, on the same level as the type
94
74
  --"remark_constant" rule scope - rule constant
95
75
  --"remark_variable" rule scope - rule variable
96
76
  --"WR1" rule scope - rule where
97
- --"IP1" rule scope - rule informal proposition
98
77
  --"wr:WR1" rule scope - rule where, with prefix
78
+ --"IP1" rule scope - rule informal proposition
99
79
  --"ip:IP1" rule scope - rule informal proposition, with prefix
100
80
  END_RULE;
81
+ PROCEDURE remark_procedure(remark_parameter : STRING);
82
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
83
+ CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
84
+ LOCAL remark_variable : STRING; END_LOCAL;
85
+ ALIAS remark_alias FOR remark_variable; ;
86
+ --"remark_alias" procedure alias scope - procedure alias
87
+ END_ALIAS;
88
+ REPEAT remark_repeat := 1 TO 9; ;
89
+ --"remark_repeat" procedure repeat scope - procedure repeat
90
+ END_REPEAT;
91
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
92
+ --"remark_query" procedure query scope - procedure query
93
+ );
94
+ --"remark_parameter" procedure scope - procedure parameter
95
+ --"remark_type" procedure scope - procedure type
96
+ --"remark_type.remark_enumeration_item" procedure scope - procedure enumeration item
97
+ --"remark_enumeration_item" procedure scope - procedure enumeration item, on the same level as the type
98
+ --"remark_constant" procedure scope - procedure constant
99
+ --"remark_variable" procedure scope - procedure variable
100
+ END_PROCEDURE;
101
101
 
102
102
  --"remark_constant" schema scope - constant
103
103
  --"remark_type" schema scope - type
104
104
  --"remark_type.WR1" schema scope - type where
105
- --"remark_type.IP1" schema scope - type informal proposition
106
105
  --"remark_type.wr:WR1" schema scope - type where, with prefix
106
+ --"remark_type.IP1" schema scope - type informal proposition
107
107
  --"remark_type.ip:IP1" schema scope - type informal proposition, with prefix
108
108
  --"remark_type.remark_enumeration_item" schema scope - enumeration item
109
109
  --"remark_enumeration_item" schema scope - enumeration item, on the same level as the type
@@ -111,10 +111,10 @@ END_RULE;
111
111
  --"remark_entity.remark_attribute" schema scope - entity attribute
112
112
  --"remark_entity.remark_derived_attribute" schema scope - entity derived attribute
113
113
  --"remark_entity.remark_inverse_attribute" schema scope - entity inverse attribute
114
- --"remark_entity.remark_unique" schema scope - entity unique
114
+ --"remark_entity.UR1" schema scope - entity unique
115
115
  --"remark_entity.WR1" schema scope - entity where
116
- --"remark_entity.IP1" schema scope - entity informal proposition
117
116
  --"remark_entity.wr:WR1" schema scope - entity where, with prefix
117
+ --"remark_entity.IP1" schema scope - entity informal proposition
118
118
  --"remark_entity.ip:IP1" schema scope - entity informal proposition, with prefix
119
119
  --"remark_subtype_constraint" schema scope - subtype constraint
120
120
  --"remark_function" schema scope - function
@@ -124,13 +124,6 @@ END_RULE;
124
124
  --"remark_function.remark_enumeration_item" schema scope - function enumeration item, on the same level as the type
125
125
  --"remark_function.remark_constant" schema scope - function constant
126
126
  --"remark_function.remark_variable" schema scope - function variable
127
- --"remark_procedure" schema scope - procedure
128
- --"remark_procedure.remark_parameter" schema scope - procedure parameter
129
- --"remark_procedure.remark_type" schema scope - procedure type
130
- --"remark_procedure.remark_type.remark_enumeration_item" schema scope - procedure enumeration item
131
- --"remark_procedure.remark_enumeration_item" schema scope - procedure enumeration item, on the same level as the type
132
- --"remark_procedure.remark_constant" schema scope - procedure constant
133
- --"remark_procedure.remark_variable" schema scope - procedure variable
134
127
  --"remark_rule" schema scope - rule
135
128
  --"remark_rule.remark_type" schema scope - rule type
136
129
  --"remark_rule.remark_type.remark_enumeration_item" schema scope - rule enumeration item
@@ -138,9 +131,17 @@ END_RULE;
138
131
  --"remark_rule.remark_constant" schema scope - rule constant
139
132
  --"remark_rule.remark_variable" schema scope - rule variable
140
133
  --"remark_rule.WR1" schema scope - rule where
141
- --"remark_rule.IP1" schema scope - rule informal proposition
142
134
  --"remark_rule.wr:WR1" schema scope - rule where, with prefix
135
+ --"remark_rule.IP1" schema scope - rule informal proposition
143
136
  --"remark_rule.ip:IP1" schema scope - rule informal proposition, with prefix
137
+ --"remark_procedure" schema scope - procedure
138
+ --"remark_procedure.remark_parameter" schema scope - procedure parameter
139
+ --"remark_procedure.remark_type" schema scope - procedure type
140
+ --"remark_procedure.remark_type.remark_enumeration_item" schema scope - procedure enumeration item
141
+ --"remark_procedure.remark_enumeration_item" schema scope - procedure enumeration item, on the same level as the type
142
+ --"remark_procedure.remark_constant" schema scope - procedure constant
143
+ --"remark_procedure.remark_variable" schema scope - procedure variable
144
+ --"remark_item" schema scope - schema remark item
144
145
 
145
146
  END_SCHEMA;
146
147
 
@@ -148,8 +149,8 @@ END_SCHEMA;
148
149
  --"remark_schema.remark_constant" universal scope - constant
149
150
  --"remark_schema.remark_type" universal scope - type
150
151
  --"remark_schema.remark_type.WR1" universal scope - type where
151
- --"remark_schema.remark_type.IP1" universal scope - type informal proposition
152
152
  --"remark_schema.remark_type.wr:WR1" universal scope - type where, with prefix
153
+ --"remark_schema.remark_type.IP1" universal scope - type informal proposition
153
154
  --"remark_schema.remark_type.ip:IP1" universal scope - type informal proposition, with prefix
154
155
  --"remark_schema.remark_type.remark_enumeration_item" universal scope - enumeration item
155
156
  --"remark_schema.remark_enumeration_item" universal scope - enumeration item, on the same level as the type
@@ -157,10 +158,10 @@ END_SCHEMA;
157
158
  --"remark_schema.remark_entity.remark_attribute" universal scope - entity attribute
158
159
  --"remark_schema.remark_entity.remark_derived_attribute" universal scope - entity derived attribute
159
160
  --"remark_schema.remark_entity.remark_inverse_attribute" universal scope - entity inverse attribute
160
- --"remark_schema.remark_entity.remark_unique" universal scope - entity unique
161
+ --"remark_schema.remark_entity.UR1" universal scope - entity unique
161
162
  --"remark_schema.remark_entity.WR1" universal scope - entity where
162
- --"remark_schema.remark_entity.IP1" universal scope - entity informal proposition
163
163
  --"remark_schema.remark_entity.wr:WR1" universal scope - entity where, with prefix
164
+ --"remark_schema.remark_entity.IP1" universal scope - entity informal proposition
164
165
  --"remark_schema.remark_entity.ip:IP1" universal scope - entity informal proposition, with prefix
165
166
  --"remark_schema.remark_subtype_constraint" universal scope - subtype constraint
166
167
  --"remark_schema.remark_function" universal scope - function
@@ -170,13 +171,6 @@ END_SCHEMA;
170
171
  --"remark_schema.remark_function.remark_enumeration_item" universal scope - function enumeration item, on the same level as the type
171
172
  --"remark_schema.remark_function.remark_constant" universal scope - function constant
172
173
  --"remark_schema.remark_function.remark_variable" universal scope - function variable
173
- --"remark_schema.remark_procedure" universal scope - procedure
174
- --"remark_schema.remark_procedure.remark_parameter" universal scope - procedure parameter
175
- --"remark_schema.remark_procedure.remark_type" universal scope - procedure type
176
- --"remark_schema.remark_procedure.remark_type.remark_enumeration_item" universal scope - procedure enumeration item
177
- --"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item, on the same level as the type
178
- --"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
179
- --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
180
174
  --"remark_schema.remark_rule" universal scope - rule
181
175
  --"remark_schema.remark_rule.remark_type" universal scope - rule type
182
176
  --"remark_schema.remark_rule.remark_type.remark_enumeration_item" universal scope - rule enumeration item
@@ -184,6 +178,14 @@ END_SCHEMA;
184
178
  --"remark_schema.remark_rule.remark_constant" universal scope - rule constant
185
179
  --"remark_schema.remark_rule.remark_variable" universal scope - rule variable
186
180
  --"remark_schema.remark_rule.WR1" universal scope - rule where
187
- --"remark_schema.remark_rule.IP1" universal scope - rule informal proposition
188
181
  --"remark_schema.remark_rule.wr:WR1" universal scope - rule where, with prefix
182
+ --"remark_schema.remark_rule.IP1" universal scope - rule informal proposition
189
183
  --"remark_schema.remark_rule.ip:IP1" universal scope - rule informal proposition, with prefix
184
+ --"remark_schema.remark_procedure" universal scope - procedure
185
+ --"remark_schema.remark_procedure.remark_parameter" universal scope - procedure parameter
186
+ --"remark_schema.remark_procedure.remark_type" universal scope - procedure type
187
+ --"remark_schema.remark_procedure.remark_type.remark_enumeration_item" universal scope - procedure enumeration item
188
+ --"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item, on the same level as the type
189
+ --"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
190
+ --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
191
+ --"remark_schema.remark_item" universal scope - schema remark item
@@ -0,0 +1,452 @@
1
+ ---
2
+ _class: Expressir::Model::Repository
3
+ schemas:
4
+ - _class: Expressir::Model::Schema
5
+ file: original/examples/syntax/remark.exp
6
+ id: remark_schema
7
+ remarks:
8
+ - |-
9
+ Any character within the EXPRESS character set may occur between the start and end of
10
+ an embedded remark including the newline character; therefore, embedded remarks can span
11
+ several physical lines.
12
+ - The tail remark is written at the end of a physical line.
13
+ - 'UTF8 test: Příliš žluťoučký kůň úpěl ďábelské ódy.'
14
+ - universal scope - schema before
15
+ - universal scope - schema
16
+ remark_items:
17
+ - _class: Expressir::Model::RemarkItem
18
+ id: remark_item
19
+ remarks:
20
+ - schema scope - schema remark item
21
+ - universal scope - schema remark item
22
+ constants:
23
+ - _class: Expressir::Model::Constant
24
+ id: remark_constant
25
+ remarks:
26
+ - schema scope - constant
27
+ - universal scope - constant
28
+ type:
29
+ _class: Expressir::Model::Types::String
30
+ expression:
31
+ _class: Expressir::Model::Literals::String
32
+ value: xxx
33
+ types:
34
+ - _class: Expressir::Model::Type
35
+ id: remark_type
36
+ remarks:
37
+ - schema scope - type
38
+ - universal scope - type
39
+ type:
40
+ _class: Expressir::Model::Types::Enumeration
41
+ items:
42
+ - _class: Expressir::Model::EnumerationItem
43
+ id: remark_enumeration_item
44
+ remarks:
45
+ - schema scope - enumeration item
46
+ - schema scope - enumeration item, on the same level as the type
47
+ - universal scope - enumeration item
48
+ - universal scope - enumeration item, on the same level as the type
49
+ where:
50
+ - _class: Expressir::Model::Where
51
+ id: WR1
52
+ remarks:
53
+ - type scope - type where
54
+ - type scope - type where, with prefix
55
+ - schema scope - type where
56
+ - schema scope - type where, with prefix
57
+ - universal scope - type where
58
+ - universal scope - type where, with prefix
59
+ expression:
60
+ _class: Expressir::Model::Literals::Logical
61
+ value: :TRUE
62
+ informal_propositions:
63
+ - _class: Expressir::Model::RemarkItem
64
+ id: IP1
65
+ remarks:
66
+ - type scope - type informal proposition
67
+ - type scope - type informal proposition, with prefix
68
+ - schema scope - type informal proposition
69
+ - schema scope - type informal proposition, with prefix
70
+ - universal scope - type informal proposition
71
+ - universal scope - type informal proposition, with prefix
72
+ entities:
73
+ - _class: Expressir::Model::Entity
74
+ id: remark_entity
75
+ remarks:
76
+ - schema scope - entity
77
+ - universal scope - entity
78
+ attributes:
79
+ - _class: Expressir::Model::Attribute
80
+ id: remark_attribute
81
+ remarks:
82
+ - entity scope - entity attribute
83
+ - schema scope - entity attribute
84
+ - universal scope - entity attribute
85
+ kind: :EXPLICIT
86
+ type:
87
+ _class: Expressir::Model::Types::String
88
+ - _class: Expressir::Model::Attribute
89
+ id: remark_derived_attribute
90
+ remarks:
91
+ - entity scope - entity derived attribute
92
+ - schema scope - entity derived attribute
93
+ - universal scope - entity derived attribute
94
+ kind: :DERIVED
95
+ type:
96
+ _class: Expressir::Model::Types::String
97
+ expression:
98
+ _class: Expressir::Model::Literals::String
99
+ value: xxx
100
+ - _class: Expressir::Model::Attribute
101
+ id: remark_inverse_attribute
102
+ remarks:
103
+ - entity scope - entity inverse attribute
104
+ - schema scope - entity inverse attribute
105
+ - universal scope - entity inverse attribute
106
+ kind: :INVERSE
107
+ type:
108
+ _class: Expressir::Model::Expressions::SimpleReference
109
+ id: remark_entity
110
+ expression:
111
+ _class: Expressir::Model::Expressions::SimpleReference
112
+ id: remark_attribute
113
+ unique:
114
+ - _class: Expressir::Model::Unique
115
+ id: UR1
116
+ remarks:
117
+ - entity scope - entity unique
118
+ - schema scope - entity unique
119
+ - universal scope - entity unique
120
+ attributes:
121
+ - _class: Expressir::Model::Expressions::SimpleReference
122
+ id: remark_attribute
123
+ where:
124
+ - _class: Expressir::Model::Where
125
+ id: WR1
126
+ remarks:
127
+ - entity scope - entity where
128
+ - entity scope - entity where, with prefix
129
+ - schema scope - entity where
130
+ - schema scope - entity where, with prefix
131
+ - universal scope - entity where
132
+ - universal scope - entity where, with prefix
133
+ expression:
134
+ _class: Expressir::Model::Literals::Logical
135
+ value: :TRUE
136
+ informal_propositions:
137
+ - _class: Expressir::Model::RemarkItem
138
+ id: IP1
139
+ remarks:
140
+ - entity scope - entity informal proposition
141
+ - entity scope - entity informal proposition, with prefix
142
+ - schema scope - entity informal proposition
143
+ - schema scope - entity informal proposition, with prefix
144
+ - universal scope - entity informal proposition
145
+ - universal scope - entity informal proposition, with prefix
146
+ subtype_constraints:
147
+ - _class: Expressir::Model::SubtypeConstraint
148
+ id: remark_subtype_constraint
149
+ remarks:
150
+ - schema scope - subtype constraint
151
+ - universal scope - subtype constraint
152
+ applies_to:
153
+ _class: Expressir::Model::Expressions::SimpleReference
154
+ id: remark_entity
155
+ functions:
156
+ - _class: Expressir::Model::Function
157
+ id: remark_function
158
+ remarks:
159
+ - schema scope - function
160
+ - universal scope - function
161
+ parameters:
162
+ - _class: Expressir::Model::Parameter
163
+ id: remark_parameter
164
+ remarks:
165
+ - function scope - function parameter
166
+ - schema scope - function parameter
167
+ - universal scope - function parameter
168
+ type:
169
+ _class: Expressir::Model::Types::String
170
+ return_type:
171
+ _class: Expressir::Model::Types::Boolean
172
+ types:
173
+ - _class: Expressir::Model::Type
174
+ id: remark_type
175
+ remarks:
176
+ - function scope - function type
177
+ - schema scope - function type
178
+ - universal scope - function type
179
+ type:
180
+ _class: Expressir::Model::Types::Enumeration
181
+ items:
182
+ - _class: Expressir::Model::EnumerationItem
183
+ id: remark_enumeration_item
184
+ remarks:
185
+ - function scope - function enumeration item
186
+ - function scope - function enumeration item, on the same level as the type
187
+ - schema scope - function enumeration item
188
+ - schema scope - function enumeration item, on the same level as the type
189
+ - universal scope - function enumeration item
190
+ - universal scope - function enumeration item, on the same level as the
191
+ type
192
+ constants:
193
+ - _class: Expressir::Model::Constant
194
+ id: remark_constant
195
+ remarks:
196
+ - function scope - function constant
197
+ - schema scope - function constant
198
+ - universal scope - function constant
199
+ type:
200
+ _class: Expressir::Model::Types::String
201
+ expression:
202
+ _class: Expressir::Model::Literals::String
203
+ value: xxx
204
+ variables:
205
+ - _class: Expressir::Model::Variable
206
+ id: remark_variable
207
+ remarks:
208
+ - function scope - function variable
209
+ - schema scope - function variable
210
+ - universal scope - function variable
211
+ type:
212
+ _class: Expressir::Model::Types::String
213
+ statements:
214
+ - _class: Expressir::Model::Statements::Alias
215
+ id: remark_alias
216
+ remarks:
217
+ - function alias scope - function alias
218
+ expression:
219
+ _class: Expressir::Model::Expressions::SimpleReference
220
+ id: remark_variable
221
+ statements:
222
+ - _class: Expressir::Model::Statements::Null
223
+ - _class: Expressir::Model::Statements::Repeat
224
+ id: remark_repeat
225
+ remarks:
226
+ - function repeat scope - function repeat
227
+ bound1:
228
+ _class: Expressir::Model::Literals::Integer
229
+ value: '1'
230
+ bound2:
231
+ _class: Expressir::Model::Literals::Integer
232
+ value: '9'
233
+ statements:
234
+ - _class: Expressir::Model::Statements::Null
235
+ - _class: Expressir::Model::Statements::Assignment
236
+ ref:
237
+ _class: Expressir::Model::Expressions::SimpleReference
238
+ id: remark_variable
239
+ expression:
240
+ _class: Expressir::Model::Expressions::QueryExpression
241
+ id: remark_query
242
+ remarks:
243
+ - function query scope - function query
244
+ aggregate_source:
245
+ _class: Expressir::Model::Expressions::SimpleReference
246
+ id: remark_variable
247
+ expression:
248
+ _class: Expressir::Model::Literals::Logical
249
+ value: :TRUE
250
+ rules:
251
+ - _class: Expressir::Model::Rule
252
+ id: remark_rule
253
+ remarks:
254
+ - schema scope - rule
255
+ - universal scope - rule
256
+ applies_to:
257
+ - _class: Expressir::Model::Expressions::SimpleReference
258
+ id: remark_entity
259
+ types:
260
+ - _class: Expressir::Model::Type
261
+ id: remark_type
262
+ remarks:
263
+ - rule scope - rule type
264
+ - schema scope - rule type
265
+ - universal scope - rule type
266
+ type:
267
+ _class: Expressir::Model::Types::Enumeration
268
+ items:
269
+ - _class: Expressir::Model::EnumerationItem
270
+ id: remark_enumeration_item
271
+ remarks:
272
+ - rule scope - rule enumeration item
273
+ - rule scope - rule enumeration item, on the same level as the type
274
+ - schema scope - rule enumeration item
275
+ - schema scope - rule enumeration item, on the same level as the type
276
+ - universal scope - rule enumeration item
277
+ - universal scope - rule enumeration item, on the same level as the type
278
+ constants:
279
+ - _class: Expressir::Model::Constant
280
+ id: remark_constant
281
+ remarks:
282
+ - rule scope - rule constant
283
+ - schema scope - rule constant
284
+ - universal scope - rule constant
285
+ type:
286
+ _class: Expressir::Model::Types::String
287
+ expression:
288
+ _class: Expressir::Model::Literals::String
289
+ value: xxx
290
+ variables:
291
+ - _class: Expressir::Model::Variable
292
+ id: remark_variable
293
+ remarks:
294
+ - rule scope - rule variable
295
+ - schema scope - rule variable
296
+ - universal scope - rule variable
297
+ type:
298
+ _class: Expressir::Model::Types::String
299
+ statements:
300
+ - _class: Expressir::Model::Statements::Alias
301
+ id: remark_alias
302
+ remarks:
303
+ - rule alias scope - rule alias
304
+ expression:
305
+ _class: Expressir::Model::Expressions::SimpleReference
306
+ id: remark_variable
307
+ statements:
308
+ - _class: Expressir::Model::Statements::Null
309
+ - _class: Expressir::Model::Statements::Repeat
310
+ id: remark_repeat
311
+ remarks:
312
+ - rule repeat scope - rule repeat
313
+ bound1:
314
+ _class: Expressir::Model::Literals::Integer
315
+ value: '1'
316
+ bound2:
317
+ _class: Expressir::Model::Literals::Integer
318
+ value: '9'
319
+ statements:
320
+ - _class: Expressir::Model::Statements::Null
321
+ - _class: Expressir::Model::Statements::Assignment
322
+ ref:
323
+ _class: Expressir::Model::Expressions::SimpleReference
324
+ id: remark_variable
325
+ expression:
326
+ _class: Expressir::Model::Expressions::QueryExpression
327
+ id: remark_query
328
+ remarks:
329
+ - rule query scope - rule query
330
+ aggregate_source:
331
+ _class: Expressir::Model::Expressions::SimpleReference
332
+ id: remark_variable
333
+ expression:
334
+ _class: Expressir::Model::Literals::Logical
335
+ value: :TRUE
336
+ where:
337
+ - _class: Expressir::Model::Where
338
+ id: WR1
339
+ remarks:
340
+ - rule scope - rule where
341
+ - rule scope - rule where, with prefix
342
+ - schema scope - rule where
343
+ - schema scope - rule where, with prefix
344
+ - universal scope - rule where
345
+ - universal scope - rule where, with prefix
346
+ expression:
347
+ _class: Expressir::Model::Literals::Logical
348
+ value: :TRUE
349
+ informal_propositions:
350
+ - _class: Expressir::Model::RemarkItem
351
+ id: IP1
352
+ remarks:
353
+ - rule scope - rule informal proposition
354
+ - rule scope - rule informal proposition, with prefix
355
+ - schema scope - rule informal proposition
356
+ - schema scope - rule informal proposition, with prefix
357
+ - universal scope - rule informal proposition
358
+ - universal scope - rule informal proposition, with prefix
359
+ procedures:
360
+ - _class: Expressir::Model::Procedure
361
+ id: remark_procedure
362
+ remarks:
363
+ - schema scope - procedure
364
+ - universal scope - procedure
365
+ parameters:
366
+ - _class: Expressir::Model::Parameter
367
+ id: remark_parameter
368
+ remarks:
369
+ - procedure scope - procedure parameter
370
+ - schema scope - procedure parameter
371
+ - universal scope - procedure parameter
372
+ type:
373
+ _class: Expressir::Model::Types::String
374
+ types:
375
+ - _class: Expressir::Model::Type
376
+ id: remark_type
377
+ remarks:
378
+ - procedure scope - procedure type
379
+ - schema scope - procedure type
380
+ - universal scope - procedure type
381
+ type:
382
+ _class: Expressir::Model::Types::Enumeration
383
+ items:
384
+ - _class: Expressir::Model::EnumerationItem
385
+ id: remark_enumeration_item
386
+ remarks:
387
+ - procedure scope - procedure enumeration item
388
+ - procedure scope - procedure enumeration item, on the same level as the
389
+ type
390
+ - schema scope - procedure enumeration item
391
+ - schema scope - procedure enumeration item, on the same level as the type
392
+ - universal scope - procedure enumeration item
393
+ - universal scope - procedure enumeration item, on the same level as the
394
+ type
395
+ constants:
396
+ - _class: Expressir::Model::Constant
397
+ id: remark_constant
398
+ remarks:
399
+ - procedure scope - procedure constant
400
+ - schema scope - procedure constant
401
+ - universal scope - procedure constant
402
+ type:
403
+ _class: Expressir::Model::Types::String
404
+ expression:
405
+ _class: Expressir::Model::Literals::String
406
+ value: xxx
407
+ variables:
408
+ - _class: Expressir::Model::Variable
409
+ id: remark_variable
410
+ remarks:
411
+ - procedure scope - procedure variable
412
+ - schema scope - procedure variable
413
+ - universal scope - procedure variable
414
+ type:
415
+ _class: Expressir::Model::Types::String
416
+ statements:
417
+ - _class: Expressir::Model::Statements::Alias
418
+ id: remark_alias
419
+ remarks:
420
+ - procedure alias scope - procedure alias
421
+ expression:
422
+ _class: Expressir::Model::Expressions::SimpleReference
423
+ id: remark_variable
424
+ statements:
425
+ - _class: Expressir::Model::Statements::Null
426
+ - _class: Expressir::Model::Statements::Repeat
427
+ id: remark_repeat
428
+ remarks:
429
+ - procedure repeat scope - procedure repeat
430
+ bound1:
431
+ _class: Expressir::Model::Literals::Integer
432
+ value: '1'
433
+ bound2:
434
+ _class: Expressir::Model::Literals::Integer
435
+ value: '9'
436
+ statements:
437
+ - _class: Expressir::Model::Statements::Null
438
+ - _class: Expressir::Model::Statements::Assignment
439
+ ref:
440
+ _class: Expressir::Model::Expressions::SimpleReference
441
+ id: remark_variable
442
+ expression:
443
+ _class: Expressir::Model::Expressions::QueryExpression
444
+ id: remark_query
445
+ remarks:
446
+ - procedure query scope - procedure query
447
+ aggregate_source:
448
+ _class: Expressir::Model::Expressions::SimpleReference
449
+ id: remark_variable
450
+ expression:
451
+ _class: Expressir::Model::Literals::Logical
452
+ value: :TRUE