expressir 0.2.0 → 0.2.5

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 (459) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +46 -0
  3. data/.github/workflows/release.yml +75 -0
  4. data/.gitignore +2 -2
  5. data/.gitmodules +3 -0
  6. data/Gemfile +2 -0
  7. data/Rakefile +11 -0
  8. data/demo.rb +3 -1
  9. data/exe/generate-parser +48 -0
  10. data/expressir.gemspec +8 -4
  11. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +118 -0
  12. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj +637 -0
  13. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj.filters +984 -0
  14. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj +652 -0
  15. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj.filters +990 -0
  16. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj +652 -0
  17. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj.filters +990 -0
  18. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +652 -0
  19. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +990 -0
  20. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/Info.plist +26 -0
  21. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/antlrcpp_ios.h +17 -0
  22. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +3024 -0
  23. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  24. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  25. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +76 -0
  26. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +80 -0
  27. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +80 -0
  28. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +10 -0
  29. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +167 -0
  30. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +10 -0
  31. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +121 -0
  32. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +34 -0
  33. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +27 -0
  34. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +155 -0
  35. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +69 -0
  36. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +61 -0
  37. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +59 -0
  38. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +25 -0
  39. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +36 -0
  40. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +414 -0
  41. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +200 -0
  42. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +11 -0
  43. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +37 -0
  44. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +195 -0
  45. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +158 -0
  46. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +39 -0
  47. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +74 -0
  48. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +78 -0
  49. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +79 -0
  50. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +15 -0
  51. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +35 -0
  52. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +333 -0
  53. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +466 -0
  54. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +84 -0
  55. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +80 -0
  56. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +64 -0
  57. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +99 -0
  58. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +51 -0
  59. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +32 -0
  60. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +18 -0
  61. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +24 -0
  62. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +12 -0
  63. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +218 -0
  64. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +19 -0
  65. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +45 -0
  66. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +295 -0
  67. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +196 -0
  68. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +75 -0
  69. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +52 -0
  70. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +36 -0
  71. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +31 -0
  72. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +92 -0
  73. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +88 -0
  74. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +46 -0
  75. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +42 -0
  76. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +648 -0
  77. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +467 -0
  78. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +306 -0
  79. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +179 -0
  80. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +141 -0
  81. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +147 -0
  82. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +53 -0
  83. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +38 -0
  84. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +66 -0
  85. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +98 -0
  86. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +167 -0
  87. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +164 -0
  88. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +143 -0
  89. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +137 -0
  90. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +27 -0
  91. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +32 -0
  92. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +53 -0
  93. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +155 -0
  94. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +9 -0
  95. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +92 -0
  96. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +30 -0
  97. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +9 -0
  98. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +85 -0
  99. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +11 -0
  100. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +137 -0
  101. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +425 -0
  102. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +293 -0
  103. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +211 -0
  104. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +123 -0
  105. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +270 -0
  106. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +115 -0
  107. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +104 -0
  108. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +193 -0
  109. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +9 -0
  110. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +23 -0
  111. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +137 -0
  112. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +167 -0
  113. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +209 -0
  114. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +112 -0
  115. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +113 -0
  116. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +148 -0
  117. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +228 -0
  118. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +110 -0
  119. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +64 -0
  120. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +50 -0
  121. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +758 -0
  122. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +85 -0
  123. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +621 -0
  124. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.h +61 -0
  125. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +63 -0
  126. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +87 -0
  127. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +72 -0
  128. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +133 -0
  129. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +20 -0
  130. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.cpp +14 -0
  131. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.h +24 -0
  132. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +33 -0
  133. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +33 -0
  134. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +16 -0
  135. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +68 -0
  136. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +82 -0
  137. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +43 -0
  138. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +31 -0
  139. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +30 -0
  140. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.cpp +12 -0
  141. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +22 -0
  142. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.cpp +12 -0
  143. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +21 -0
  144. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.cpp +15 -0
  145. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +24 -0
  146. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.cpp +9 -0
  147. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +21 -0
  148. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +14 -0
  149. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +47 -0
  150. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +14 -0
  151. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +70 -0
  152. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +25 -0
  153. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +227 -0
  154. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +17 -0
  155. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +30 -0
  156. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.cpp +35 -0
  157. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.h +27 -0
  158. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +35 -0
  159. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +39 -0
  160. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +15 -0
  161. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +43 -0
  162. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +158 -0
  163. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +109 -0
  164. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +84 -0
  165. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +44 -0
  166. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +628 -0
  167. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +210 -0
  168. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +9 -0
  169. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +66 -0
  170. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +107 -0
  171. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +115 -0
  172. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +55 -0
  173. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +55 -0
  174. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +63 -0
  175. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +62 -0
  176. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +87 -0
  177. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +63 -0
  178. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +82 -0
  179. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +56 -0
  180. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +61 -0
  181. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +47 -0
  182. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +57 -0
  183. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +47 -0
  184. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +57 -0
  185. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +56 -0
  186. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +61 -0
  187. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +47 -0
  188. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +55 -0
  189. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +56 -0
  190. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +55 -0
  191. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +16 -0
  192. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +42 -0
  193. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.cpp +12 -0
  194. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +22 -0
  195. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Makefile +67 -0
  196. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +27 -0
  197. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +25 -0
  198. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +12 -0
  199. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +20 -0
  200. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +102 -0
  201. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +102 -0
  202. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +1366 -0
  203. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +904 -0
  204. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.cpp +12 -0
  205. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +25 -0
  206. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.cpp +12 -0
  207. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +22 -0
  208. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +32 -0
  209. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +29 -0
  210. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +17 -0
  211. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +62 -0
  212. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +34 -0
  213. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +39 -0
  214. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +662 -0
  215. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +254 -0
  216. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +201 -0
  217. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +436 -0
  218. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +179 -0
  219. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +60 -0
  220. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +30 -0
  221. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +29 -0
  222. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.cpp +16 -0
  223. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +25 -0
  224. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.cpp +12 -0
  225. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +25 -0
  226. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +37 -0
  227. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +40 -0
  228. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +377 -0
  229. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +222 -0
  230. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +32 -0
  231. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +30 -0
  232. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +81 -0
  233. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +36 -0
  234. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.cpp +12 -0
  235. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +21 -0
  236. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.cpp +15 -0
  237. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +35 -0
  238. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +19 -0
  239. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +21 -0
  240. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.cpp +12 -0
  241. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +21 -0
  242. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +44 -0
  243. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +76 -0
  244. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +25 -0
  245. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +25 -0
  246. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +127 -0
  247. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +91 -0
  248. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +67 -0
  249. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +32 -0
  250. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +100 -0
  251. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +144 -0
  252. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +20 -0
  253. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +23 -0
  254. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +124 -0
  255. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +31 -0
  256. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +89 -0
  257. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +84 -0
  258. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +521 -0
  259. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +198 -0
  260. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +134 -0
  261. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +76 -0
  262. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +4 -0
  263. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +21 -0
  264. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +13 -0
  265. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +170 -0
  266. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +43 -0
  267. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +110 -0
  268. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +76 -0
  269. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +248 -0
  270. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +78 -0
  271. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +163 -0
  272. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +36 -0
  273. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +54 -0
  274. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.cpp +303 -0
  275. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.h +112 -0
  276. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +128 -0
  277. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.cpp +9 -0
  278. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +19 -0
  279. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +23 -0
  280. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +33 -0
  281. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +71 -0
  282. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +53 -0
  283. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +15 -0
  284. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +102 -0
  285. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +9 -0
  286. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +39 -0
  287. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +50 -0
  288. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +9 -0
  289. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +57 -0
  290. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +49 -0
  291. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +31 -0
  292. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.cpp +9 -0
  293. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +32 -0
  294. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +57 -0
  295. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +33 -0
  296. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +241 -0
  297. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +78 -0
  298. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +9 -0
  299. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +44 -0
  300. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +69 -0
  301. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +132 -0
  302. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +64 -0
  303. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +105 -0
  304. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +371 -0
  305. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +185 -0
  306. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +77 -0
  307. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +117 -0
  308. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +39 -0
  309. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +86 -0
  310. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +28 -0
  311. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +51 -0
  312. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +36 -0
  313. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +80 -0
  314. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +154 -0
  315. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +86 -0
  316. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +31 -0
  317. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +40 -0
  318. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +173 -0
  319. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.g4 +64 -0
  320. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +56 -0
  321. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.tokens +12 -0
  322. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +13 -0
  323. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +22 -0
  324. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +20 -0
  325. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +27 -0
  326. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +30 -0
  327. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +26 -0
  328. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +20 -0
  329. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +25 -0
  330. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +33 -0
  331. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +26 -0
  332. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +23 -0
  333. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +23 -0
  334. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +24 -0
  335. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +23 -0
  336. data/ext/express-parser/antlrgen/Express.interp +532 -0
  337. data/ext/express-parser/antlrgen/Express.tokens +190 -0
  338. data/ext/express-parser/antlrgen/ExpressBaseListener.cpp +7 -0
  339. data/ext/express-parser/antlrgen/ExpressBaseListener.h +623 -0
  340. data/ext/express-parser/antlrgen/ExpressBaseVisitor.cpp +7 -0
  341. data/ext/express-parser/antlrgen/ExpressBaseVisitor.h +816 -0
  342. data/ext/express-parser/antlrgen/ExpressLexer.cpp +1169 -0
  343. data/ext/express-parser/antlrgen/ExpressLexer.h +85 -0
  344. data/ext/express-parser/antlrgen/ExpressLexer.interp +534 -0
  345. data/ext/express-parser/antlrgen/ExpressLexer.tokens +190 -0
  346. data/ext/express-parser/antlrgen/ExpressListener.cpp +7 -0
  347. data/ext/express-parser/antlrgen/ExpressListener.h +616 -0
  348. data/ext/express-parser/antlrgen/ExpressParser.cpp +17284 -0
  349. data/ext/express-parser/antlrgen/ExpressParser.h +3696 -0
  350. data/ext/express-parser/antlrgen/ExpressVisitor.cpp +7 -0
  351. data/ext/express-parser/antlrgen/ExpressVisitor.h +422 -0
  352. data/ext/express-parser/express_parser.cpp +17931 -0
  353. data/ext/express-parser/extconf.rb +34 -0
  354. data/lib/expressir/express.rb +0 -1
  355. data/lib/expressir/express_exp/formatter.rb +1450 -0
  356. data/lib/expressir/express_exp/parser.rb +20 -9
  357. data/lib/expressir/express_exp/visitor.rb +1601 -1253
  358. data/lib/expressir/model.rb +65 -0
  359. data/lib/expressir/model/attribute.rb +27 -0
  360. data/lib/expressir/model/constant.rb +3 -1
  361. data/lib/expressir/model/entity.rb +30 -13
  362. data/lib/expressir/model/{ref.rb → enumeration_item.rb} +2 -2
  363. data/lib/expressir/model/expressions/aggregate_initializer.rb +13 -0
  364. data/lib/expressir/model/expressions/aggregate_item.rb +15 -0
  365. data/lib/expressir/model/expressions/{attribute_qualifier.rb → attribute_reference.rb} +3 -1
  366. data/lib/expressir/model/expressions/binary_expression.rb +40 -0
  367. data/lib/expressir/model/expressions/{function_call.rb → call.rb} +3 -3
  368. data/lib/expressir/model/expressions/entity_constructor.rb +11 -11
  369. data/lib/expressir/model/expressions/{group_qualifier.rb → group_reference.rb} +3 -1
  370. data/lib/expressir/model/expressions/{index_qualifier.rb → index_reference.rb} +3 -1
  371. data/lib/expressir/model/expressions/interval.rb +17 -17
  372. data/lib/expressir/model/expressions/query_expression.rb +26 -0
  373. data/lib/expressir/model/expressions/simple_reference.rb +13 -0
  374. data/lib/expressir/model/expressions/{expression.rb → unary_expression.rb} +7 -3
  375. data/lib/expressir/model/function.rb +42 -3
  376. data/lib/expressir/model/identifier.rb +9 -0
  377. data/lib/expressir/model/{reference.rb → interface.rb} +6 -1
  378. data/lib/expressir/model/literals/binary.rb +13 -0
  379. data/lib/expressir/model/literals/integer.rb +13 -0
  380. data/lib/expressir/model/literals/logical.rb +17 -0
  381. data/lib/expressir/model/literals/real.rb +13 -0
  382. data/lib/expressir/model/literals/string.rb +15 -0
  383. data/lib/expressir/model/parameter.rb +5 -3
  384. data/lib/expressir/model/procedure.rb +42 -3
  385. data/lib/expressir/model/repository.rb +8 -0
  386. data/lib/expressir/model/rule.rb +44 -5
  387. data/lib/expressir/model/schema.rb +29 -3
  388. data/lib/expressir/model/scope.rb +17 -0
  389. data/lib/expressir/model/statements/alias.rb +10 -1
  390. data/lib/expressir/model/statements/{procedure_call.rb → call.rb} +3 -3
  391. data/lib/expressir/model/statements/case.rb +2 -2
  392. data/lib/expressir/model/statements/case_action.rb +2 -2
  393. data/lib/expressir/model/statements/if.rb +2 -2
  394. data/lib/expressir/model/statements/repeat.rb +11 -2
  395. data/lib/expressir/model/subtype_constraint.rb +13 -5
  396. data/lib/expressir/model/type.rb +10 -1
  397. data/lib/expressir/model/types/aggregate.rb +4 -2
  398. data/lib/expressir/model/types/enumeration.rb +4 -4
  399. data/lib/expressir/model/types/generic.rb +2 -2
  400. data/lib/expressir/model/types/generic_entity.rb +2 -2
  401. data/lib/expressir/model/types/select.rb +4 -4
  402. data/lib/expressir/model/unique.rb +3 -1
  403. data/lib/expressir/model/{derived.rb → variable.rb} +4 -2
  404. data/lib/expressir/model/where.rb +3 -1
  405. data/lib/expressir/version.rb +1 -1
  406. data/original/examples/syntax/remark.exp +145 -0
  407. data/original/examples/syntax/remark_formatted.exp +174 -0
  408. data/original/examples/syntax/syntax.exp +287 -272
  409. data/original/examples/syntax/syntax_formatted.exp +1187 -0
  410. data/spec/expressir/express_exp/ap233_spec.rb +1 -1
  411. data/spec/expressir/express_exp/format_remark_spec.rb +28 -0
  412. data/spec/expressir/express_exp/format_syntax_spec.rb +28 -0
  413. data/spec/expressir/express_exp/parse_remark_spec.rb +345 -0
  414. data/spec/expressir/express_exp/parse_syntax_spec.rb +2998 -0
  415. data/spec/expressir/model/find_spec.rb +110 -0
  416. metadata +407 -65
  417. data/.github/workflows/macos.yml +0 -38
  418. data/.github/workflows/ubuntu.yml +0 -56
  419. data/.github/workflows/windows.yml +0 -40
  420. data/generate-parser.sh +0 -29
  421. data/lib/expressir/express_exp/generated/ExpressBaseVisitor.rb +0 -779
  422. data/lib/expressir/express_exp/generated/ExpressLexer.rb +0 -841
  423. data/lib/expressir/express_exp/generated/ExpressParser.rb +0 -12136
  424. data/lib/expressir/express_exp/generated/ExpressVisitor.rb +0 -394
  425. data/lib/expressir/model/explicit.rb +0 -15
  426. data/lib/expressir/model/expressions/aggregate_element.rb +0 -15
  427. data/lib/expressir/model/expressions/qualified_ref.rb +0 -15
  428. data/lib/expressir/model/expressions/query.rb +0 -17
  429. data/lib/expressir/model/expressions/unknown.rb +0 -8
  430. data/lib/expressir/model/inverse.rb +0 -15
  431. data/lib/expressir/model/local.rb +0 -15
  432. data/lib/expressir/model/operators/addition.rb +0 -8
  433. data/lib/expressir/model/operators/and.rb +0 -8
  434. data/lib/expressir/model/operators/andor.rb +0 -8
  435. data/lib/expressir/model/operators/combine.rb +0 -8
  436. data/lib/expressir/model/operators/equal.rb +0 -8
  437. data/lib/expressir/model/operators/exponentiation.rb +0 -8
  438. data/lib/expressir/model/operators/greater_than.rb +0 -8
  439. data/lib/expressir/model/operators/greater_than_or_equal.rb +0 -8
  440. data/lib/expressir/model/operators/in.rb +0 -8
  441. data/lib/expressir/model/operators/instance_equal.rb +0 -8
  442. data/lib/expressir/model/operators/instance_not_equal.rb +0 -8
  443. data/lib/expressir/model/operators/integer_division.rb +0 -8
  444. data/lib/expressir/model/operators/less_than.rb +0 -8
  445. data/lib/expressir/model/operators/less_than_or_equal.rb +0 -8
  446. data/lib/expressir/model/operators/like.rb +0 -8
  447. data/lib/expressir/model/operators/modulo.rb +0 -8
  448. data/lib/expressir/model/operators/multiplication.rb +0 -8
  449. data/lib/expressir/model/operators/not.rb +0 -8
  450. data/lib/expressir/model/operators/not_equal.rb +0 -8
  451. data/lib/expressir/model/operators/oneof.rb +0 -8
  452. data/lib/expressir/model/operators/or.rb +0 -8
  453. data/lib/expressir/model/operators/real_division.rb +0 -8
  454. data/lib/expressir/model/operators/subtraction.rb +0 -8
  455. data/lib/expressir/model/operators/unary_minus.rb +0 -8
  456. data/lib/expressir/model/operators/unary_plus.rb +0 -8
  457. data/lib/expressir/model/operators/xor.rb +0 -8
  458. data/lib/expressir/model/use.rb +0 -13
  459. data/spec/expressir/express_exp/syntax_spec.rb +0 -2640
