expressir 0.2.4 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. checksums.yaml +4 -4
  2. data/.cross_rubies +30 -0
  3. data/.github/workflows/rake.yml +14 -15
  4. data/.github/workflows/release.yml +26 -17
  5. data/.gitignore +3 -1
  6. data/Gemfile +0 -2
  7. data/Rakefile +2 -17
  8. data/expressir.gemspec +10 -5
  9. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +118 -0
  10. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj +637 -0
  11. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj.filters +984 -0
  12. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj +652 -0
  13. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj.filters +990 -0
  14. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj +652 -0
  15. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj.filters +990 -0
  16. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +652 -0
  17. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +990 -0
  18. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/Info.plist +26 -0
  19. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/antlrcpp_ios.h +17 -0
  20. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +3024 -0
  21. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  22. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  23. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +76 -0
  24. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +80 -0
  25. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +80 -0
  26. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +10 -0
  27. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +167 -0
  28. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +10 -0
  29. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +121 -0
  30. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +34 -0
  31. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +27 -0
  32. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +155 -0
  33. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +69 -0
  34. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +61 -0
  35. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +59 -0
  36. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +25 -0
  37. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +36 -0
  38. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +414 -0
  39. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +200 -0
  40. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +11 -0
  41. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +37 -0
  42. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +195 -0
  43. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +158 -0
  44. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +39 -0
  45. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +74 -0
  46. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +78 -0
  47. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +79 -0
  48. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +15 -0
  49. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +35 -0
  50. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +333 -0
  51. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +466 -0
  52. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +84 -0
  53. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +80 -0
  54. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +64 -0
  55. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +99 -0
  56. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +51 -0
  57. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +32 -0
  58. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +18 -0
  59. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +24 -0
  60. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +12 -0
  61. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +218 -0
  62. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +19 -0
  63. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +45 -0
  64. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +295 -0
  65. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +196 -0
  66. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +75 -0
  67. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +52 -0
  68. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +36 -0
  69. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +31 -0
  70. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +92 -0
  71. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +88 -0
  72. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +46 -0
  73. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +42 -0
  74. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +648 -0
  75. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +467 -0
  76. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +306 -0
  77. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +179 -0
  78. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +141 -0
  79. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +147 -0
  80. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +53 -0
  81. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +38 -0
  82. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +66 -0
  83. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +98 -0
  84. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +167 -0
  85. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +164 -0
  86. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +143 -0
  87. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +137 -0
  88. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +27 -0
  89. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +32 -0
  90. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +53 -0
  91. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +155 -0
  92. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +9 -0
  93. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +92 -0
  94. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +30 -0
  95. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +9 -0
  96. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +85 -0
  97. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +11 -0
  98. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +137 -0
  99. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +425 -0
  100. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +293 -0
  101. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +211 -0
  102. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +123 -0
  103. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +270 -0
  104. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +115 -0
  105. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +104 -0
  106. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +193 -0
  107. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +9 -0
  108. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +23 -0
  109. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +137 -0
  110. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +167 -0
  111. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +209 -0
  112. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +112 -0
  113. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +113 -0
  114. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +148 -0
  115. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +228 -0
  116. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +110 -0
  117. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +64 -0
  118. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +50 -0
  119. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +758 -0
  120. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +85 -0
  121. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +621 -0
  122. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.h +61 -0
  123. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +63 -0
  124. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +87 -0
  125. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +72 -0
  126. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +133 -0
  127. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +20 -0
  128. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.cpp +14 -0
  129. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.h +24 -0
  130. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +33 -0
  131. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +33 -0
  132. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +16 -0
  133. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +68 -0
  134. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +82 -0
  135. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +43 -0
  136. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +31 -0
  137. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +30 -0
  138. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.cpp +12 -0
  139. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +22 -0
  140. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.cpp +12 -0
  141. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +21 -0
  142. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.cpp +15 -0
  143. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +24 -0
  144. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.cpp +9 -0
  145. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +21 -0
  146. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +14 -0
  147. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +47 -0
  148. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +14 -0
  149. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +70 -0
  150. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +25 -0
  151. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +227 -0
  152. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +17 -0
  153. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +30 -0
  154. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.cpp +35 -0
  155. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.h +27 -0
  156. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +35 -0
  157. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +39 -0
  158. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +15 -0
  159. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +43 -0
  160. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +158 -0
  161. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +109 -0
  162. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +84 -0
  163. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +44 -0
  164. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +628 -0
  165. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +210 -0
  166. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +9 -0
  167. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +66 -0
  168. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +107 -0
  169. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +115 -0
  170. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +55 -0
  171. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +55 -0
  172. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +63 -0
  173. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +62 -0
  174. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +87 -0
  175. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +63 -0
  176. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +82 -0
  177. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +56 -0
  178. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +61 -0
  179. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +47 -0
  180. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +57 -0
  181. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +47 -0
  182. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +57 -0
  183. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +56 -0
  184. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +61 -0
  185. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +47 -0
  186. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +55 -0
  187. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +56 -0
  188. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +55 -0
  189. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +16 -0
  190. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +42 -0
  191. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.cpp +12 -0
  192. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +22 -0
  193. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Makefile +67 -0
  194. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +27 -0
  195. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +25 -0
  196. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +12 -0
  197. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +20 -0
  198. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +102 -0
  199. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +102 -0
  200. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +1366 -0
  201. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +904 -0
  202. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.cpp +12 -0
  203. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +25 -0
  204. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.cpp +12 -0
  205. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +22 -0
  206. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +32 -0
  207. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +29 -0
  208. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +17 -0
  209. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +62 -0
  210. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +34 -0
  211. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +39 -0
  212. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +662 -0
  213. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +254 -0
  214. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +201 -0
  215. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +436 -0
  216. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +179 -0
  217. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +60 -0
  218. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +30 -0
  219. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +29 -0
  220. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.cpp +16 -0
  221. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +25 -0
  222. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.cpp +12 -0
  223. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +25 -0
  224. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +37 -0
  225. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +40 -0
  226. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +377 -0
  227. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +222 -0
  228. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +32 -0
  229. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +30 -0
  230. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +81 -0
  231. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +36 -0
  232. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.cpp +12 -0
  233. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +21 -0
  234. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.cpp +15 -0
  235. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +35 -0
  236. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +19 -0
  237. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +21 -0
  238. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.cpp +12 -0
  239. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +21 -0
  240. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +44 -0
  241. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +76 -0
  242. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +25 -0
  243. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +25 -0
  244. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +127 -0
  245. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +91 -0
  246. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +67 -0
  247. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +32 -0
  248. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +100 -0
  249. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +144 -0
  250. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +20 -0
  251. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +23 -0
  252. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +124 -0
  253. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +31 -0
  254. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +89 -0
  255. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +84 -0
  256. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +521 -0
  257. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +198 -0
  258. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +134 -0
  259. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +76 -0
  260. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +4 -0
  261. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +21 -0
  262. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +13 -0
  263. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +170 -0
  264. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +43 -0
  265. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +110 -0
  266. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +76 -0
  267. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +248 -0
  268. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +78 -0
  269. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +163 -0
  270. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +36 -0
  271. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +54 -0
  272. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.cpp +303 -0
  273. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.h +112 -0
  274. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +128 -0
  275. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.cpp +9 -0
  276. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +19 -0
  277. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +23 -0
  278. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +33 -0
  279. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +71 -0
  280. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +53 -0
  281. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +15 -0
  282. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +102 -0
  283. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +9 -0
  284. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +39 -0
  285. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +50 -0
  286. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +9 -0
  287. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +57 -0
  288. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +49 -0
  289. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +31 -0
  290. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.cpp +9 -0
  291. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +32 -0
  292. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +57 -0
  293. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +33 -0
  294. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +241 -0
  295. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +78 -0
  296. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +9 -0
  297. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +44 -0
  298. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +69 -0
  299. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +132 -0
  300. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +64 -0
  301. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +105 -0
  302. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +371 -0
  303. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +185 -0
  304. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +77 -0
  305. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +117 -0
  306. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +39 -0
  307. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +86 -0
  308. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +28 -0
  309. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +51 -0
  310. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +36 -0
  311. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +80 -0
  312. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +154 -0
  313. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +86 -0
  314. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +31 -0
  315. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +40 -0
  316. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +173 -0
  317. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.g4 +64 -0
  318. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +56 -0
  319. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.tokens +12 -0
  320. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +13 -0
  321. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +22 -0
  322. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +20 -0
  323. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +27 -0
  324. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +30 -0
  325. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +26 -0
  326. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +20 -0
  327. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +25 -0
  328. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +33 -0
  329. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +26 -0
  330. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +23 -0
  331. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +23 -0
  332. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +24 -0
  333. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +23 -0
  334. data/ext/express-parser/express_parser.cpp +12 -10
  335. data/ext/express-parser/extconf.rb +48 -25
  336. data/lib/expressir/express_exp/formatter.rb +3 -7
  337. data/lib/expressir/express_exp/parser.rb +20 -2
  338. data/lib/expressir/express_exp/visitor.rb +106 -55
  339. data/lib/expressir/model.rb +1 -0
  340. data/lib/expressir/model/entity.rb +3 -0
  341. data/lib/expressir/model/expressions/query_expression.rb +2 -2
  342. data/lib/expressir/model/identifier.rb +2 -0
  343. data/lib/expressir/model/informal_proposition.rb +11 -0
  344. data/lib/expressir/model/rule.rb +3 -0
  345. data/lib/expressir/model/schema.rb +2 -0
  346. data/lib/expressir/model/scope.rb +52 -3
  347. data/lib/expressir/model/type.rb +8 -0
  348. data/lib/expressir/version.rb +1 -1
  349. data/original/examples/syntax/remark.exp +64 -20
  350. data/original/examples/syntax/remark_formatted.exp +63 -19
  351. data/original/examples/syntax/source.exp +16 -0
  352. data/original/examples/syntax/syntax.exp +6 -1
  353. data/original/examples/syntax/syntax_formatted.exp +13 -0
  354. data/rakelib/cross-ruby.rake +308 -0
  355. data/spec/expressir/express_exp/head_source_spec.rb +41 -0
  356. data/spec/expressir/express_exp/parse_multiple_spec.rb +32 -0
  357. data/spec/expressir/express_exp/parse_remark_spec.rb +119 -53
  358. data/spec/expressir/express_exp/parse_syntax_spec.rb +47 -2
  359. data/spec/expressir/express_exp/source_spec.rb +32 -0
  360. data/spec/expressir/model/find_spec.rb +19 -6
  361. metadata +369 -23
