expressir 0.2.13-x86-linux → 0.2.18-x86-linux

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