@@ -1,12 +1,12 @@
1
1
  module Expressir
2
2
  module Model
3
3
  module Statements
4
- class ProcedureCall
5
- attr_accessor :procedure
4
+ class Call
5
+ attr_accessor :ref
6
6
  attr_accessor :parameters
7
7
 
8
8
  def initialize(options = {})
9
- @procedure = options[:procedure]
9
+ @ref = options[:ref]
10
10
  @parameters = options[:parameters]
11
11
  end
12
12
  end
@@ -2,12 +2,12 @@ module Expressir
2
2
  module Model
3
3
  module Statements
4
4
  class Case
5
- attr_accessor :selector
5
+ attr_accessor :expression
6
6
  attr_accessor :actions
7
7
  attr_accessor :otherwise_statement
8
8
 
9
9
  def initialize(options = {})
10
- @selector = options[:selector]
10
+ @expression = options[:expression]
11
11
  @actions = options[:actions]
12
12
  @otherwise_statement = options[:otherwise_statement]
13
13
  end
@@ -2,11 +2,11 @@ module Expressir
2
2
  module Model
3
3
  module Statements
4
4
  class CaseAction
5
- attr_accessor :label
5
+ attr_accessor :labels
6
6
  attr_accessor :statement
7
7
 
8
8
  def initialize(options = {})