@@ -11,13 +11,14 @@ RSpec.describe Expressir::ExpressExp::Parser do
11
11
  schema.tap do |x|
12
12
  expect(x).to be_instance_of(Expressir::Model::Schema)
13
13
  expect(x.remarks).to be_instance_of(Array)
14
- expect(x.remarks.count).to eq(4)
14
+ expect(x.remarks.count).to eq(5)
15
15
  expect(x.remarks[0]).to eq("Any character within the EXPRESS character set may occur between the start and end of\nan embedded remark including the newline character; therefore, embedded remarks can span\nseveral physical lines.")
16
16
  expect(x.remarks[1]).to eq("The tail remark is written at the end of a physical line.")
17
- expect(x.remarks[2]).to eq("universal scope - schema before")
18
- expect(x.remarks[3]).to eq("universal scope - schema")
17
+ expect(x.remarks[2]).to eq("UTF8 test: Příliš žluťoučký kůň úpěl ďábelské ódy.")
18
+ expect(x.remarks[3]).to eq("universal scope - schema before")
19
+ expect(x.remarks[4]).to eq("universal scope - schema")
19
20
  end
20
-
21
+
21
22
  schema.constants.first.tap do |x|
22
23
  expect(x).to be_instance_of(Expressir::Model::Constant)
