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,15 +1,14 @@
1
+ require 'expressir/model/scope'
2
+ require 'expressir/model/identifier'
3
+
4
+ require 'expressir/model/attribute'
1
5
  require 'expressir/model/constant'
2
- require 'expressir/model/derived'
3
6
  require 'expressir/model/entity'
4
7
  require 'expressir/model/enumeration_item'
5
- require 'expressir/model/explicit'
6
8
  require 'expressir/model/function'
7
- require 'expressir/model/inverse'
8
- require 'expressir/model/local'
9
+ require 'expressir/model/interface'
9
10
  require 'expressir/model/parameter'
10
11
  require 'expressir/model/procedure'
11
- require 'expressir/model/ref'
12
- require 'expressir/model/reference'
13
12
  require 'expressir/model/renamed_ref'
14
13
  require 'expressir/model/repository'
15
14
  require 'expressir/model/rule'
@@ -17,59 +16,34 @@ require 'expressir/model/schema'
17
16
  require 'expressir/model/subtype_constraint'
18
17
  require 'expressir/model/type'
19
18
  require 'expressir/model/unique'
20
- require 'expressir/model/use'
19
+ require 'expressir/model/variable'
21
20
  require 'expressir/model/where'
22
21
  require 'expressir/model/expressions/aggregate_initializer'
23
- require 'expressir/model/expressions/aggregate_element'
24
- require 'expressir/model/expressions/attribute_qualifier'
22
+ require 'expressir/model/expressions/aggregate_item'
23
+ require 'expressir/model/expressions/binary_expression'
24
+ require 'expressir/model/expressions/call'
25
+ require 'expressir/model/expressions/attribute_reference'
25
26
  require 'expressir/model/expressions/entity_constructor'
26
- require 'expressir/model/expressions/expression'
27
- require 'expressir/model/expressions/function_call'
28
- require 'expressir/model/expressions/group_qualifier'
29
- require 'expressir/model/expressions/index_qualifier'
27
+ require 'expressir/model/expressions/group_reference'
28
+ require 'expressir/model/expressions/index_reference'
30
29
  require 'expressir/model/expressions/interval'
31
- require 'expressir/model/expressions/qualified_ref'
32
- require 'expressir/model/expressions/query'
30
+ require 'expressir/model/expressions/query_expression'
31
+ require 'expressir/model/expressions/simple_reference'
32
+ require 'expressir/model/expressions/unary_expression'
33
33
  require 'expressir/model/literals/binary'
34
34
  require 'expressir/model/literals/integer'
35
35
  require 'expressir/model/literals/logical'
36
36
  require 'expressir/model/literals/real'
37
37
  require 'expressir/model/literals/string'
38
- require 'expressir/model/operators/addition'
39
- require 'expressir/model/operators/and'
40
- require 'expressir/model/operators/andor'
41
- require 'expressir/model/operators/combine'
42
- require 'expressir/model/operators/equal'
43
- require 'expressir/model/operators/exponentiation'
44
- require 'expressir/model/operators/greater_than'
45
- require 'expressir/model/operators/greater_than_or_equal'
46
- require 'expressir/model/operators/in'
47
- require 'expressir/model/operators/instance_equal'
48
- require 'expressir/model/operators/instance_not_equal'
49
- require 'expressir/model/operators/integer_division'
50
- require 'expressir/model/operators/less_than'
51
- require 'expressir/model/operators/less_than_or_equal'
52
- require 'expressir/model/operators/like'
53
- require 'expressir/model/operators/modulo'
54
- require 'expressir/model/operators/multiplication'
55
- require 'expressir/model/operators/not'
56
- require 'expressir/model/operators/not_equal'
57
- require 'expressir/model/operators/oneof'
58
- require 'expressir/model/operators/or'
59
- require 'expressir/model/operators/real_division'
60
- require 'expressir/model/operators/subtraction'
61
- require 'expressir/model/operators/unary_plus'
62
- require 'expressir/model/operators/unary_minus'
63
- require 'expressir/model/operators/xor'
64
38
  require 'expressir/model/statements/alias'
65
39
  require 'expressir/model/statements/assignment'
40
+ require 'expressir/model/statements/call'
66
41
  require 'expressir/model/statements/case'
67
42
  require 'expressir/model/statements/case_action'
68
43
  require 'expressir/model/statements/compound'
69
44
  require 'expressir/model/statements/escape'
70
45
  require 'expressir/model/statements/if'
71
46
  require 'expressir/model/statements/null'
72
- require 'expressir/model/statements/procedure_call'
73
47
  require 'expressir/model/statements/repeat'
74
48
  require 'expressir/model/statements/return'
75
49
  require 'expressir/model/statements/skip'
@@ -1,18 +1,26 @@
1
1
  module Expressir
2
2
  module Model
3
- class Derived
4
- attr_accessor :id
3
+ class Attribute
4
+ include Identifier
5
+
6
+ EXPLICIT = :EXPLICIT
7
+ DERIVED = :DERIVED
8
+ INVERSE = :INVERSE
9
+
10
+ attr_accessor :kind
5
11
  attr_accessor :supertype_attribute