9
- @label = options[:label]
9
+ @labels = options[:labels]
10
10
  @statement = options[:statement]
11
11
  end
12
12
  end
@@ -2,12 +2,12 @@ module Expressir
2
2
  module Model
3
3
  module Statements
4
4
  class If
5
- attr_accessor :condition
5
+ attr_accessor :expression
6
6
  attr_accessor :statements
7
7
  attr_accessor :else_statements
8
8
 
9
9
  def initialize(options = {})
10
- @condition = options[:condition]
10
+ @expression = options[:expression]
11
11
  @statements = options[:statements]
12
12
  @else_statements = options[:else_statements]
13
13
  end
@@ -2,7 +2,9 @@ module Expressir
2
2
  module Model
3
3
  module Statements
4
4
  class Repeat
5
- attr_accessor :variable
5
+ include Scope
6
+ include Identifier
7
+
6
8
  attr_accessor :bound1
7
9
  attr_accessor :bound2
8
10
  attr_accessor :increment
@@ -11,7 +13,8 @@ module Expressir
11
13
  attr_accessor :statements
12
14
 
13
15
  def initialize(options = {})
14
- @variable = options[:variable]
16
+ @id = options[:id]
17
+
15
18
  @bound1 = options[:bound1]
16
19
  @bound2 = options[:bound2]