23
24
  expect(x.remarks).to be_instance_of(Array)
@@ -25,7 +26,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
25
26
  expect(x.remarks[0]).to eq("schema scope - constant")
26
27
  expect(x.remarks[1]).to eq("universal scope - constant")
27
28
  end
28
-
29
+
29
30
  schema.types.first.tap do |x|
30
31
  expect(x).to be_instance_of(Expressir::Model::Type)
31
32
  expect(x.remarks).to be_instance_of(Array)
@@ -37,12 +38,38 @@ RSpec.describe Expressir::ExpressExp::Parser do
37
38
  x.type.items.first.tap do |x|
38
39
  expect(x).to be_instance_of(Expressir::Model::EnumerationItem)
39
40
  expect(x.remarks).to be_instance_of(Array)
40
- expect(x.remarks.count).to eq(2)
41
+ expect(x.remarks.count).to eq(4)
41
42
  expect(x.remarks[0]).to eq("schema scope - enumeration item")
42
- expect(x.remarks[1]).to eq("universal scope - enumeration item")
43
+ expect(x.remarks[1]).to eq("schema scope - enumeration item, on the same level as the type")
44
+ expect(x.remarks[2]).to eq("universal scope - enumeration item")
45
+ expect(x.remarks[3]).to eq("universal scope - enumeration item, on the same level as the type")
43
46
  end
44
47
  end
45
-
48
+
49
+ schema.types.first.where.first.tap do |x|
50
+ expect(x).to be_instance_of(Expressir::Model::Where)
51
+ expect(x.remarks).to be_instance_of(Array)
52
+ expect(x.remarks.count).to eq(6)
53
+ expect(x.remarks[0]).to eq("type scope - type where")
54
+ expect(x.remarks[1]).to eq("type scope - type where, with prefix")
55
+ expect(x.remarks[2]).to eq("schema scope - type where")
56
+ expect(x.remarks[3]).to eq("schema scope - type where, with prefix")
57
+ expect(x.remarks[4]).to eq("universal scope - type where")
58
+ expect(x.remarks[5]).to eq("universal scope - type where, with prefix")
59
+ end
60
+
61
+ schema.types.first.informal_propositions.first.tap do |x|
62
+ expect(x).to be_instance_of(Expressir::Model::InformalProposition)
63
+ expect(x.remarks).to be_instance_of(Array)
64
+ expect(x.remarks.count).to eq(6)
65
+ expect(x.remarks[0]).to eq("type scope - type informal proposition")
66
+ expect(x.remarks[1]).to eq("type scope - type informal proposition, with prefix")
67
+ expect(x.remarks[2]).to eq("schema scope - type informal proposition")
68
+ expect(x.remarks[3]).to eq("schema scope - type informal proposition, with prefix")
69
+ expect(x.remarks[4]).to eq("universal scope - type informal proposition")
70
+ expect(x.remarks[5]).to eq("universal scope - type informal proposition, with prefix")
71
+ end
72
+
46
73
  schema.entities.first.tap do |x|
47
74
  expect(x).to be_instance_of(Expressir::Model::Entity)
48
75
  expect(x.remarks).to be_instance_of(Array)