12
+ attr_accessor :optional
6
13
  attr_accessor :type
7
14
  attr_accessor :expression
8
- attr_accessor :remarks
9
15
 
10
16
  def initialize(options = {})
11
17
  @id = options[:id]
18
+
19
+ @kind = options[:kind]
12
20
  @supertype_attribute = options[:supertype_attribute]
21
+ @optional = options[:optional]
13
22
  @type = options[:type]
14
23
  @expression = options[:expression]
15
- @remarks = options[:remarks]
16
24
  end
17
25
  end
18
26
  end
@@ -1,16 +1,16 @@
1
1
  module Expressir
2
2
  module Model
3
3
  class Constant
4
- attr_accessor :id
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,37 +1,42 @@
1
1
  module Expressir
2
2
  module Model
3
3
  class Entity
4
- attr_accessor :id
4
+ include Scope
5
+ include Identifier
6
+
5
7
  attr_accessor :abstract
6
- attr_accessor :abstract_supertype
7
- attr_accessor :supertypes
8
- attr_accessor :subtype_expression
9
- attr_accessor :explicit
10
- attr_accessor :derived
11
- attr_accessor :inverse
8
+ attr_accessor :supertype_expression
9
+ attr_accessor :subtype_of
10
+ attr_accessor :attributes
12
11
  attr_accessor :unique
13
12
  attr_accessor :where
14
- attr_accessor :remarks
15
13
 
16
14
  def initialize(options = {})
17
15
  @id = options[:id]
16
+
18
17
  @abstract = options[:abstract]
19
- @abstract_supertype = options[:abstract_supertype]
20
- @supertypes = options[:supertypes]
21
- @subtype_expression = options[:subtype_expression]
22
- @explicit = options[:explicit]
23
- @derived = options[:derived]
24
- @inverse = options[:inverse]
18
+ @supertype_expression = options[:supertype_expression]
19
+ @subtype_of = options[:subtype_of]
20
+ @attributes = options[:attributes]
25
21
  @unique = options[:unique]
26
22
  @where = options[:where]
27
- @remarks = options[:remarks]
28
23
  end
29
24
 
30
- def scope_items
25
+ def explicit_attributes
26
+ @attributes.select{|x| x.kind == Expressir::Model::Attribute::EXPLICIT}
27
+ end
28
+
29
+ def derived_attributes
30
+ @attributes.select{|x| x.kind == Expressir::Model::Attribute::DERIVED}
31
+ end
32
+
33
+ def inverse_attributes
34
+ @attributes.select{|x| x.kind == Expressir::Model::Attribute::INVERSE}
35
+ end
36
+
37
+ def children
31
38
  items = []
32
- items.push(*@explicit) if @explicit
33
- items.push(*@derived) if @derived
34
- items.push(*@inverse) if @inverse
39
+ items.push(*@attributes) if @attributes
35
40
  items.push(*@unique) if @unique
36
41
  items.push(*@where) if @where
37
42
  items
@@ -1,12 +1,10 @@
1
1
  module Expressir
2
2
  module Model
3
3
  class EnumerationItem
4
- attr_accessor :id
5
- attr_accessor :remarks
4
+ include Identifier
6
5
 
7
6
  def initialize(options = {})
8
7
  @id = options[:id]
9
- @remarks = options[:remarks]
10
8
  end
11
9
  end
12
10
  end
@@ -1,13 +1,13 @@
1
1
  module Expressir
2
- module Model
3
- module Expressions
4
- class AggregateInitializer
5
- attr_accessor :items
6
-
7
- def initialize(options = {})
8
- @items = options[:items]
9
- end
2
+ module Model
3
+ module Expressions
4
+ class AggregateInitializer
5
+ attr_accessor :items
6
+
7
+ def initialize(options = {})
8
+ @items = options[:items]
10
9
  end
11
10
  end
12
11
  end
13
- end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ module Expressir
2
+ module Model
3
+ module Expressions
4
+ class AggregateItem
5
+ attr_accessor :expression
6
+ attr_accessor :repetition
7
+
8
+ def initialize(options = {})
9
+ @expression = options[:expression]
10
+ @repetition = options[:repetition]
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,10 +1,12 @@
1
1
  module Expressir
2
2
  module Model
3
3
  module Expressions
4
- class AttributeQualifier
4
+ class AttributeReference
5
+ attr_accessor :ref
5
6
  attr_accessor :attribute
6
7
 
7
8
  def initialize(options = {})
9
+ @ref = options[:ref]
8
10
  @attribute = options[:attribute]
9
11
  end
10
12
  end