17
20
  @increment = options[:increment]
@@ -19,6 +22,12 @@ module Expressir
19
22
  @until_expression = options[:until_expression]
20
23
  @statements = options[:statements]
21
24
  end
25
+
26
+ def children
27
+ items = []
28
+ items.push(self)
29
+ items
30
+ end
22
31
  end
23
32
  end
24
33
  end
@@ -1,18 +1,26 @@
1
1
  module Expressir
2
2
  module Model
3
3
  class SubtypeConstraint
4
- attr_accessor :id
4
+ include Scope
5
+ include Identifier
6
+
5
7
  attr_accessor :applies_to
6
- attr_accessor :abstract_supertype
8
+ attr_accessor :abstract
7
9
  attr_accessor :total_over
8
- attr_accessor :subtype_expression
10
+ attr_accessor :supertype_expression
9
11
 
10
12
  def initialize(options = {})
11
13
  @id = options[:id]
14
+
12
15
  @applies_to = options[:applies_to]
13
- @abstract_supertype = options[:abstract_supertype]
16
+ @abstract = options[:abstract]
14
17
  @total_over = options[:total_over]
15
- @subtype_expression = options[:subtype_expression]
18
+ @supertype_expression = options[:supertype_expression]
19
+ end
20
+
21
+ def children
22
+ items = []
23
+ items
16
24
  end
17
25
  end
18
26
  end
@@ -1,15 +1,24 @@
1
1
  module Expressir
2
2
  module Model
3
3
  class Type
4
- attr_accessor :id
4
+ include Scope
5
+ include Identifier
6
+
5
7
  attr_accessor :type
6
8
  attr_accessor :where
7
9
 
8
10
  def initialize(options = {})