@@ -50,7 +77,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
50
77
  expect(x.remarks[0]).to eq("schema scope - entity")
51
78
  expect(x.remarks[1]).to eq("universal scope - entity")
52
79
  end
53
-
80
+
54
81
  schema.entities.first.explicit_attributes.first.tap do |x|
55
82
  expect(x).to be_instance_of(Expressir::Model::Attribute)
56
83
  expect(x.kind).to eq(Expressir::Model::Attribute::EXPLICIT)
@@ -60,7 +87,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
60
87
  expect(x.remarks[1]).to eq("schema scope - entity attribute")
61
88
  expect(x.remarks[2]).to eq("universal scope - entity attribute")
62
89
  end
63
-
90
+
64
91
  schema.entities.first.derived_attributes.first.tap do |x|
65
92
  expect(x).to be_instance_of(Expressir::Model::Attribute)
66
93
  expect(x.kind).to eq(Expressir::Model::Attribute::DERIVED)
@@ -70,7 +97,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
70
97
  expect(x.remarks[1]).to eq("schema scope - entity derived attribute")
71
98
  expect(x.remarks[2]).to eq("universal scope - entity derived attribute")
72
99
  end
73
-
100
+
74
101
  schema.entities.first.inverse_attributes.first.tap do |x|
75
102
  expect(x).to be_instance_of(Expressir::Model::Attribute)
76
103
  expect(x.kind).to eq(Expressir::Model::Attribute::INVERSE)
@@ -80,7 +107,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
80
107
  expect(x.remarks[1]).to eq("schema scope - entity inverse attribute")
81
108
  expect(x.remarks[2]).to eq("universal scope - entity inverse attribute")
82
109
  end
83
-
110
+
84
111
  schema.entities.first.unique.first.tap do |x|
85
112
  expect(x).to be_instance_of(Expressir::Model::Unique)
86
113
  expect(x.remarks).to be_instance_of(Array)
@@ -89,16 +116,31 @@ RSpec.describe Expressir::ExpressExp::Parser do
89
116
  expect(x.remarks[1]).to eq("schema scope - entity unique")
90
117
  expect(x.remarks[2]).to eq("universal scope - entity unique")
91
118
  end
92
-
119
+
93
120
  schema.entities.first.where.first.tap do |x|
94
121
  expect(x).to be_instance_of(Expressir::Model::Where)
95
122
  expect(x.remarks).to be_instance_of(Array)
96
- expect(x.remarks.count).to eq(3)
123
+ expect(x.remarks.count).to eq(6)
97
124
  expect(x.remarks[0]).to eq("entity scope - entity where")
98
- expect(x.remarks[1]).to eq("schema scope - entity where")
99
- expect(x.remarks[2]).to eq("universal scope - entity where")
125
+ expect(x.remarks[1]).to eq("entity scope - entity where, with prefix")
126
+ expect(x.remarks[2]).to eq("schema scope - entity where")
127
+ expect(x.remarks[3]).to eq("schema scope - entity where, with prefix")
128
+ expect(x.remarks[4]).to eq("universal scope - entity where")
129
+ expect(x.remarks[5]).to eq("universal scope - entity where, with prefix")
130
+ end
131
+
132
+ schema.entities.first.informal_propositions.first.tap do |x|
133
+ expect(x).to be_instance_of(Expressir::Model::InformalProposition)
134
+ expect(x.remarks).to be_instance_of(Array)
135
+ expect(x.remarks.count).to eq(6)
136
+ expect(x.remarks[0]).to eq("entity scope - entity informal proposition")
137
+ expect(x.remarks[1]).to eq("entity scope - entity informal proposition, with prefix")
138
+ expect(x.remarks[2]).to eq("schema scope - entity informal proposition")
139
+ expect(x.remarks[3]).to eq("schema scope - entity informal proposition, with prefix")
140
+ expect(x.remarks[4]).to eq("universal scope - entity informal proposition")
141
+ expect(x.remarks[5]).to eq("universal scope - entity informal proposition, with prefix")
100
142
  end
101
-
143
+
102
144
  schema.subtype_constraints.first.tap do |x|
103
145
  expect(x).to be_instance_of(Expressir::Model::SubtypeConstraint)
104
146
  expect(x.remarks).to be_instance_of(Array)
@@ -106,7 +148,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
106
148
  expect(x.remarks[0]).to eq("schema scope - subtype constraint")
107
149
  expect(x.remarks[1]).to eq("universal scope - subtype constraint")
108
150
  end
109
-
151
+
110
152
  schema.functions.first.tap do |x|
111
153
  expect(x).to be_instance_of(Expressir::Model::Function)
112
154
  expect(x.remarks).to be_instance_of(Array)
@@ -114,7 +156,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
114
156
  expect(x.remarks[0]).to eq("schema scope - function")
115
157
  expect(x.remarks[1]).to eq("universal scope - function")
116
158
  end
117
-
159
+
118
160
  schema.functions.first.parameters.first.tap do |x|
119
161
  expect(x).to be_instance_of(Expressir::Model::Parameter)
120
162
  expect(x.remarks).to be_instance_of(Array)
