expressir 0.2.2 → 0.2.7

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