expressir 0.2.12-x86-linux → 0.2.17-x86-linux

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