@@ -123,7 +165,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
123
165
  expect(x.remarks[1]).to eq("schema scope - function parameter")
124
166
  expect(x.remarks[2]).to eq("universal scope - function parameter")
125
167
  end
126
-
168
+
127
169
  schema.functions.first.types.first.tap do |x|
128
170
  expect(x).to be_instance_of(Expressir::Model::Type)
129
171
  expect(x.remarks).to be_instance_of(Array)
@@ -136,13 +178,16 @@ RSpec.describe Expressir::ExpressExp::Parser do
136
178
  x.type.items.first.tap do |x|
137
179
  expect(x).to be_instance_of(Expressir::Model::EnumerationItem)
138
180
  expect(x.remarks).to be_instance_of(Array)
139
- expect(x.remarks.count).to eq(3)
181
+ expect(x.remarks.count).to eq(6)
140
182
  expect(x.remarks[0]).to eq("function scope - function enumeration item")
141
- expect(x.remarks[1]).to eq("schema scope - function enumeration item")
142
- expect(x.remarks[2]).to eq("universal scope - function enumeration item")
183
+ expect(x.remarks[1]).to eq("function scope - function enumeration item, on the same level as the type")
184
+ expect(x.remarks[2]).to eq("schema scope - function enumeration item")
185
+ expect(x.remarks[3]).to eq("schema scope - function enumeration item, on the same level as the type")
186
+ expect(x.remarks[4]).to eq("universal scope - function enumeration item")
187
+ expect(x.remarks[5]).to eq("universal scope - function enumeration item, on the same level as the type")
143
188
  end
144
189
  end
145
-
190
+
146
191
  schema.functions.first.constants.first.tap do |x|
147
192
  expect(x).to be_instance_of(Expressir::Model::Constant)
148
193
  expect(x.remarks).to be_instance_of(Array)
@@ -151,7 +196,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
151
196
  expect(x.remarks[1]).to eq("schema scope - function constant")
152
197
  expect(x.remarks[2]).to eq("universal scope - function constant")
153
198
  end
154
-
199
+
155
200
  schema.functions.first.variables.first.tap do |x|
156
201
  expect(x).to be_instance_of(Expressir::Model::Variable)
157
202
  expect(x.remarks).to be_instance_of(Array)
@@ -160,21 +205,21 @@ RSpec.describe Expressir::ExpressExp::Parser do
160
205
  expect(x.remarks[1]).to eq("schema scope - function variable")
161
206
  expect(x.remarks[2]).to eq("universal scope - function variable")
162
207
  end
163
-
208
+
164
209
  schema.functions.first.statements[0].tap do |x|
165
210
  expect(x).to be_instance_of(Expressir::Model::Statements::Alias)
166
211
  expect(x.remarks).to be_instance_of(Array)
167
212
  expect(x.remarks.count).to eq(1)
168
213
  expect(x.remarks[0]).to eq("function alias scope - function alias")
169
214
  end
170
-
215
+
171
216
  schema.functions.first.statements[1].tap do |x|
172
217
  expect(x).to be_instance_of(Expressir::Model::Statements::Repeat)
173
218
  expect(x.remarks).to be_instance_of(Array)
174
219
  expect(x.remarks.count).to eq(1)
175
220
  expect(x.remarks[0]).to eq("function repeat scope - function repeat")
176
221
  end
177
-
222
+
178
223
  schema.functions.first.statements[2].tap do |x|
179
224
  expect(x).to be_instance_of(Expressir::Model::Statements::Assignment)
180
225
  expect(x.expression).to be_instance_of(Expressir::Model::Expressions::QueryExpression)
@@ -182,7 +227,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
182
227
  expect(x.expression.remarks.count).to eq(1)
183
228
  expect(x.expression.remarks[0]).to eq("function query scope - function query")
184
229
  end
185
-
230
+
186
231
  schema.procedures.first.tap do |x|
187
232
  expect(x).to be_instance_of(Expressir::Model::Procedure)
188
233
  expect(x.remarks).to be_instance_of(Array)
@@ -190,7 +235,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
190
235
  expect(x.remarks[0]).to eq("schema scope - procedure")
191
236
  expect(x.remarks[1]).to eq("universal scope - procedure")
192
237
  end
193
-
238
+
194
239
  schema.procedures.first.parameters.first.tap do |x|
195
240
  expect(x).to be_instance_of(Expressir::Model::Parameter)
196
241
  expect(x.remarks).to be_instance_of(Array)
@@ -199,7 +244,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
199
244
  expect(x.remarks[1]).to eq("schema scope - procedure parameter")
200
245
  expect(x.remarks[2]).to eq("universal scope - procedure parameter")
201
246
  end
202
-
247
+
203
248
  schema.procedures.first.types.first.tap do |x|
204
249
  expect(x).to be_instance_of(Expressir::Model::Type)
205
250
  expect(x.remarks).to be_instance_of(Array)
@@ -212,13 +257,16 @@ RSpec.describe Expressir::ExpressExp::Parser do
212
257
  x.type.items.first.tap do |x|