9
11
  @id = options[:id]
12
+
10
13
  @type = options[:type]
11
14
  @where = options[:where]
12
15
  end
16
+
17
+ def children
18
+ items = []
19
+ items.push(*@where) if @where
20
+ items
21
+ end
13
22
  end
14
23
  end
15
24
  end
@@ -2,11 +2,13 @@ module Expressir
2
2
  module Model
3
3
  module Types
4
4
  class Aggregate
5
- attr_accessor :label
5
+ include Identifier
6
+
6
7
  attr_accessor :base_type
7
8
 
8
9
  def initialize(options = {})
9
- @label = options[:label]
10
+ @id = options[:id]
11
+
10
12
  @base_type = options[:base_type]
11
13
  end
12
14
  end
@@ -3,15 +3,15 @@ module Expressir
3
3
  module Types
4
4
  class Enumeration
5
5
  attr_accessor :extensible
6
- attr_accessor :list
6
+ attr_accessor :items
7
7
  attr_accessor :extension_type
8
- attr_accessor :extension_list
8
+ attr_accessor :extension_items
9
9
 
10
10
  def initialize(options = {})
11
11
  @extensible = options[:extensible]
12
- @list = options[:list]
12
+ @items = options[:items]
13
13
  @extension_type = options[:extension_type]
14
- @extension_list = options[:extension_list]
14
+ @extension_items = options[:extension_items]
15
15
  end
16
16
  end
17
17
  end
@@ -2,10 +2,10 @@ module Expressir
2
2
  module Model
3
3
  module Types
4
4
  class Generic
5
- attr_accessor :label
5
+ include Identifier
6
6
 
7
7
  def initialize(options = {})
8
- @label = options[:label]
8
+ @id = options[:id]
9
9
  end
10
10
  end
11
11
  end
@@ -2,10 +2,10 @@ module Expressir
2
2
  module Model
3
3
  module Types
4
4
  class GenericEntity
5
- attr_accessor :label
5
+ include Identifier
6
6
 
7
7
  def initialize(options = {})
8
- @label = options[:label]
8
+ @id = options[:id]
9
9
  end
10
10
  end
11
11
  end
@@ -4,16 +4,16 @@ module Expressir
4
4
  class Select
5
5
  attr_accessor :extensible
6
6
  attr_accessor :generic_entity
7
- attr_accessor :list
7
+ attr_accessor :items
8
8
  attr_accessor :extension_type
9
- attr_accessor :extension_list
9
+ attr_accessor :extension_items
10
10
 
11
11
  def initialize(options = {})
12
12
  @extensible = options[:extensible]
13
13
  @generic_entity = options[:generic_entity]
14
- @list = options[:list]
14
+ @items = options[:items]
15
15
  @extension_type = options[:extension_type]
16
- @extension_list = options[:extension_list]
16
+ @extension_items = options[:extension_items]
17
17
  end
18
18
  end
19
19
  end
@@ -1,11 +1,13 @@
1
1
  module Expressir
2
2
  module Model
3
3
  class Unique
4
- attr_accessor :id
4
+ include Identifier
5
+
5
6
  attr_accessor :attributes
6
7
 
7
8
  def initialize(options = {})
8
9
  @id = options[:id]
10
+
9
11
  @attributes = options[:attributes]
10
12
  end
11
13
  end
@@ -1,12 +1,14 @@
1
1
  module Expressir
2
2
  module Model
3
- class Derived
4
- attr_accessor :id
3
+ class Variable
4
+ include Identifier
5
+
5
6
  attr_accessor :type
6
7
  attr_accessor :expression
7
8
 
8
9
  def initialize(options = {})
9
10
  @id = options[:id]
11
+
10
12
  @type = options[:type]
11
13
  @expression = options[:expression]
12
14
  end
@@ -1,11 +1,13 @@
1
1
  module Expressir
2
2
  module Model
3
3
  class Where
4
- attr_accessor :id
4
+ include Identifier
5
+
5
6
  attr_accessor :expression
6
7
 
7
8
  def initialize(options = {})
8
9
  @id = options[:id]
10
+
9
11
  @expression = options[:expression]
10
12
  end
11
13
  end
@@ -1,3 +1,3 @@
1
1
  module Expressir
2
- VERSION = "0.2.0".freeze
2
+ VERSION = "0.2.5".freeze
3
3
  end