@@ -0,0 +1,40 @@
1
+ module Expressir
2
+ module Model
3
+ module Expressions
4
+ class BinaryExpression
5
+ ADDITION = :ADDITION
6
+ AND = :AND
7
+ ANDOR = :ANDOR
8
+ COMBINE = :COMBINE
9
+ EQUAL = :EQUAL
10
+ EXPONENTIATION = :EXPONENTIATION
11
+ GREATER_THAN = :GREATER_THAN
12
+ GREATER_THAN_OR_EQUAL = :GREATER_THAN_OR_EQUAL
13
+ IN = :IN
14
+ INSTANCE_EQUAL = :INSTANCE_EQUAL
15
+ INSTANCE_NOT_EQUAL = :INSTANCE_NOT_EQUAL
16
+ INTEGER_DIVISION = :INTEGER_DIVISION
17
+ LESS_THAN = :LESS_THAN
18
+ LESS_THAN_OR_EQUAL = :LESS_THAN_OR_EQUAL
19
+ LIKE = :LIKE
20
+ MODULO = :MODULO
21
+ MULTIPLICATION = :MULTIPLICATION
22
+ NOT_EQUAL = :NOT_EQUAL
23
+ OR = :OR
24
+ REAL_DIVISION = :REAL_DIVISION
25
+ SUBTRACTION = :SUBTRACTION
26
+ XOR = :XOR
27
+
28
+ attr_accessor :operator
29
+ attr_accessor :operand1
30
+ attr_accessor :operand2
31
+
32
+ def initialize(options = {})
33
+ @operator = options[:operator]
34
+ @operand1 = options[:operand1]
35
+ @operand2 = options[:operand2]
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -1,12 +1,12 @@
1
1
  module Expressir
2
2
  module Model
3
3
  module Expressions
4
- class FunctionCall
5
- attr_accessor :function
4
+ class Call
5
+ attr_accessor :ref
6
6
  attr_accessor :parameters
7
7
 
8
8
  def initialize(options = {})
9
- @function = options[:function]
9
+ @ref = options[:ref]
10
10
  @parameters = options[:parameters]
11
11
  end
12
12
  end
@@ -1,15 +1,15 @@
1
1
  module Expressir
2
- module Model
3
- module Expressions
4
- class EntityConstructor
5
- attr_accessor :entity
6
- attr_accessor :parameters
7
-
8
- def initialize(options = {})
9
- @entity = options[:entity]
10
- @parameters = options[:parameters]
11
- end
2
+ module Model
3
+ module Expressions
4
+ class EntityConstructor
5
+ attr_accessor :entity
6
+ attr_accessor :parameters
7
+
8
+ def initialize(options = {})
9
+ @entity = options[:entity]
10
+ @parameters = options[:parameters]
12
11
  end
13
12
  end
14
13
  end
15
- end
14
+ end
15
+ end
@@ -1,10 +1,12 @@
1
1
  module Expressir
2
2
  module Model
3
3
  module Expressions
4
- class GroupQualifier
4
+ class GroupReference
5
+ attr_accessor :ref
5
6
  attr_accessor :entity
6
7
 
7
8
  def initialize(options = {})
9
+ @ref = options[:ref]
8
10
  @entity = options[:entity]
9
11
  end
10
12
  end
@@ -1,11 +1,13 @@
1
1
  module Expressir
2
2
  module Model
3
3
  module Expressions
4
- class IndexQualifier
4
+ class IndexReference
5
+ attr_accessor :ref
5
6
  attr_accessor :index1
6
7
  attr_accessor :index2
7
8
 
8
9
  def initialize(options = {})
10
+ @ref = options[:ref]
9
11
  @index1 = options[:index1]
10
12
  @index2 = options[:index2]
11
13
  end
@@ -1,21 +1,21 @@
1
1
  module Expressir
2
- module Model
3
- module Expressions
4
- class Interval
5
- attr_accessor :low
6
- attr_accessor :operator1
7
- attr_accessor :item
8
- attr_accessor :operator2
9
- attr_accessor :high
10
-
11
- def initialize(options = {})
12
- @low = options[:low]
13
- @operator1 = options[:operator1]
14
- @item = options[:item]
15
- @operator2 = options[:operator2]
16
- @high = options[:high]
17
- end
2
+ module Model
3
+ module Expressions
4
+ class Interval
5
+ attr_accessor :low
6
+ attr_accessor :operator1
7
+ attr_accessor :item
8
+ attr_accessor :operator2
9
+ attr_accessor :high
10
+
11
+ def initialize(options = {})
12
+ @low = options[:low]
13
+ @operator1 = options[:operator1]
14
+ @item = options[:item]
15
+ @operator2 = options[:operator2]
16
+ @high = options[:high]
18
17
  end
19
18
  end
20
19
  end
21
- end
20
+ end
21
+ end
@@ -0,0 +1,26 @@
1
+ module Expressir
2
+ module Model
3
+ module Expressions
4
+ class QueryExpression
5
+ include Scope
6
+ include Identifier
7
+
8
+ attr_accessor :aggregate_source
9
+ attr_accessor :expression
10
+
11
+ def initialize(options = {})
12
+ @id = options[:id]
13
+
14
+ @aggregate_source = options[:aggregate_source]
15
+ @expression = options[:expression]
16
+ end
17
+
18
+ def children
19
+ items = []
20
+ items.push(self)
21
+ items
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end