213
258
  expect(x).to be_instance_of(Expressir::Model::EnumerationItem)
214
259
  expect(x.remarks).to be_instance_of(Array)
215
- expect(x.remarks.count).to eq(3)
260
+ expect(x.remarks.count).to eq(6)
216
261
  expect(x.remarks[0]).to eq("procedure scope - procedure enumeration item")
217
- expect(x.remarks[1]).to eq("schema scope - procedure enumeration item")
218
- expect(x.remarks[2]).to eq("universal scope - procedure enumeration item")
262
+ expect(x.remarks[1]).to eq("procedure scope - procedure enumeration item, on the same level as the type")
263
+ expect(x.remarks[2]).to eq("schema scope - procedure enumeration item")
264
+ expect(x.remarks[3]).to eq("schema scope - procedure enumeration item, on the same level as the type")
265
+ expect(x.remarks[4]).to eq("universal scope - procedure enumeration item")
266
+ expect(x.remarks[5]).to eq("universal scope - procedure enumeration item, on the same level as the type")
219
267
  end
220
268
  end
221
-
269
+
222
270
  schema.procedures.first.constants.first.tap do |x|
223
271
  expect(x).to be_instance_of(Expressir::Model::Constant)
224
272
  expect(x.remarks).to be_instance_of(Array)
@@ -227,7 +275,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
227
275
  expect(x.remarks[1]).to eq("schema scope - procedure constant")
228
276
  expect(x.remarks[2]).to eq("universal scope - procedure constant")
229
277
  end
230
-
278
+
231
279
  schema.procedures.first.variables.first.tap do |x|
232
280
  expect(x).to be_instance_of(Expressir::Model::Variable)
233
281
  expect(x.remarks).to be_instance_of(Array)
@@ -236,21 +284,21 @@ RSpec.describe Expressir::ExpressExp::Parser do
236
284
  expect(x.remarks[1]).to eq("schema scope - procedure variable")
237
285
  expect(x.remarks[2]).to eq("universal scope - procedure variable")
238
286
  end
239
-
287
+
240
288
  schema.procedures.first.statements[0].tap do |x|
241
289
  expect(x).to be_instance_of(Expressir::Model::Statements::Alias)
242
290
  expect(x.remarks).to be_instance_of(Array)
243
291
  expect(x.remarks.count).to eq(1)
244
292
  expect(x.remarks[0]).to eq("procedure alias scope - procedure alias")
245
293
  end
246
-
294
+
247
295
  schema.procedures.first.statements[1].tap do |x|
248
296
  expect(x).to be_instance_of(Expressir::Model::Statements::Repeat)
249
297
  expect(x.remarks).to be_instance_of(Array)
250
298
  expect(x.remarks.count).to eq(1)
251
299
  expect(x.remarks[0]).to eq("procedure repeat scope - procedure repeat")
252
300
  end
253
-
301
+
254
302
  schema.procedures.first.statements[2].tap do |x|
255
303
  expect(x).to be_instance_of(Expressir::Model::Statements::Assignment)
256
304
  expect(x.expression).to be_instance_of(Expressir::Model::Expressions::QueryExpression)
@@ -258,7 +306,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
258
306
  expect(x.expression.remarks.count).to eq(1)
259
307
  expect(x.expression.remarks[0]).to eq("procedure query scope - procedure query")
260
308
  end
261
-
309
+
262
310
  schema.rules.first.tap do |x|
263
311
  expect(x).to be_instance_of(Expressir::Model::Rule)
264
312
  expect(x.remarks).to be_instance_of(Array)
@@ -266,7 +314,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
266
314
  expect(x.remarks[0]).to eq("schema scope - rule")
267
315
  expect(x.remarks[1]).to eq("universal scope - rule")
268
316
  end
269
-
317
+
270
318
  schema.rules.first.types.first.tap do |x|
271
319
  expect(x).to be_instance_of(Expressir::Model::Type)
272
320
  expect(x.remarks).to be_instance_of(Array)
@@ -279,13 +327,16 @@ RSpec.describe Expressir::ExpressExp::Parser do
279
327
  x.type.items.first.tap do |x|
280
328
  expect(x).to be_instance_of(Expressir::Model::EnumerationItem)
281
329
  expect(x.remarks).to be_instance_of(Array)
282
- expect(x.remarks.count).to eq(3)
330
+ expect(x.remarks.count).to eq(6)
283
331
  expect(x.remarks[0]).to eq("rule scope - rule enumeration item")
284
- expect(x.remarks[1]).to eq("schema scope - rule enumeration item")
285
- expect(x.remarks[2]).to eq("universal scope - rule enumeration item")
332
+ expect(x.remarks[1]).to eq("rule scope - rule enumeration item, on the same level as the type")
333
+ expect(x.remarks[2]).to eq("schema scope - rule enumeration item")
334
+ expect(x.remarks[3]).to eq("schema scope - rule enumeration item, on the same level as the type")
335
+ expect(x.remarks[4]).to eq("universal scope - rule enumeration item")
336
+ expect(x.remarks[5]).to eq("universal scope - rule enumeration item, on the same level as the type")
286
337
  end