@@ -0,0 +1,145 @@
1
+ (*"remark_schema"
2
+ Any character within the EXPRESS character set may occur between the start and end of
3
+ an embedded remark including the newline character; therefore, embedded remarks can span
4
+ several physical lines.
5
+ *)
6
+ --"remark_schema" The tail remark is written at the end of a physical line.
7
+
8
+ --"remark_schema" universal scope - schema before
9
+
10
+ SCHEMA remark_schema;
11
+
12
+ CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
13
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
14
+ ENTITY remark_entity;
15
+ remark_attribute : STRING;
16
+ DERIVE remark_derived_attribute : STRING := 'xxx';
17
+ INVERSE remark_inverse_attribute : remark_entity FOR remark_attribute;
18
+ UNIQUE remark_unique : remark_attribute;
19
+ WHERE remark_where : TRUE;
20
+ --"remark_attribute" entity scope - entity attribute
21
+ --"remark_derived_attribute" entity scope - entity derived attribute
22
+ --"remark_inverse_attribute" entity scope - entity inverse attribute
23
+ --"remark_unique" entity scope - entity unique
24
+ --"remark_where" entity scope - entity where
25
+ END_ENTITY;
26
+ SUBTYPE_CONSTRAINT remark_subtype_constraint FOR remark_entity; END_SUBTYPE_CONSTRAINT;
27
+ FUNCTION remark_function(remark_parameter : STRING) : BOOLEAN;
28
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
29
+ CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
30
+ LOCAL remark_variable : STRING; END_LOCAL;
31
+ ALIAS remark_alias FOR remark_variable; ;
32
+ --"remark_alias" function alias scope - function alias
33
+ END_ALIAS;
34
+ REPEAT remark_repeat := 1 TO 9; ;
35
+ --"remark_repeat" function repeat scope - function repeat
36
+ END_REPEAT;
37
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
38
+ --"remark_query" function query scope - function query
39
+ );
40
+ --"remark_parameter" function scope - function parameter
41
+ --"remark_type" function scope - function type
42
+ --"remark_enumeration_item" function scope - function enumeration item
43
+ --"remark_constant" function scope - function constant
44
+ --"remark_variable" function scope - function variable
45
+ END_FUNCTION;
46
+ PROCEDURE remark_procedure(remark_parameter : STRING);
47
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
48
+ CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
49
+ LOCAL remark_variable : STRING; END_LOCAL;
50
+ ALIAS remark_alias FOR remark_variable; ;
51
+ --"remark_alias" procedure alias scope - procedure alias
52
+ END_ALIAS;
53
+ REPEAT remark_repeat := 1 TO 9; ;
54
+ --"remark_repeat" procedure repeat scope - procedure repeat
55
+ END_REPEAT;
56
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
57
+ --"remark_query" procedure query scope - procedure query
58
+ );
59
+ --"remark_parameter" procedure scope - procedure parameter
60
+ --"remark_type" procedure scope - procedure type
61
+ --"remark_enumeration_item" procedure scope - procedure enumeration item
62
+ --"remark_constant" procedure scope - procedure constant
63
+ --"remark_variable" procedure scope - procedure variable
64
+ END_PROCEDURE;
65
+ RULE remark_rule FOR (remark_entity);
66
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
67
+ CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
68
+ LOCAL remark_variable : STRING; END_LOCAL;
69
+ ALIAS remark_alias FOR remark_variable; ;
70
+ --"remark_alias" rule alias scope - rule alias
71
+ END_ALIAS;
72
+ REPEAT remark_repeat := 1 TO 9; ;
73
+ --"remark_repeat" rule repeat scope - rule repeat
74
+ END_REPEAT;
75
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
76
+ --"remark_query" rule query scope - rule query
77
+ );
78
+ WHERE remark_where : TRUE;
79
+ --"remark_type" rule scope - rule type
80
+ --"remark_enumeration_item" rule scope - rule enumeration item
81
+ --"remark_constant" rule scope - rule constant
82
+ --"remark_variable" rule scope - rule variable
83
+ --"remark_where" rule scope - rule where
84
+ END_RULE;
85
+
86
+ --"remark_constant" schema scope - constant
87
+ --"remark_type" schema scope - type
88
+ --"remark_enumeration_item" schema scope - enumeration item
89
+ --"remark_entity" schema scope - entity
90
+ --"remark_entity.remark_attribute" schema scope - entity attribute
91
+ --"remark_entity.remark_derived_attribute" schema scope - entity derived attribute
92
+ --"remark_entity.remark_inverse_attribute" schema scope - entity inverse attribute
93
+ --"remark_entity.remark_unique" schema scope - entity unique
94
+ --"remark_entity.remark_where" schema scope - entity where
95
+ --"remark_subtype_constraint" schema scope - subtype constraint
96
+ --"remark_function" schema scope - function
97
+ --"remark_function.remark_parameter" schema scope - function parameter
98
+ --"remark_function.remark_type" schema scope - function type
99
+ --"remark_function.remark_enumeration_item" schema scope - function enumeration item
100
+ --"remark_function.remark_constant" schema scope - function constant
101
+ --"remark_function.remark_variable" schema scope - function variable
102
+ --"remark_procedure" schema scope - procedure
103
+ --"remark_procedure.remark_parameter" schema scope - procedure parameter
104
+ --"remark_procedure.remark_type" schema scope - procedure type
105
+ --"remark_procedure.remark_enumeration_item" schema scope - procedure enumeration item
106
+ --"remark_procedure.remark_constant" schema scope - procedure constant
107
+ --"remark_procedure.remark_variable" schema scope - procedure variable
108
+ --"remark_rule" schema scope - rule
109
+ --"remark_rule.remark_type" schema scope - rule type
110
+ --"remark_rule.remark_enumeration_item" schema scope - rule enumeration item
111
+ --"remark_rule.remark_constant" schema scope - rule constant
112
+ --"remark_rule.remark_variable" schema scope - rule variable
113
+ --"remark_rule.remark_where" schema scope - rule where
114
+
115
+ END_SCHEMA;
116
+
117
+ --"remark_schema" universal scope - schema
118
+ --"remark_schema.remark_constant" universal scope - constant
119
+ --"remark_schema.remark_type" universal scope - type
120
+ --"remark_schema.remark_enumeration_item" universal scope - enumeration item
121
+ --"remark_schema.remark_entity" universal scope - entity
122
+ --"remark_schema.remark_entity.remark_attribute" universal scope - entity attribute
123
+ --"remark_schema.remark_entity.remark_derived_attribute" universal scope - entity derived attribute
124
+ --"remark_schema.remark_entity.remark_inverse_attribute" universal scope - entity inverse attribute
125
+ --"remark_schema.remark_entity.remark_unique" universal scope - entity unique
126
+ --"remark_schema.remark_entity.remark_where" universal scope - entity where
127
+ --"remark_schema.remark_subtype_constraint" universal scope - subtype constraint
128
+ --"remark_schema.remark_function" universal scope - function
129
+ --"remark_schema.remark_function.remark_parameter" universal scope - function parameter
130
+ --"remark_schema.remark_function.remark_type" universal scope - function type
131
+ --"remark_schema.remark_function.remark_enumeration_item" universal scope - function enumeration item
132
+ --"remark_schema.remark_function.remark_constant" universal scope - function constant
133
+ --"remark_schema.remark_function.remark_variable" universal scope - function variable
134
+ --"remark_schema.remark_procedure" universal scope - procedure
135
+ --"remark_schema.remark_procedure.remark_parameter" universal scope - procedure parameter
136
+ --"remark_schema.remark_procedure.remark_type" universal scope - procedure type
137
+ --"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item
138
+ --"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
139
+ --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
140
+ --"remark_schema.remark_rule" universal scope - rule
141
+ --"remark_schema.remark_rule.remark_type" universal scope - rule type
142
+ --"remark_schema.remark_rule.remark_enumeration_item" universal scope - rule enumeration item
143
+ --"remark_schema.remark_rule.remark_constant" universal scope - rule constant
144
+ --"remark_schema.remark_rule.remark_variable" universal scope - rule variable
145
+ --"remark_schema.remark_rule.remark_where" universal scope - rule where
@@ -0,0 +1,174 @@
1
+ SCHEMA remark_schema;
2
+ CONSTANT
3
+ remark_constant : STRING := 'xxx';
4
+ END_CONSTANT;
5
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
6
+ END_TYPE;
7
+
8
+ ENTITY remark_entity;
9
+ remark_attribute : STRING;
10
+ DERIVE
11
+ remark_derived_attribute : STRING := 'xxx';
12
+ INVERSE
13
+ remark_inverse_attribute : remark_entity FOR remark_attribute;
14
+ UNIQUE
15
+ remark_unique : remark_attribute;
16
+ WHERE
17
+ remark_where : TRUE;
18
+ END_ENTITY;
19
+
20
+ SUBTYPE_CONSTRAINT remark_subtype_constraint FOR remark_entity;
21
+ END_SUBTYPE_CONSTRAINT;
22
+
23
+ FUNCTION remark_function(remark_parameter : STRING) : BOOLEAN;
24
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
25
+ END_TYPE;
26
+ CONSTANT
27
+ remark_constant : STRING := 'xxx';
28
+ END_CONSTANT;
29
+ LOCAL
30
+ remark_variable : STRING;
31
+ END_LOCAL;
32
+ ALIAS remark_alias FOR remark_variable;
33
+ ;
34
+ --"remark_alias" function alias scope - function alias
35
+ END_ALIAS;
36
+ REPEAT remark_repeat := 1 TO 9;
37
+ ;
38
+ --"remark_repeat" function repeat scope - function repeat
39
+ END_REPEAT;
40
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
41
+ --"remark_query" function query scope - function query
42
+ );
43
+ END_FUNCTION;
44
+
45
+ PROCEDURE remark_procedure(remark_parameter : STRING);
46
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
47
+ END_TYPE;
48
+ CONSTANT
49
+ remark_constant : STRING := 'xxx';
50
+ END_CONSTANT;
51
+ LOCAL
52
+ remark_variable : STRING;
53
+ END_LOCAL;
54
+ ALIAS remark_alias FOR remark_variable;
55
+ ;
56
+ --"remark_alias" procedure alias scope - procedure alias
57
+ END_ALIAS;
58
+ REPEAT remark_repeat := 1 TO 9;
59
+ ;
60
+ --"remark_repeat" procedure repeat scope - procedure repeat
61
+ END_REPEAT;
62
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
63
+ --"remark_query" procedure query scope - procedure query
64
+ );
65
+ END_PROCEDURE;
66
+
67
+ RULE remark_rule FOR (remark_entity);
68
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
69
+ END_TYPE;
70
+ CONSTANT
71
+ remark_constant : STRING := 'xxx';
72
+ END_CONSTANT;
73
+ LOCAL
74
+ remark_variable : STRING;
75
+ END_LOCAL;
76
+ ALIAS remark_alias FOR remark_variable;
77
+ ;
78
+ --"remark_alias" rule alias scope - rule alias
79
+ END_ALIAS;
80
+ REPEAT remark_repeat := 1 TO 9;
81
+ ;
82
+ --"remark_repeat" rule repeat scope - rule repeat
83
+ END_REPEAT;
84
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
85
+ --"remark_query" rule query scope - rule query
86
+ );
87
+ WHERE
88
+ remark_where : TRUE;
89
+ END_RULE;
90
+ END_SCHEMA;
91
+ (*"remark_schema"
92
+ Any character within the EXPRESS character set may occur between the start and end of
93
+ an embedded remark including the newline character; therefore, embedded remarks can span
94
+ several physical lines.
95
+ *)
96
+ --"remark_schema" The tail remark is written at the end of a physical line.
97
+ --"remark_schema" universal scope - schema before
98
+ --"remark_schema" universal scope - schema
99
+ --"remark_schema.remark_constant" schema scope - constant
100
+ --"remark_schema.remark_constant" universal scope - constant
101
+ --"remark_schema.remark_type" schema scope - type
102
+ --"remark_schema.remark_type" universal scope - type
103
+ --"remark_schema.remark_enumeration_item" schema scope - enumeration item
104
+ --"remark_schema.remark_enumeration_item" universal scope - enumeration item
105
+ --"remark_schema.remark_entity" schema scope - entity
106
+ --"remark_schema.remark_entity" universal scope - entity
107
+ --"remark_schema.remark_entity.remark_attribute" entity scope - entity attribute
108
+ --"remark_schema.remark_entity.remark_attribute" schema scope - entity attribute
109
+ --"remark_schema.remark_entity.remark_attribute" universal scope - entity attribute
110
+ --"remark_schema.remark_entity.remark_derived_attribute" entity scope - entity derived attribute
111
+ --"remark_schema.remark_entity.remark_derived_attribute" schema scope - entity derived attribute
112
+ --"remark_schema.remark_entity.remark_derived_attribute" universal scope - entity derived attribute
113
+ --"remark_schema.remark_entity.remark_inverse_attribute" entity scope - entity inverse attribute
114
+ --"remark_schema.remark_entity.remark_inverse_attribute" schema scope - entity inverse attribute
115
+ --"remark_schema.remark_entity.remark_inverse_attribute" universal scope - entity inverse attribute
116
+ --"remark_schema.remark_entity.remark_unique" entity scope - entity unique
117
+ --"remark_schema.remark_entity.remark_unique" schema scope - entity unique
118
+ --"remark_schema.remark_entity.remark_unique" universal scope - entity unique
119
+ --"remark_schema.remark_entity.remark_where" entity scope - entity where
120
+ --"remark_schema.remark_entity.remark_where" schema scope - entity where
121
+ --"remark_schema.remark_entity.remark_where" universal scope - entity where
122
+ --"remark_schema.remark_subtype_constraint" schema scope - subtype constraint
123
+ --"remark_schema.remark_subtype_constraint" universal scope - subtype constraint
124
+ --"remark_schema.remark_function" schema scope - function
125
+ --"remark_schema.remark_function" universal scope - function
126
+ --"remark_schema.remark_function.remark_parameter" function scope - function parameter
127
+ --"remark_schema.remark_function.remark_parameter" schema scope - function parameter
128
+ --"remark_schema.remark_function.remark_parameter" universal scope - function parameter
129
+ --"remark_schema.remark_function.remark_type" function scope - function type
130
+ --"remark_schema.remark_function.remark_type" schema scope - function type
131
+ --"remark_schema.remark_function.remark_type" universal scope - function type
132
+ --"remark_schema.remark_function.remark_enumeration_item" function scope - function enumeration item
133
+ --"remark_schema.remark_function.remark_enumeration_item" schema scope - function enumeration item
134
+ --"remark_schema.remark_function.remark_enumeration_item" universal scope - function enumeration item
135
+ --"remark_schema.remark_function.remark_constant" function scope - function constant
136
+ --"remark_schema.remark_function.remark_constant" schema scope - function constant
137
+ --"remark_schema.remark_function.remark_constant" universal scope - function constant
138
+ --"remark_schema.remark_function.remark_variable" function scope - function variable
139
+ --"remark_schema.remark_function.remark_variable" schema scope - function variable
140
+ --"remark_schema.remark_function.remark_variable" universal scope - function variable
141
+ --"remark_schema.remark_procedure" schema scope - procedure
142
+ --"remark_schema.remark_procedure" universal scope - procedure
143
+ --"remark_schema.remark_procedure.remark_parameter" procedure scope - procedure parameter
144
+ --"remark_schema.remark_procedure.remark_parameter" schema scope - procedure parameter
145
+ --"remark_schema.remark_procedure.remark_parameter" universal scope - procedure parameter
146
+ --"remark_schema.remark_procedure.remark_type" procedure scope - procedure type
147
+ --"remark_schema.remark_procedure.remark_type" schema scope - procedure type
148
+ --"remark_schema.remark_procedure.remark_type" universal scope - procedure type
149
+ --"remark_schema.remark_procedure.remark_enumeration_item" procedure scope - procedure enumeration item
150
+ --"remark_schema.remark_procedure.remark_enumeration_item" schema scope - procedure enumeration item
151
+ --"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item
152
+ --"remark_schema.remark_procedure.remark_constant" procedure scope - procedure constant
153
+ --"remark_schema.remark_procedure.remark_constant" schema scope - procedure constant
154
+ --"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
155
+ --"remark_schema.remark_procedure.remark_variable" procedure scope - procedure variable
156
+ --"remark_schema.remark_procedure.remark_variable" schema scope - procedure variable
157
+ --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
158
+ --"remark_schema.remark_rule" schema scope - rule
159
+ --"remark_schema.remark_rule" universal scope - rule
160
+ --"remark_schema.remark_rule.remark_type" rule scope - rule type
161
+ --"remark_schema.remark_rule.remark_type" schema scope - rule type
162
+ --"remark_schema.remark_rule.remark_type" universal scope - rule type
163
+ --"remark_schema.remark_rule.remark_enumeration_item" rule scope - rule enumeration item
164
+ --"remark_schema.remark_rule.remark_enumeration_item" schema scope - rule enumeration item
165
+ --"remark_schema.remark_rule.remark_enumeration_item" universal scope - rule enumeration item
166
+ --"remark_schema.remark_rule.remark_constant" rule scope - rule constant
167
+ --"remark_schema.remark_rule.remark_constant" schema scope - rule constant
168
+ --"remark_schema.remark_rule.remark_constant" universal scope - rule constant
169
+ --"remark_schema.remark_rule.remark_variable" rule scope - rule variable
170
+ --"remark_schema.remark_rule.remark_variable" schema scope - rule variable
171
+ --"remark_schema.remark_rule.remark_variable" universal scope - rule variable
172
+ --"remark_schema.remark_rule.remark_where" rule scope - rule where
173
+ --"remark_schema.remark_rule.remark_where" schema scope - rule where
174
+ --"remark_schema.remark_rule.remark_where" universal scope - rule where