287
338
  end
288
-
339
+
289
340
  schema.rules.first.constants.first.tap do |x|
290
341
  expect(x).to be_instance_of(Expressir::Model::Constant)
291
342
  expect(x.remarks).to be_instance_of(Array)
@@ -294,7 +345,7 @@ RSpec.describe Expressir::ExpressExp::Parser do
294
345
  expect(x.remarks[1]).to eq("schema scope - rule constant")
295
346
  expect(x.remarks[2]).to eq("universal scope - rule constant")
296
347
  end
297
-
348
+
298
349
  schema.rules.first.variables.first.tap do |x|
299
350
  expect(x).to be_instance_of(Expressir::Model::Variable)
300
351
  expect(x.remarks).to be_instance_of(Array)
@@ -303,21 +354,21 @@ RSpec.describe Expressir::ExpressExp::Parser do
303
354
  expect(x.remarks[1]).to eq("schema scope - rule variable")
304
355
  expect(x.remarks[2]).to eq("universal scope - rule variable")
305
356
  end
306
-
357
+
307
358
  schema.rules.first.statements[0].tap do |x|
308
359
  expect(x).to be_instance_of(Expressir::Model::Statements::Alias)
309
360
  expect(x.remarks).to be_instance_of(Array)
310
361
  expect(x.remarks.count).to eq(1)
311
362
  expect(x.remarks[0]).to eq("rule alias scope - rule alias")
312
363
  end
313
-
364
+
314
365
  schema.rules.first.statements[1].tap do |x|
315
366
  expect(x).to be_instance_of(Expressir::Model::Statements::Repeat)
316
367
  expect(x.remarks).to be_instance_of(Array)
317
368
  expect(x.remarks.count).to eq(1)
318
369
  expect(x.remarks[0]).to eq("rule repeat scope - rule repeat")
319
370
  end
320
-
371
+
321
372
  schema.rules.first.statements[2].tap do |x|
322
373
  expect(x).to be_instance_of(Expressir::Model::Statements::Assignment)
323
374
  expect(x.expression).to be_instance_of(Expressir::Model::Expressions::QueryExpression)
@@ -325,14 +376,29 @@ RSpec.describe Expressir::ExpressExp::Parser do
325
376
  expect(x.expression.remarks.count).to eq(1)
326
377
  expect(x.expression.remarks[0]).to eq("rule query scope - rule query")
327
378
  end
328
-
379
+
329
380
  schema.rules.first.where.first.tap do |x|
330
381
  expect(x).to be_instance_of(Expressir::Model::Where)
331
382
  expect(x.remarks).to be_instance_of(Array)
332
- expect(x.remarks.count).to eq(3)
383
+ expect(x.remarks.count).to eq(6)
333
384
  expect(x.remarks[0]).to eq("rule scope - rule where")
334
- expect(x.remarks[1]).to eq("schema scope - rule where")
335
- expect(x.remarks[2]).to eq("universal scope - rule where")
385
+ expect(x.remarks[1]).to eq("rule scope - rule where, with prefix")
386
+ expect(x.remarks[2]).to eq("schema scope - rule where")
387
+ expect(x.remarks[3]).to eq("schema scope - rule where, with prefix")
388
+ expect(x.remarks[4]).to eq("universal scope - rule where")
389
+ expect(x.remarks[5]).to eq("universal scope - rule where, with prefix")
390
+ end
391
+
392
+ schema.rules.first.informal_propositions.first.tap do |x|
393
+ expect(x).to be_instance_of(Expressir::Model::InformalProposition)
394
+ expect(x.remarks).to be_instance_of(Array)
395
+ expect(x.remarks.count).to eq(6)
396
+ expect(x.remarks[0]).to eq("rule scope - rule informal proposition")
397
+ expect(x.remarks[1]).to eq("rule scope - rule informal proposition, with prefix")
398
+ expect(x.remarks[2]).to eq("schema scope - rule informal proposition")
399
+ expect(x.remarks[3]).to eq("schema scope - rule informal proposition, with prefix")
400
+ expect(x.remarks[4]).to eq("universal scope - rule informal proposition")
401
+ expect(x.remarks[5]).to eq("universal scope - rule informal proposition, with prefix")
336
402
  end
337
403
  end
338
404
  end
@@ -42,6 +42,19 @@ RSpec.describe Expressir::ExpressExp::Parser do
42
42
  end
43
43
 
44
44
  use_interfaces[2].tap do |x|
45
+ expect(x).to be_instance_of(Expressir::Model::Interface)
46
+ expect(x.kind).to eq(Expressir::Model::Interface::USE)
47
+ expect(x.schema).to be_instance_of(Expressir::Model::Expressions::SimpleReference)
48
+ expect(x.schema.id).to eq("contract_schema")
49
+ expect(x.items).to be_instance_of(Array)
50
+ expect(x.items.count).to eq(2)
51
+ expect(x.items[0]).to be_instance_of(Expressir::Model::Expressions::SimpleReference)
52
+ expect(x.items[0].id).to eq("contract")
53
+ expect(x.items[1]).to be_instance_of(Expressir::Model::Expressions::SimpleReference)
54
+ expect(x.items[1].id).to eq("contract2")
55
+ end
56
+
57
+ use_interfaces[3].tap do |x|
45
58
  expect(x).to be_instance_of(Expressir::Model::Interface)
46
59
  expect(x.kind).to eq(Expressir::Model::Interface::USE)
47
60
  expect(x.schema).to be_instance_of(Expressir::Model::Expressions::SimpleReference)
@@ -73,6 +86,19 @@ RSpec.describe Expressir::ExpressExp::Parser do
73
86
  end
74
87
 
75
88
  reference_interfaces[2].tap do |x|
89
+ expect(x).to be_instance_of(Expressir::Model::Interface)
90
+ expect(x.kind).to eq(Expressir::Model::Interface::REFERENCE)
91
+ expect(x.schema).to be_instance_of(Expressir::Model::Expressions::SimpleReference)
92
+ expect(x.schema.id).to eq("contract_schema")
93
+ expect(x.items).to be_instance_of(Array)
94
+ expect(x.items.count).to eq(2)
95
+ expect(x.items[0]).to be_instance_of(Expressir::Model::Expressions::SimpleReference)
96
+ expect(x.items[0].id).to eq("contract")
97
+ expect(x.items[1]).to be_instance_of(Expressir::Model::Expressions::SimpleReference)
98
+ expect(x.items[1].id).to eq("contract2")
99
+ end
100
+
101
+ reference_interfaces[3].tap do |x|
76
102
  expect(x).to be_instance_of(Expressir::Model::Interface)
77
103
  expect(x.kind).to eq(Expressir::Model::Interface::REFERENCE)
78
104
  expect(x.schema).to be_instance_of(Expressir::Model::Expressions::SimpleReference)
@@ -1438,6 +1464,20 @@ RSpec.describe Expressir::ExpressExp::Parser do
1438
1464
  expect(x.where[0].expression.value).to eq(Expressir::Model::Literals::Logical::TRUE)
1439
1465
  end
1440
1466
 
1467
+ rules.find{|x| x.id == "where_label_rule"}.tap do |x|
1468
+ expect(x).to be_instance_of(Expressir::Model::Rule)
1469
+ expect(x.applies_to).to be_instance_of(Array)
1470
+ expect(x.applies_to.count).to eq(1)
1471
+ expect(x.applies_to[0]).to be_instance_of(Expressir::Model::Expressions::SimpleReference)
1472
+ expect(x.applies_to[0].id).to eq("empty_entity")
1473
+ expect(x.where).to be_instance_of(Array)
1474
+ expect(x.where.count).to eq(1)
1475
+ expect(x.where[0]).to be_instance_of(Expressir::Model::Where)
1476
+ expect(x.where[0].id).to eq("WR1")
1477
+ expect(x.where[0].expression).to be_instance_of(Expressir::Model::Literals::Logical)
1478
+ expect(x.where[0].expression.value).to eq(Expressir::Model::Literals::Logical::TRUE)
1479
+ end
1480
+
1441
1481
  # simple types
1442
1482
  types.find{|x| x.id == "binary_type"}.type.tap do |x|
1443
1483
  expect(x).to be_instance_of(Expressir::Model::Types::Binary)
@@ -2089,6 +2129,11 @@ RSpec.describe Expressir::ExpressExp::Parser do
2089
2129
  expect(x.value).to eq("xxx")
2090
2130
  end
2091
2131
 
2132
+ functions.find{|x| x.id == "utf8_simple_string_expression"}.statements[0].expression.tap do |x|
2133
+ expect(x).to be_instance_of(Expressir::Model::Literals::String)
2134
+ expect(x.value).to eq("UTF8 test: Příliš žluťoučký kůň úpěl ďábelské ódy.")
2135
+ end
2136
+
2092
2137
  functions.find{|x| x.id == "encoded_string_expression"}.statements[0].expression.tap do |x|
2093
2138
  expect(x).to be_instance_of(Expressir::Model::Literals::String)
2094
2139
  expect(x.value).to eq("000000780000007800000078")
@@ -2982,8 +3027,8 @@ RSpec.describe Expressir::ExpressExp::Parser do
2982
3027
  functions.find{|x| x.id == "query_expression"}.statements[0].expression.tap do |x|
2983
3028
  expect(x).to be_instance_of(Expressir::Model::Expressions::QueryExpression)
2984
3029
  expect(x.id).to eq("test")
2985
- expect(x.source).to be_instance_of(Expressir::Model::Expressions::SimpleReference)
2986
- expect(x.source.id).to eq("test2")
3030
+ expect(x.aggregate_source).to be_instance_of(Expressir::Model::Expressions::SimpleReference)
3031
+ expect(x.aggregate_source.id).to eq("test2")
2987
3032
  expect(x.expression).to be_instance_of(Expressir::Model::Literals::Logical)
2988
3033
  expect(x.expression.value).to eq(Expressir::Model::Literals::Logical::TRUE)
2989
3034
  end