expressir 0.2.1 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (560) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/rake.yml +46 -0
  3. data/.github/workflows/release.yml +75 -0
  4. data/.gitignore +15 -15
  5. data/.gitmodules +3 -0
  6. data/.rspec +2 -2
  7. data/.rubocop.yml +508 -508
  8. data/Gemfile +6 -4
  9. data/README.adoc +147 -147
  10. data/Rakefile +25 -6
  11. data/bin/console +12 -12
  12. data/bin/rspec +29 -29
  13. data/bin/setup +8 -8
  14. data/demo.rb +18 -18
  15. data/docs/development.md +90 -90
  16. data/exe/expressir +20 -20
  17. data/exe/generate-parser +48 -0
  18. data/expressir.gemspec +42 -36
  19. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +118 -0
  20. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj +637 -0
  21. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj.filters +984 -0
  22. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj +652 -0
  23. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj.filters +990 -0
  24. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj +652 -0
  25. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj.filters +990 -0
  26. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +652 -0
  27. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +990 -0
  28. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/Info.plist +26 -0
  29. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/antlrcpp_ios.h +17 -0
  30. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +3024 -0
  31. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  32. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  33. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +76 -0
  34. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +80 -0
  35. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +80 -0
  36. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +10 -0
  37. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +167 -0
  38. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +10 -0
  39. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +121 -0
  40. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +34 -0
  41. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +27 -0
  42. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +155 -0
  43. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +69 -0
  44. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +61 -0
  45. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +59 -0
  46. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +25 -0
  47. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +36 -0
  48. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +414 -0
  49. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +200 -0
  50. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +11 -0
  51. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +37 -0
  52. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +195 -0
  53. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +158 -0
  54. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +39 -0
  55. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +74 -0
  56. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +78 -0
  57. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +79 -0
  58. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +15 -0
  59. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +35 -0
  60. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +333 -0
  61. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +466 -0
  62. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +84 -0
  63. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +80 -0
  64. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +64 -0
  65. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +99 -0
  66. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +51 -0
  67. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +32 -0
  68. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +18 -0
  69. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +24 -0
  70. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +12 -0
  71. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +218 -0
  72. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +19 -0
  73. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +45 -0
  74. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +295 -0
  75. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +196 -0
  76. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +75 -0
  77. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +52 -0
  78. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +36 -0
  79. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +31 -0
  80. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +92 -0
  81. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +88 -0
  82. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +46 -0
  83. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +42 -0
  84. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +648 -0
  85. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +467 -0
  86. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +306 -0
  87. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +179 -0
  88. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +141 -0
  89. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +147 -0
  90. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +53 -0
  91. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +38 -0
  92. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +66 -0
  93. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +98 -0
  94. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +167 -0
  95. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +164 -0
  96. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +143 -0
  97. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +137 -0
  98. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +27 -0
  99. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +32 -0
  100. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +53 -0
  101. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +155 -0
  102. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +9 -0
  103. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +92 -0
  104. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +30 -0
  105. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +9 -0
  106. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +85 -0
  107. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +11 -0
  108. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +137 -0
  109. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +425 -0
  110. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +293 -0
  111. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +211 -0
  112. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +123 -0
  113. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +270 -0
  114. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +115 -0
  115. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +104 -0
  116. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +193 -0
  117. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +9 -0
  118. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +23 -0
  119. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +137 -0
  120. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +167 -0
  121. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +209 -0
  122. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +112 -0
  123. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +113 -0
  124. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +148 -0
  125. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +228 -0
  126. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +110 -0
  127. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +64 -0
  128. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +50 -0
  129. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +758 -0
  130. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +85 -0
  131. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +621 -0
  132. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.h +61 -0
  133. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +63 -0
  134. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +87 -0
  135. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +72 -0
  136. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +133 -0
  137. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +20 -0
  138. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.cpp +14 -0
  139. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.h +24 -0
  140. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +33 -0
  141. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +33 -0
  142. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +16 -0
  143. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +68 -0
  144. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +82 -0
  145. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +43 -0
  146. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +31 -0
  147. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +30 -0
  148. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.cpp +12 -0
  149. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +22 -0
  150. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.cpp +12 -0
  151. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +21 -0
  152. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.cpp +15 -0
  153. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +24 -0
  154. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.cpp +9 -0
  155. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +21 -0
  156. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +14 -0
  157. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +47 -0
  158. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +14 -0
  159. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +70 -0
  160. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +25 -0
  161. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +227 -0
  162. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +17 -0
  163. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +30 -0
  164. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.cpp +35 -0
  165. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.h +27 -0
  166. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +35 -0
  167. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +39 -0
  168. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +15 -0
  169. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +43 -0
  170. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +158 -0
  171. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +109 -0
  172. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +84 -0
  173. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +44 -0
  174. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +628 -0
  175. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +210 -0
  176. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +9 -0
  177. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +66 -0
  178. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +107 -0
  179. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +115 -0
  180. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +55 -0
  181. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +55 -0
  182. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +63 -0
  183. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +62 -0
  184. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +87 -0
  185. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +63 -0
  186. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +82 -0
  187. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +56 -0
  188. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +61 -0
  189. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +47 -0
  190. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +57 -0
  191. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +47 -0
  192. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +57 -0
  193. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +56 -0
  194. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +61 -0
  195. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +47 -0
  196. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +55 -0
  197. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +56 -0
  198. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +55 -0
  199. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +16 -0
  200. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +42 -0
  201. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.cpp +12 -0
  202. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +22 -0
  203. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Makefile +67 -0
  204. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +27 -0
  205. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +25 -0
  206. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +12 -0
  207. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +20 -0
  208. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +102 -0
  209. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +102 -0
  210. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +1366 -0
  211. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +904 -0
  212. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.cpp +12 -0
  213. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +25 -0
  214. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.cpp +12 -0
  215. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +22 -0
  216. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +32 -0
  217. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +29 -0
  218. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +17 -0
  219. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +62 -0
  220. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +34 -0
  221. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +39 -0
  222. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +662 -0
  223. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +254 -0
  224. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +201 -0
  225. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +436 -0
  226. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +179 -0
  227. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +60 -0
  228. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +30 -0
  229. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +29 -0
  230. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.cpp +16 -0
  231. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +25 -0
  232. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.cpp +12 -0
  233. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +25 -0
  234. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +37 -0
  235. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +40 -0
  236. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +377 -0
  237. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +222 -0
  238. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +32 -0
  239. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +30 -0
  240. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +81 -0
  241. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +36 -0
  242. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.cpp +12 -0
  243. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +21 -0
  244. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.cpp +15 -0
  245. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +35 -0
  246. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +19 -0
  247. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +21 -0
  248. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.cpp +12 -0
  249. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +21 -0
  250. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +44 -0
  251. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +76 -0
  252. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +25 -0
  253. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +25 -0
  254. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +127 -0
  255. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +91 -0
  256. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +67 -0
  257. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +32 -0
  258. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +100 -0
  259. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +144 -0
  260. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +20 -0
  261. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +23 -0
  262. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +124 -0
  263. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +31 -0
  264. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +89 -0
  265. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +84 -0
  266. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +521 -0
  267. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +198 -0
  268. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +134 -0
  269. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +76 -0
  270. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +4 -0
  271. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +21 -0
  272. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +13 -0
  273. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +170 -0
  274. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +43 -0
  275. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +110 -0
  276. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +76 -0
  277. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +248 -0
  278. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +78 -0
  279. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +163 -0
  280. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +36 -0
  281. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +54 -0
  282. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.cpp +303 -0
  283. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.h +112 -0
  284. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +128 -0
  285. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.cpp +9 -0
  286. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +19 -0
  287. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +23 -0
  288. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +33 -0
  289. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +71 -0
  290. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +53 -0
  291. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +15 -0
  292. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +102 -0
  293. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +9 -0
  294. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +39 -0
  295. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +50 -0
  296. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +9 -0
  297. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +57 -0
  298. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +49 -0
  299. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +31 -0
  300. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.cpp +9 -0
  301. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +32 -0
  302. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +57 -0
  303. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +33 -0
  304. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +241 -0
  305. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +78 -0
  306. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +9 -0
  307. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +44 -0
  308. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +69 -0
  309. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +132 -0
  310. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +64 -0
  311. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +105 -0
  312. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +371 -0
  313. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +185 -0
  314. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +77 -0
  315. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +117 -0
  316. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +39 -0
  317. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +86 -0
  318. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +28 -0
  319. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +51 -0
  320. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +36 -0
  321. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +80 -0
  322. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +154 -0
  323. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +86 -0
  324. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +31 -0
  325. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +40 -0
  326. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +173 -0
  327. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.g4 +64 -0
  328. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +56 -0
  329. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.tokens +12 -0
  330. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +13 -0
  331. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +22 -0
  332. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +20 -0
  333. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +27 -0
  334. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +30 -0
  335. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +26 -0
  336. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +20 -0
  337. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +25 -0
  338. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +33 -0
  339. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +26 -0
  340. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +23 -0
  341. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +23 -0
  342. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +24 -0
  343. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +23 -0
  344. data/ext/express-parser/antlrgen/Express.interp +532 -0
  345. data/ext/express-parser/antlrgen/Express.tokens +190 -0
  346. data/ext/express-parser/antlrgen/ExpressBaseListener.cpp +7 -0
  347. data/ext/express-parser/antlrgen/ExpressBaseListener.h +623 -0
  348. data/ext/express-parser/antlrgen/ExpressBaseVisitor.cpp +7 -0
  349. data/ext/express-parser/antlrgen/ExpressBaseVisitor.h +816 -0
  350. data/ext/express-parser/antlrgen/ExpressLexer.cpp +1169 -0
  351. data/ext/express-parser/antlrgen/ExpressLexer.h +85 -0
  352. data/ext/express-parser/antlrgen/ExpressLexer.interp +534 -0
  353. data/ext/express-parser/antlrgen/ExpressLexer.tokens +190 -0
  354. data/ext/express-parser/antlrgen/ExpressListener.cpp +7 -0
  355. data/ext/express-parser/antlrgen/ExpressListener.h +616 -0
  356. data/ext/express-parser/antlrgen/ExpressParser.cpp +17284 -0
  357. data/ext/express-parser/antlrgen/ExpressParser.h +3696 -0
  358. data/ext/express-parser/antlrgen/ExpressVisitor.cpp +7 -0
  359. data/ext/express-parser/antlrgen/ExpressVisitor.h +422 -0
  360. data/ext/express-parser/express_parser.cpp +17931 -0
  361. data/ext/express-parser/extconf.rb +35 -0
  362. data/lib/expressir.rb +21 -21
  363. data/lib/expressir/cli.rb +27 -27
  364. data/lib/expressir/cli/ui.rb +36 -36
  365. data/lib/expressir/config.rb +23 -23
  366. data/lib/expressir/express.rb +11 -11
  367. data/lib/expressir/express/aggregate_dimension.rb +38 -38
  368. data/lib/expressir/express/attribute.rb +15 -15
  369. data/lib/expressir/express/comment.rb +7 -7
  370. data/lib/expressir/express/defined_type.rb +36 -36
  371. data/lib/expressir/express/derived.rb +65 -65
  372. data/lib/expressir/express/derived_aggregate.rb +43 -43
  373. data/lib/expressir/express/entity.rb +137 -137
  374. data/lib/expressir/express/explicit.rb +70 -70
  375. data/lib/expressir/express/explicit_aggregate.rb +46 -46
  376. data/lib/expressir/express/explicit_or_derived.rb +16 -16
  377. data/lib/expressir/express/global_rule.rb +44 -44
  378. data/lib/expressir/express/interface_specification.rb +51 -51
  379. data/lib/expressir/express/interfaced_item.rb +38 -38
  380. data/lib/expressir/express/inverse.rb +46 -46
  381. data/lib/expressir/express/inverse_aggregate.rb +37 -37
  382. data/lib/expressir/express/model_element.rb +7 -7
  383. data/lib/expressir/express/named_type.rb +19 -19
  384. data/lib/expressir/express/remark.rb +8 -8
  385. data/lib/expressir/express/repository.rb +306 -306
  386. data/lib/expressir/express/schema_definition.rb +96 -96
  387. data/lib/expressir/express/subtype_constraint.rb +14 -14
  388. data/lib/expressir/express/type.rb +26 -26
  389. data/lib/expressir/express/type_aggregate.rb +42 -42
  390. data/lib/expressir/express/type_enum.rb +29 -29
  391. data/lib/expressir/express/type_parser.rb +45 -45
  392. data/lib/expressir/express/type_select.rb +82 -82
  393. data/lib/expressir/express/unique_rule.rb +35 -35
  394. data/lib/expressir/express/where_rule.rb +32 -32
  395. data/lib/expressir/express_exp/formatter.rb +1450 -0
  396. data/lib/expressir/express_exp/parser.rb +35 -29
  397. data/lib/expressir/express_exp/visitor.rb +2450 -2133
  398. data/lib/expressir/express_parser.rb +30 -30
  399. data/lib/expressir/model.rb +64 -90
  400. data/lib/expressir/model/{derived.rb → attribute.rb} +26 -18
  401. data/lib/expressir/model/constant.rb +16 -16
  402. data/lib/expressir/model/entity.rb +45 -40
  403. data/lib/expressir/model/enumeration_item.rb +10 -12
  404. data/lib/expressir/model/expressions/aggregate_initializer.rb +13 -13
  405. data/lib/expressir/model/expressions/aggregate_item.rb +15 -0
  406. data/lib/expressir/model/expressions/{attribute_qualifier.rb → attribute_reference.rb} +14 -12
  407. data/lib/expressir/model/expressions/binary_expression.rb +40 -0
  408. data/lib/expressir/model/expressions/{function_call.rb → call.rb} +14 -14
  409. data/lib/expressir/model/expressions/entity_constructor.rb +15 -15
  410. data/lib/expressir/model/expressions/{group_qualifier.rb → group_reference.rb} +14 -12
  411. data/lib/expressir/model/expressions/{index_qualifier.rb → index_reference.rb} +16 -14
  412. data/lib/expressir/model/expressions/interval.rb +21 -21
  413. data/lib/expressir/model/expressions/query_expression.rb +26 -0
  414. data/lib/expressir/model/expressions/simple_reference.rb +13 -0
  415. data/lib/expressir/model/expressions/{expression.rb → unary_expression.rb} +18 -14
  416. data/lib/expressir/model/function.rb +61 -53
  417. data/lib/expressir/model/identifier.rb +9 -0
  418. data/lib/expressir/model/{reference.rb → interface.rb} +17 -12
  419. data/lib/expressir/model/literals/binary.rb +12 -12
  420. data/lib/expressir/model/literals/integer.rb +12 -12
  421. data/lib/expressir/model/literals/logical.rb +16 -12
  422. data/lib/expressir/model/literals/real.rb +12 -12
  423. data/lib/expressir/model/literals/string.rb +14 -14
  424. data/lib/expressir/model/parameter.rb +16 -16
  425. data/lib/expressir/model/procedure.rb +59 -51
  426. data/lib/expressir/model/renamed_ref.rb +12 -12
  427. data/lib/expressir/model/repository.rb +18 -16
  428. data/lib/expressir/model/rule.rb +61 -53
  429. data/lib/expressir/model/schema.rb +66 -50
  430. data/lib/expressir/model/scope.rb +17 -0
  431. data/lib/expressir/model/statements/alias.rb +25 -24
  432. data/lib/expressir/model/statements/assignment.rb +14 -14
  433. data/lib/expressir/model/statements/{procedure_call.rb → call.rb} +14 -14
  434. data/lib/expressir/model/statements/case.rb +16 -16
  435. data/lib/expressir/model/statements/case_action.rb +14 -14
  436. data/lib/expressir/model/statements/compound.rb +12 -12
  437. data/lib/expressir/model/statements/escape.rb +7 -7
  438. data/lib/expressir/model/statements/if.rb +16 -16
  439. data/lib/expressir/model/statements/null.rb +7 -7
  440. data/lib/expressir/model/statements/repeat.rb +33 -32
  441. data/lib/expressir/model/statements/return.rb +12 -12
  442. data/lib/expressir/model/statements/skip.rb +7 -7
  443. data/lib/expressir/model/subtype_constraint.rb +26 -20
  444. data/lib/expressir/model/type.rb +23 -22
  445. data/lib/expressir/model/types/aggregate.rb +16 -16
  446. data/lib/expressir/model/types/array.rb +20 -20
  447. data/lib/expressir/model/types/bag.rb +16 -16
  448. data/lib/expressir/model/types/binary.rb +14 -14
  449. data/lib/expressir/model/types/boolean.rb +7 -7
  450. data/lib/expressir/model/types/enumeration.rb +18 -18
  451. data/lib/expressir/model/types/generic.rb +12 -14
  452. data/lib/expressir/model/types/generic_entity.rb +12 -14
  453. data/lib/expressir/model/types/integer.rb +7 -7
  454. data/lib/expressir/model/types/list.rb +18 -18
  455. data/lib/expressir/model/types/logical.rb +7 -7
  456. data/lib/expressir/model/types/number.rb +7 -7
  457. data/lib/expressir/model/types/real.rb +12 -12
  458. data/lib/expressir/model/types/select.rb +20 -20
  459. data/lib/expressir/model/types/set.rb +16 -16
  460. data/lib/expressir/model/types/string.rb +14 -14
  461. data/lib/expressir/model/unique.rb +14 -14
  462. data/lib/expressir/model/{local.rb → variable.rb} +16 -16
  463. data/lib/expressir/model/where.rb +14 -14
  464. data/lib/expressir/parser.rb +6 -6
  465. data/lib/expressir/parser/owl_parser.rb +8 -8
  466. data/lib/expressir/version.rb +3 -3
  467. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp +9589 -9589
  468. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl +36619 -36619
  469. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.xml +13293 -13293
  470. data/original/examples/employment/eclipse/.project +17 -17
  471. data/original/examples/employment/eclipse/Express/employment_schema.exp +33 -33
  472. data/original/examples/employment/eclipse/Express/employment_schema.xmi +77 -77
  473. data/original/examples/employment/eclipse/Express/employment_schema.xml +92 -92
  474. data/original/examples/employment/eclipse/Models/Employment.uml +4 -4
  475. data/original/examples/employment/eclipse/Models/Employment.umldi +240 -240
  476. data/original/examples/employment/eclipse/readme.txt +6 -6
  477. data/original/examples/employment/employment_schema.exp +33 -33
  478. data/original/examples/employment/employment_schema.rb +232 -232
  479. data/original/examples/employment/employment_schema.xml +92 -92
  480. data/original/examples/employment/employment_schema___module.rb +46 -46
  481. data/original/examples/employment/employment_schema___p28attr.rb +126 -126
  482. data/original/examples/employment/employment_schema___p28inst.rb +26 -26
  483. data/original/examples/employment/example_employment_data.xml +1 -1
  484. data/original/examples/employment/example_employment_data_copy.xml +1 -1
  485. data/original/examples/employment/example_employment_reader.rb +30 -30
  486. data/original/examples/employment/example_employment_writer.rb +51 -51
  487. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.exp +3710 -3710
  488. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.owl +35880 -35880
  489. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xmi +15357 -15357
  490. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xml +9467 -9467
  491. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.exp +8404 -8404
  492. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl +43147 -43147
  493. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi +18341 -18341
  494. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml +11631 -11631
  495. data/original/examples/syntax/remark.exp +145 -127
  496. data/original/examples/syntax/remark_formatted.exp +174 -0
  497. data/original/examples/syntax/syntax.exp +310 -300
  498. data/original/examples/syntax/syntax_formatted.exp +1187 -0
  499. data/original/exp2ruby.rb +525 -525
  500. data/original/expsm.rb +34 -34
  501. data/original/mapping_owl.rb +1018 -1018
  502. data/original/mapping_sysml.rb +2281 -2281
  503. data/original/mapping_uml2.rb +598 -598
  504. data/original/mapping_uml2_eclipse.rb +433 -433
  505. data/original/reeper.rb +134 -134
  506. data/spec/acceptance/express_to_owl_spec.rb +18 -18
  507. data/spec/acceptance/version_spec.rb +12 -12
  508. data/spec/expressir/express/repository_spec.rb +25 -25
  509. data/spec/expressir/express_exp/ap233_spec.rb +22 -22
  510. data/spec/expressir/express_exp/format_remark_spec.rb +28 -0
  511. data/spec/expressir/express_exp/format_syntax_spec.rb +28 -0
  512. data/spec/expressir/express_exp/{remark_spec.rb → parse_remark_spec.rb} +345 -301
  513. data/spec/expressir/express_exp/parse_syntax_spec.rb +2998 -0
  514. data/spec/expressir/model/find_spec.rb +110 -0
  515. data/spec/expressr_spec.rb +5 -5
  516. data/spec/spec_helper.rb +17 -17
  517. data/spec/support/console_helper.rb +29 -29
  518. metadata +401 -67
  519. data/.github/workflows/macos.yml +0 -38
  520. data/.github/workflows/ubuntu.yml +0 -56
  521. data/.github/workflows/windows.yml +0 -40
  522. data/generate-parser.sh +0 -29
  523. data/lib/expressir/express_exp/generated/ExpressBaseVisitor.rb +0 -779
  524. data/lib/expressir/express_exp/generated/ExpressLexer.rb +0 -844
  525. data/lib/expressir/express_exp/generated/ExpressParser.rb +0 -12162
  526. data/lib/expressir/express_exp/generated/ExpressVisitor.rb +0 -394
  527. data/lib/expressir/model/explicit.rb +0 -19
  528. data/lib/expressir/model/expressions/aggregate_element.rb +0 -15
  529. data/lib/expressir/model/expressions/qualified_ref.rb +0 -15
  530. data/lib/expressir/model/expressions/query.rb +0 -25
  531. data/lib/expressir/model/inverse.rb +0 -19
  532. data/lib/expressir/model/operators/addition.rb +0 -8
  533. data/lib/expressir/model/operators/and.rb +0 -8
  534. data/lib/expressir/model/operators/andor.rb +0 -8
  535. data/lib/expressir/model/operators/combine.rb +0 -8
  536. data/lib/expressir/model/operators/equal.rb +0 -8
  537. data/lib/expressir/model/operators/exponentiation.rb +0 -8
  538. data/lib/expressir/model/operators/greater_than.rb +0 -8
  539. data/lib/expressir/model/operators/greater_than_or_equal.rb +0 -8
  540. data/lib/expressir/model/operators/in.rb +0 -8
  541. data/lib/expressir/model/operators/instance_equal.rb +0 -8
  542. data/lib/expressir/model/operators/instance_not_equal.rb +0 -8
  543. data/lib/expressir/model/operators/integer_division.rb +0 -8
  544. data/lib/expressir/model/operators/less_than.rb +0 -8
  545. data/lib/expressir/model/operators/less_than_or_equal.rb +0 -8
  546. data/lib/expressir/model/operators/like.rb +0 -8
  547. data/lib/expressir/model/operators/modulo.rb +0 -8
  548. data/lib/expressir/model/operators/multiplication.rb +0 -8
  549. data/lib/expressir/model/operators/not.rb +0 -8
  550. data/lib/expressir/model/operators/not_equal.rb +0 -8
  551. data/lib/expressir/model/operators/oneof.rb +0 -8
  552. data/lib/expressir/model/operators/or.rb +0 -8
  553. data/lib/expressir/model/operators/real_division.rb +0 -8
  554. data/lib/expressir/model/operators/subtraction.rb +0 -8
  555. data/lib/expressir/model/operators/unary_minus.rb +0 -8
  556. data/lib/expressir/model/operators/unary_plus.rb +0 -8
  557. data/lib/expressir/model/operators/xor.rb +0 -8
  558. data/lib/expressir/model/ref.rb +0 -11
  559. data/lib/expressir/model/use.rb +0 -13
  560. data/spec/expressir/express_exp/syntax_spec.rb +0 -2992
@@ -0,0 +1,1187 @@
1
+ SCHEMA syntax_schema 'version';
2
+ USE FROM contract_schema;
3
+ USE FROM contract_schema
4
+ (contract);
5
+ USE FROM contract_schema
6
+ (contract AS contract2);
7
+ REFERENCE FROM contract_schema;
8
+ REFERENCE FROM contract_schema
9
+ (contract);
10
+ REFERENCE FROM contract_schema
11
+ (contract AS contract2);
12
+ CONSTANT
13
+ empty_constant : BOOLEAN := TRUE;
14
+ END_CONSTANT;
15
+ TYPE empty_type = BOOLEAN;
16
+ END_TYPE;
17
+
18
+ TYPE where_type = BOOLEAN;
19
+ WHERE
20
+ TRUE;
21
+ END_TYPE;
22
+
23
+ TYPE where_label_type = BOOLEAN;
24
+ WHERE
25
+ WR1 : TRUE;
26
+ END_TYPE;
27
+
28
+ ENTITY empty_entity;
29
+ END_ENTITY;
30
+
31
+ ENTITY abstract_entity
32
+ ABSTRACT SUPERTYPE;
33
+ END_ENTITY;
34
+
35
+ ENTITY abstract_supertype_entity
36
+ ABSTRACT SUPERTYPE;
37
+ END_ENTITY;
38
+
39
+ ENTITY abstract_supertype_constraint_entity
40
+ ABSTRACT SUPERTYPE OF (empty_entity);
41
+ END_ENTITY;
42
+
43
+ ENTITY supertype_constraint_entity
44
+ SUPERTYPE OF (empty_entity);
45
+ END_ENTITY;
46
+
47
+ ENTITY subtype_entity
48
+ SUBTYPE OF (empty_entity);
49
+ END_ENTITY;
50
+
51
+ ENTITY supertype_constraint_subtype_entity
52
+ SUPERTYPE OF (empty_entity)
53
+ SUBTYPE OF (empty_entity);
54
+ END_ENTITY;
55
+
56
+ ENTITY attribute_entity;
57
+ test : BOOLEAN;
58
+ END_ENTITY;
59
+
60
+ ENTITY attribute_optional_entity;
61
+ test : OPTIONAL BOOLEAN;
62
+ END_ENTITY;
63
+
64
+ ENTITY attribute_multiple_entity;
65
+ test : BOOLEAN;
66
+ test2 : BOOLEAN;
67
+ END_ENTITY;
68
+
69
+ ENTITY attribute_multiple_shorthand_entity;
70
+ test : BOOLEAN;
71
+ test2 : BOOLEAN;
72
+ END_ENTITY;
73
+
74
+ ENTITY attribute_redeclared_entity;
75
+ SELF\attribute_entity.test : BOOLEAN;
76
+ END_ENTITY;
77
+
78
+ ENTITY attribute_redeclared_renamed_entity;
79
+ SELF\attribute_entity.test RENAMED test2 : BOOLEAN;
80
+ END_ENTITY;
81
+
82
+ ENTITY derived_attribute_entity;
83
+ DERIVE
84
+ test : BOOLEAN := TRUE;
85
+ END_ENTITY;
86
+
87
+ ENTITY derived_attribute_redeclared_entity;
88
+ DERIVE
89
+ SELF\attribute_entity.test : BOOLEAN := TRUE;
90
+ END_ENTITY;
91
+
92
+ ENTITY derived_attribute_redeclared_renamed_entity;
93
+ DERIVE
94
+ SELF\attribute_entity.test RENAMED test2 : BOOLEAN := TRUE;
95
+ END_ENTITY;
96
+
97
+ ENTITY inverse_attribute_entity;
98
+ INVERSE
99
+ test : attribute_entity FOR test;
100
+ END_ENTITY;
101
+
102
+ ENTITY inverse_attribute_entity_entity;
103
+ INVERSE
104
+ test : attribute_entity FOR attribute_entity.test;
105
+ END_ENTITY;
106
+
107
+ ENTITY inverse_attribute_set_entity;
108
+ INVERSE
109
+ test : SET OF attribute_entity FOR test;
110
+ END_ENTITY;
111
+
112
+ ENTITY inverse_attribute_set_bound_entity;
113
+ INVERSE
114
+ test : SET [1:9] OF attribute_entity FOR test;
115
+ END_ENTITY;
116
+
117
+ ENTITY inverse_attribute_bag_entity;
118
+ INVERSE
119
+ test : BAG OF attribute_entity FOR test;
120
+ END_ENTITY;
121
+
122
+ ENTITY inverse_attribute_bag_bound_entity;
123
+ INVERSE
124
+ test : BAG [1:9] OF attribute_entity FOR test;
125
+ END_ENTITY;
126
+
127
+ ENTITY inverse_attribute_redeclared_entity;
128
+ INVERSE
129
+ SELF\attribute_entity.test : attribute_entity FOR test;
130
+ END_ENTITY;
131
+
132
+ ENTITY inverse_attribute_redeclared_renamed_entity;
133
+ INVERSE
134
+ SELF\attribute_entity.test RENAMED test2 : attribute_entity FOR test;
135
+ END_ENTITY;
136
+
137
+ ENTITY unique_entity;
138
+ test : BOOLEAN;
139
+ UNIQUE
140
+ test;
141
+ END_ENTITY;
142
+
143
+ ENTITY unique_label_entity;
144
+ test : BOOLEAN;
145
+ UNIQUE
146
+ UR1 : test;
147
+ END_ENTITY;
148
+
149
+ ENTITY unique_qualified_entity;
150
+ UNIQUE
151
+ SELF\attribute_entity.test;
152
+ END_ENTITY;
153
+
154
+ ENTITY unique_label_qualified_entity;
155
+ UNIQUE
156
+ UR1 : SELF\attribute_entity.test;
157
+ END_ENTITY;
158
+
159
+ ENTITY where_entity;
160
+ WHERE
161
+ TRUE;
162
+ END_ENTITY;
163
+
164
+ ENTITY where_label_entity;
165
+ WHERE
166
+ WR1 : TRUE;
167
+ END_ENTITY;
168
+
169
+ SUBTYPE_CONSTRAINT empty_subtype_constraint FOR empty_entity;
170
+ END_SUBTYPE_CONSTRAINT;
171
+
172
+ SUBTYPE_CONSTRAINT abstract_supertype_subtype_constraint FOR empty_entity;
173
+ ABSTRACT SUPERTYPE;
174
+ END_SUBTYPE_CONSTRAINT;
175
+
176
+ SUBTYPE_CONSTRAINT total_over_subtype_constraint FOR empty_entity;
177
+ TOTAL_OVER(a);
178
+ END_SUBTYPE_CONSTRAINT;
179
+
180
+ SUBTYPE_CONSTRAINT supertype_expression_subtype_constraint FOR empty_entity;
181
+ a;
182
+ END_SUBTYPE_CONSTRAINT;
183
+
184
+ SUBTYPE_CONSTRAINT supertype_expression_andor_subtype_constraint FOR empty_entity;
185
+ a ANDOR b;
186
+ END_SUBTYPE_CONSTRAINT;
187
+
188
+ SUBTYPE_CONSTRAINT supertype_expression_and_subtype_constraint FOR empty_entity;
189
+ a AND b;
190
+ END_SUBTYPE_CONSTRAINT;
191
+
192
+ SUBTYPE_CONSTRAINT supertype_expression_andor_and_subtype_constraint FOR empty_entity;
193
+ a ANDOR b AND c;
194
+ END_SUBTYPE_CONSTRAINT;
195
+
196
+ SUBTYPE_CONSTRAINT supertype_expression_and_andor_subtype_constraint FOR empty_entity;
197
+ a AND b ANDOR c;
198
+ END_SUBTYPE_CONSTRAINT;
199
+
200
+ SUBTYPE_CONSTRAINT supertype_expression_parenthesis_andor_and_subtype_constraint FOR empty_entity;
201
+ (a ANDOR b) AND c;
202
+ END_SUBTYPE_CONSTRAINT;
203
+
204
+ SUBTYPE_CONSTRAINT supertype_expression_and_parenthesis_andor_subtype_constraint FOR empty_entity;
205
+ a AND (b ANDOR c);
206
+ END_SUBTYPE_CONSTRAINT;
207
+
208
+ SUBTYPE_CONSTRAINT supertype_expression_oneof_subtype_constraint FOR empty_entity;
209
+ ONEOF(a, b);
210
+ END_SUBTYPE_CONSTRAINT;
211
+
212
+ SUBTYPE_CONSTRAINT supertype_expression_and_oneof_subtype_constraint FOR empty_entity;
213
+ a AND ONEOF(b, c);
214
+ END_SUBTYPE_CONSTRAINT;
215
+
216
+ SUBTYPE_CONSTRAINT supertype_expression_andor_oneof_subtype_constraint FOR empty_entity;
217
+ a ANDOR ONEOF(b, c);
218
+ END_SUBTYPE_CONSTRAINT;
219
+
220
+ SUBTYPE_CONSTRAINT supertype_expression_oneof_and_subtype_constraint FOR empty_entity;
221
+ ONEOF(a, b) AND c;
222
+ END_SUBTYPE_CONSTRAINT;
223
+
224
+ SUBTYPE_CONSTRAINT supertype_expression_oneof_andor_subtype_constraint FOR empty_entity;
225
+ ONEOF(a, b) ANDOR c;
226
+ END_SUBTYPE_CONSTRAINT;
227
+
228
+ SUBTYPE_CONSTRAINT supertype_expression_oneof_and_oneof_subtype_constraint FOR empty_entity;
229
+ ONEOF(a, b) AND ONEOF(c, d);
230
+ END_SUBTYPE_CONSTRAINT;
231
+
232
+ SUBTYPE_CONSTRAINT supertype_expression_oneof_andor_oneof_subtype_constraint FOR empty_entity;
233
+ ONEOF(a, b) ANDOR ONEOF(c, d);
234
+ END_SUBTYPE_CONSTRAINT;
235
+
236
+ FUNCTION empty_function : BOOLEAN;
237
+ ;
238
+ END_FUNCTION;
239
+
240
+ FUNCTION parameter_function(test : BOOLEAN) : BOOLEAN;
241
+ ;
242
+ END_FUNCTION;
243
+
244
+ FUNCTION multiple_parameter_function(test : BOOLEAN; test2 : BOOLEAN) : BOOLEAN;
245
+ ;
246
+ END_FUNCTION;
247
+
248
+ FUNCTION multiple_shorthand_parameter_function(test : BOOLEAN; test2 : BOOLEAN) : BOOLEAN;
249
+ ;
250
+ END_FUNCTION;
251
+
252
+ FUNCTION type_function : BOOLEAN;
253
+ TYPE test = BOOLEAN;
254
+ END_TYPE;
255
+ ;
256
+ END_FUNCTION;
257
+
258
+ FUNCTION constant_function : BOOLEAN;
259
+ CONSTANT
260
+ test : BOOLEAN := TRUE;
261
+ END_CONSTANT;
262
+ ;
263
+ END_FUNCTION;
264
+
265
+ FUNCTION multiple_constant_function : BOOLEAN;
266
+ CONSTANT
267
+ test : BOOLEAN := TRUE;
268
+ test2 : BOOLEAN := TRUE;
269
+ END_CONSTANT;
270
+ ;
271
+ END_FUNCTION;
272
+
273
+ FUNCTION variable_function : BOOLEAN;
274
+ LOCAL
275
+ test : BOOLEAN;
276
+ END_LOCAL;
277
+ ;
278
+ END_FUNCTION;
279
+
280
+ FUNCTION multiple_variable_function : BOOLEAN;
281
+ LOCAL
282
+ test : BOOLEAN;
283
+ test2 : BOOLEAN;
284
+ END_LOCAL;
285
+ ;
286
+ END_FUNCTION;
287
+
288
+ FUNCTION multiple_shorthand_variable_function : BOOLEAN;
289
+ LOCAL
290
+ test : BOOLEAN;
291
+ test2 : BOOLEAN;
292
+ END_LOCAL;
293
+ ;
294
+ END_FUNCTION;
295
+
296
+ FUNCTION variable_expression_function : BOOLEAN;
297
+ LOCAL
298
+ test : BOOLEAN := TRUE;
299
+ END_LOCAL;
300
+ ;
301
+ END_FUNCTION;
302
+
303
+ FUNCTION multiple_variable_expression_function : BOOLEAN;
304
+ LOCAL
305
+ test : BOOLEAN := TRUE;
306
+ test2 : BOOLEAN := TRUE;
307
+ END_LOCAL;
308
+ ;
309
+ END_FUNCTION;
310
+
311
+ FUNCTION multiple_shorthand_variable_expression_function : BOOLEAN;
312
+ LOCAL
313
+ test : BOOLEAN := TRUE;
314
+ test2 : BOOLEAN := TRUE;
315
+ END_LOCAL;
316
+ ;
317
+ END_FUNCTION;
318
+
319
+ PROCEDURE empty_procedure;
320
+ END_PROCEDURE;
321
+
322
+ PROCEDURE parameter_procedure(test : BOOLEAN);
323
+ END_PROCEDURE;
324
+
325
+ PROCEDURE multiple_parameter_procedure(test : BOOLEAN; test2 : BOOLEAN);
326
+ END_PROCEDURE;
327
+
328
+ PROCEDURE multiple_shorthand_parameter_procedure(test : BOOLEAN; test2 : BOOLEAN);
329
+ END_PROCEDURE;
330
+
331
+ PROCEDURE variable_parameter_procedure(VAR test : BOOLEAN);
332
+ END_PROCEDURE;
333
+
334
+ PROCEDURE multiple_variable_parameter_procedure(VAR test : BOOLEAN; test2 : BOOLEAN);
335
+ END_PROCEDURE;
336
+
337
+ PROCEDURE multiple_variable_parameter2_procedure(test : BOOLEAN; VAR test2 : BOOLEAN);
338
+ END_PROCEDURE;
339
+
340
+ PROCEDURE multiple_shorthand_variable_parameter_procedure(VAR test : BOOLEAN; VAR test2 : BOOLEAN);
341
+ END_PROCEDURE;
342
+
343
+ PROCEDURE type_procedure;
344
+ TYPE test = BOOLEAN;
345
+ END_TYPE;
346
+ END_PROCEDURE;
347
+
348
+ PROCEDURE constant_procedure;
349
+ CONSTANT
350
+ test : BOOLEAN := TRUE;
351
+ END_CONSTANT;
352
+ END_PROCEDURE;
353
+
354
+ PROCEDURE multiple_constant_procedure;
355
+ CONSTANT
356
+ test : BOOLEAN := TRUE;
357
+ test2 : BOOLEAN := TRUE;
358
+ END_CONSTANT;
359
+ END_PROCEDURE;
360
+
361
+ PROCEDURE variable_procedure;
362
+ LOCAL
363
+ test : BOOLEAN;
364
+ END_LOCAL;
365
+ END_PROCEDURE;
366
+
367
+ PROCEDURE multiple_variable_procedure;
368
+ LOCAL
369
+ test : BOOLEAN;
370
+ test2 : BOOLEAN;
371
+ END_LOCAL;
372
+ END_PROCEDURE;
373
+
374
+ PROCEDURE multiple_shorthand_variable_procedure;
375
+ LOCAL
376
+ test : BOOLEAN;
377
+ test2 : BOOLEAN;
378
+ END_LOCAL;
379
+ END_PROCEDURE;
380
+
381
+ PROCEDURE variable_expression_procedure;
382
+ LOCAL
383
+ test : BOOLEAN := TRUE;
384
+ END_LOCAL;
385
+ END_PROCEDURE;
386
+
387
+ PROCEDURE multiple_variable_expression_procedure;
388
+ LOCAL
389
+ test : BOOLEAN := TRUE;
390
+ test2 : BOOLEAN := TRUE;
391
+ END_LOCAL;
392
+ END_PROCEDURE;
393
+
394
+ PROCEDURE multiple_shorthand_variable_expression_procedure;
395
+ LOCAL
396
+ test : BOOLEAN := TRUE;
397
+ test2 : BOOLEAN := TRUE;
398
+ END_LOCAL;
399
+ END_PROCEDURE;
400
+
401
+ PROCEDURE statement_procedure;
402
+ ;
403
+ END_PROCEDURE;
404
+
405
+ RULE empty_rule FOR (empty_entity);
406
+ WHERE
407
+ TRUE;
408
+ END_RULE;
409
+
410
+ RULE type_rule FOR (empty_entity);
411
+ TYPE test = BOOLEAN;
412
+ END_TYPE;
413
+ WHERE
414
+ TRUE;
415
+ END_RULE;
416
+
417
+ RULE constant_rule FOR (empty_entity);
418
+ CONSTANT
419
+ test : BOOLEAN := TRUE;
420
+ END_CONSTANT;
421
+ WHERE
422
+ TRUE;
423
+ END_RULE;
424
+
425
+ RULE multiple_constant_rule FOR (empty_entity);
426
+ CONSTANT
427
+ test : BOOLEAN := TRUE;
428
+ test2 : BOOLEAN := TRUE;
429
+ END_CONSTANT;
430
+ WHERE
431
+ TRUE;
432
+ END_RULE;
433
+
434
+ RULE variable_rule FOR (empty_entity);
435
+ LOCAL
436
+ test : BOOLEAN;
437
+ END_LOCAL;
438
+ WHERE
439
+ TRUE;
440
+ END_RULE;
441
+
442
+ RULE multiple_variable_rule FOR (empty_entity);
443
+ LOCAL
444
+ test : BOOLEAN;
445
+ test2 : BOOLEAN;
446
+ END_LOCAL;
447
+ WHERE
448
+ TRUE;
449
+ END_RULE;
450
+
451
+ RULE multiple_shorthand_variable_rule FOR (empty_entity);
452
+ LOCAL
453
+ test : BOOLEAN;
454
+ test2 : BOOLEAN;
455
+ END_LOCAL;
456
+ WHERE
457
+ TRUE;
458
+ END_RULE;
459
+
460
+ RULE variable_expression_rule FOR (empty_entity);
461
+ LOCAL
462
+ test : BOOLEAN := TRUE;
463
+ END_LOCAL;
464
+ WHERE
465
+ TRUE;
466
+ END_RULE;
467
+
468
+ RULE multiple_variable_expression_rule FOR (empty_entity);
469
+ LOCAL
470
+ test : BOOLEAN := TRUE;
471
+ test2 : BOOLEAN := TRUE;
472
+ END_LOCAL;
473
+ WHERE
474
+ TRUE;
475
+ END_RULE;
476
+
477
+ RULE multiple_shorthand_variable_expression_rule FOR (empty_entity);
478
+ LOCAL
479
+ test : BOOLEAN := TRUE;
480
+ test2 : BOOLEAN := TRUE;
481
+ END_LOCAL;
482
+ WHERE
483
+ TRUE;
484
+ END_RULE;
485
+
486
+ RULE statement_rule FOR (empty_entity);
487
+ ;
488
+ WHERE
489
+ TRUE;
490
+ END_RULE;
491
+
492
+ TYPE binary_type = BINARY;
493
+ END_TYPE;
494
+
495
+ TYPE binary_width_type = BINARY (3);
496
+ END_TYPE;
497
+
498
+ TYPE binary_width_fixed_type = BINARY (3) FIXED;
499
+ END_TYPE;
500
+
501
+ TYPE boolean_type = BOOLEAN;
502
+ END_TYPE;
503
+
504
+ TYPE integer_type = INTEGER;
505
+ END_TYPE;
506
+
507
+ TYPE logical_type = LOGICAL;
508
+ END_TYPE;
509
+
510
+ TYPE number_type = NUMBER;
511
+ END_TYPE;
512
+
513
+ TYPE real_type = REAL;
514
+ END_TYPE;
515
+
516
+ TYPE real_precision_type = REAL (3);
517
+ END_TYPE;
518
+
519
+ TYPE string_type = STRING;
520
+ END_TYPE;
521
+
522
+ TYPE string_width_type = STRING (3);
523
+ END_TYPE;
524
+
525
+ TYPE string_width_fixed_type = STRING (3) FIXED;
526
+ END_TYPE;
527
+
528
+ TYPE array_type = ARRAY [1:9] OF STRING;
529
+ END_TYPE;
530
+
531
+ TYPE array_optional_type = ARRAY [1:9] OF OPTIONAL STRING;
532
+ END_TYPE;
533
+
534
+ TYPE array_unique_type = ARRAY [1:9] OF UNIQUE STRING;
535
+ END_TYPE;
536
+
537
+ TYPE array_optional_unique_type = ARRAY [1:9] OF OPTIONAL UNIQUE STRING;
538
+ END_TYPE;
539
+
540
+ TYPE bag_type = BAG OF STRING;
541
+ END_TYPE;
542
+
543
+ TYPE bag_bound_type = BAG [1:9] OF STRING;
544
+ END_TYPE;
545
+
546
+ TYPE list_type = LIST OF STRING;
547
+ END_TYPE;
548
+
549
+ TYPE list_bound_type = LIST [1:9] OF STRING;
550
+ END_TYPE;
551
+
552
+ TYPE list_unique_type = LIST OF UNIQUE STRING;
553
+ END_TYPE;
554
+
555
+ TYPE list_bound_unique_type = LIST [1:9] OF UNIQUE STRING;
556
+ END_TYPE;
557
+
558
+ TYPE set_type = SET OF STRING;
559
+ END_TYPE;
560
+
561
+ TYPE set_bound_type = SET [1:9] OF STRING;
562
+ END_TYPE;
563
+
564
+ TYPE select_type = SELECT;
565
+ END_TYPE;
566
+
567
+ TYPE select_extensible_type = EXTENSIBLE SELECT;
568
+ END_TYPE;
569
+
570
+ TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT;
571
+ END_TYPE;
572
+
573
+ TYPE select_list_type = SELECT (empty_type);
574
+ END_TYPE;
575
+
576
+ TYPE select_extension_type_ref_type = SELECT BASED_ON select_type;
577
+ END_TYPE;
578
+
579
+ TYPE select_extension_type_ref_list_type = SELECT BASED_ON select_type WITH (empty_type);
580
+ END_TYPE;
581
+
582
+ TYPE enumeration_type = ENUMERATION;
583
+ END_TYPE;
584
+
585
+ TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION;
586
+ END_TYPE;
587
+
588
+ TYPE enumeration_list_type = ENUMERATION OF (test);
589
+ END_TYPE;
590
+
591
+ TYPE enumeration_extension_type_ref_type = ENUMERATION BASED_ON enumeration_type;
592
+ END_TYPE;
593
+
594
+ TYPE enumeration_extension_type_ref_list_type = ENUMERATION BASED_ON enumeration_type WITH (test);
595
+ END_TYPE;
596
+
597
+ FUNCTION alias_simple_reference_statement : BOOLEAN;
598
+ ALIAS test FOR test;
599
+ ;
600
+ END_ALIAS;
601
+ END_FUNCTION;
602
+
603
+ FUNCTION alias_attribute_reference_statement : BOOLEAN;
604
+ ALIAS test FOR test.test;
605
+ ;
606
+ END_ALIAS;
607
+ END_FUNCTION;
608
+
609
+ FUNCTION alias_group_reference_statement : BOOLEAN;
610
+ ALIAS test FOR test\test;
611
+ ;
612
+ END_ALIAS;
613
+ END_FUNCTION;
614
+
615
+ FUNCTION alias_index_reference_statement : BOOLEAN;
616
+ ALIAS test FOR test[1];
617
+ ;
618
+ END_ALIAS;
619
+ END_FUNCTION;
620
+
621
+ FUNCTION alias_index2_reference_statement : BOOLEAN;
622
+ ALIAS test FOR test[1:9];
623
+ ;
624
+ END_ALIAS;
625
+ END_FUNCTION;
626
+
627
+ FUNCTION assignment_simple_reference_statement : BOOLEAN;
628
+ test := TRUE;
629
+ END_FUNCTION;
630
+
631
+ FUNCTION assignment_attribute_reference_statement : BOOLEAN;
632
+ test.test := TRUE;
633
+ END_FUNCTION;
634
+
635
+ FUNCTION assignment_group_reference_statement : BOOLEAN;
636
+ test\test := TRUE;
637
+ END_FUNCTION;
638
+
639
+ FUNCTION assignment_index_reference_statement : BOOLEAN;
640
+ test[1] := TRUE;
641
+ END_FUNCTION;
642
+
643
+ FUNCTION assignment_index2_reference_statement : BOOLEAN;
644
+ test[1:9] := TRUE;
645
+ END_FUNCTION;
646
+
647
+ FUNCTION case_statement : BOOLEAN;
648
+ CASE test OF
649
+ TRUE :
650
+ ;
651
+ END_CASE;
652
+ END_FUNCTION;
653
+
654
+ FUNCTION case_multiple_statement : BOOLEAN;
655
+ CASE test OF
656
+ TRUE :
657
+ ;
658
+ TRUE :
659
+ ;
660
+ END_CASE;
661
+ END_FUNCTION;
662
+
663
+ FUNCTION case_multiple_shorthand_statement : BOOLEAN;
664
+ CASE test OF
665
+ TRUE, TRUE :
666
+ ;
667
+ END_CASE;
668
+ END_FUNCTION;
669
+
670
+ FUNCTION case_otherwise_statement : BOOLEAN;
671
+ CASE test OF
672
+ TRUE :
673
+ ;
674
+ OTHERWISE :
675
+ ;
676
+ END_CASE;
677
+ END_FUNCTION;
678
+
679
+ FUNCTION compound_statement : BOOLEAN;
680
+ BEGIN
681
+ ;
682
+ END;
683
+ END_FUNCTION;
684
+
685
+ FUNCTION escape_statement : BOOLEAN;
686
+ ESCAPE;
687
+ END_FUNCTION;
688
+
689
+ FUNCTION if_statement : BOOLEAN;
690
+ IF TRUE THEN
691
+ ;
692
+ END_IF;
693
+ END_FUNCTION;
694
+
695
+ FUNCTION if2_statement : BOOLEAN;
696
+ IF TRUE THEN
697
+ ;
698
+ ;
699
+ END_IF;
700
+ END_FUNCTION;
701
+
702
+ FUNCTION if_else_statement : BOOLEAN;
703
+ IF TRUE THEN
704
+ ;
705
+ ELSE
706
+ ;
707
+ END_IF;
708
+ END_FUNCTION;
709
+
710
+ FUNCTION if2_else_statement : BOOLEAN;
711
+ IF TRUE THEN
712
+ ;
713
+ ;
714
+ ELSE
715
+ ;
716
+ END_IF;
717
+ END_FUNCTION;
718
+
719
+ FUNCTION if_else2_statement : BOOLEAN;
720
+ IF TRUE THEN
721
+ ;
722
+ ELSE
723
+ ;
724
+ ;
725
+ END_IF;
726
+ END_FUNCTION;
727
+
728
+ FUNCTION if2_else2_statement : BOOLEAN;
729
+ IF TRUE THEN
730
+ ;
731
+ ;
732
+ ELSE
733
+ ;
734
+ ;
735
+ END_IF;
736
+ END_FUNCTION;
737
+
738
+ FUNCTION null_statement : BOOLEAN;
739
+ ;
740
+ END_FUNCTION;
741
+
742
+ FUNCTION call_statement : BOOLEAN;
743
+ empty_procedure;
744
+ END_FUNCTION;
745
+
746
+ FUNCTION call_parameter_statement : BOOLEAN;
747
+ empty_procedure(TRUE);
748
+ END_FUNCTION;
749
+
750
+ FUNCTION call_parameter2_statement : BOOLEAN;
751
+ empty_procedure(TRUE, TRUE);
752
+ END_FUNCTION;
753
+
754
+ FUNCTION call_insert_statement : BOOLEAN;
755
+ INSERT(TRUE);
756
+ END_FUNCTION;
757
+
758
+ FUNCTION call_remove_statement : BOOLEAN;
759
+ REMOVE(TRUE);
760
+ END_FUNCTION;
761
+
762
+ FUNCTION repeat_statement : BOOLEAN;
763
+ REPEAT;
764
+ ;
765
+ END_REPEAT;
766
+ END_FUNCTION;
767
+
768
+ FUNCTION repeat_variable_statement : BOOLEAN;
769
+ REPEAT test := 1 TO 9;
770
+ ;
771
+ END_REPEAT;
772
+ END_FUNCTION;
773
+
774
+ FUNCTION repeat_variable_increment_statement : BOOLEAN;
775
+ REPEAT test := 1 TO 9 BY 2;
776
+ ;
777
+ END_REPEAT;
778
+ END_FUNCTION;
779
+
780
+ FUNCTION repeat_while_statement : BOOLEAN;
781
+ REPEAT WHILE TRUE;
782
+ ;
783
+ END_REPEAT;
784
+ END_FUNCTION;
785
+
786
+ FUNCTION repeat_until_statement : BOOLEAN;
787
+ REPEAT UNTIL TRUE;
788
+ ;
789
+ END_REPEAT;
790
+ END_FUNCTION;
791
+
792
+ FUNCTION return_statement : BOOLEAN;
793
+ RETURN;
794
+ END_FUNCTION;
795
+
796
+ FUNCTION return_expression_statement : BOOLEAN;
797
+ RETURN (TRUE);
798
+ END_FUNCTION;
799
+
800
+ FUNCTION skip_statement : BOOLEAN;
801
+ SKIP;
802
+ END_FUNCTION;
803
+
804
+ FUNCTION binary_expression : BOOLEAN;
805
+ RETURN (%011110000111100001111000);
806
+ END_FUNCTION;
807
+
808
+ FUNCTION integer_expression : BOOLEAN;
809
+ RETURN (999);
810
+ END_FUNCTION;
811
+
812
+ FUNCTION true_logical_expression : BOOLEAN;
813
+ RETURN (TRUE);
814
+ END_FUNCTION;
815
+
816
+ FUNCTION false_logical_expression : BOOLEAN;
817
+ RETURN (FALSE);
818
+ END_FUNCTION;
819
+
820
+ FUNCTION unknown_logical_expression : BOOLEAN;
821
+ RETURN (UNKNOWN);
822
+ END_FUNCTION;
823
+
824
+ FUNCTION real_expression : BOOLEAN;
825
+ RETURN (999.999);
826
+ END_FUNCTION;
827
+
828
+ FUNCTION simple_string_expression : BOOLEAN;
829
+ RETURN ('xxx');
830
+ END_FUNCTION;
831
+
832
+ FUNCTION encoded_string_expression : BOOLEAN;
833
+ RETURN ("000000780000007800000078");
834
+ END_FUNCTION;
835
+
836
+ FUNCTION const_e_expression : BOOLEAN;
837
+ RETURN (CONST_E);
838
+ END_FUNCTION;
839
+
840
+ FUNCTION indeterminate_expression : BOOLEAN;
841
+ RETURN (?);
842
+ END_FUNCTION;
843
+
844
+ FUNCTION pi_expression : BOOLEAN;
845
+ RETURN (PI);
846
+ END_FUNCTION;
847
+
848
+ FUNCTION self_expression : BOOLEAN;
849
+ RETURN (SELF);
850
+ END_FUNCTION;
851
+
852
+ FUNCTION abs_expression : BOOLEAN;
853
+ RETURN (ABS(TRUE));
854
+ END_FUNCTION;
855
+
856
+ FUNCTION acos_expression : BOOLEAN;
857
+ RETURN (ACOS(TRUE));
858
+ END_FUNCTION;
859
+
860
+ FUNCTION asin_expression : BOOLEAN;
861
+ RETURN (ASIN(TRUE));
862
+ END_FUNCTION;
863
+
864
+ FUNCTION atan_expression : BOOLEAN;
865
+ RETURN (ATAN(TRUE));
866
+ END_FUNCTION;
867
+
868
+ FUNCTION blength_expression : BOOLEAN;
869
+ RETURN (BLENGTH(TRUE));
870
+ END_FUNCTION;
871
+
872
+ FUNCTION cos_expression : BOOLEAN;
873
+ RETURN (COS(TRUE));
874
+ END_FUNCTION;
875
+
876
+ FUNCTION exists_expression : BOOLEAN;
877
+ RETURN (EXISTS(TRUE));
878
+ END_FUNCTION;
879
+
880
+ FUNCTION exp_expression : BOOLEAN;
881
+ RETURN (EXP(TRUE));
882
+ END_FUNCTION;
883
+
884
+ FUNCTION format_expression : BOOLEAN;
885
+ RETURN (FORMAT(TRUE));
886
+ END_FUNCTION;
887
+
888
+ FUNCTION hibound_expression : BOOLEAN;
889
+ RETURN (HIBOUND(TRUE));
890
+ END_FUNCTION;
891
+
892
+ FUNCTION hiindex_expression : BOOLEAN;
893
+ RETURN (HIINDEX(TRUE));
894
+ END_FUNCTION;
895
+
896
+ FUNCTION length_expression : BOOLEAN;
897
+ RETURN (LENGTH(TRUE));
898
+ END_FUNCTION;
899
+
900
+ FUNCTION lobound_expression : BOOLEAN;
901
+ RETURN (LOBOUND(TRUE));
902
+ END_FUNCTION;
903
+
904
+ FUNCTION loindex_expression : BOOLEAN;
905
+ RETURN (LOINDEX(TRUE));
906
+ END_FUNCTION;
907
+
908
+ FUNCTION log_expression : BOOLEAN;
909
+ RETURN (LOG(TRUE));
910
+ END_FUNCTION;
911
+
912
+ FUNCTION log2_expression : BOOLEAN;
913
+ RETURN (LOG2(TRUE));
914
+ END_FUNCTION;
915
+
916
+ FUNCTION log10_expression : BOOLEAN;
917
+ RETURN (LOG10(TRUE));
918
+ END_FUNCTION;
919
+
920
+ FUNCTION nvl_expression : BOOLEAN;
921
+ RETURN (NVL(TRUE));
922
+ END_FUNCTION;
923
+
924
+ FUNCTION odd_expression : BOOLEAN;
925
+ RETURN (ODD(TRUE));
926
+ END_FUNCTION;
927
+
928
+ FUNCTION rolesof_expression : BOOLEAN;
929
+ RETURN (ROLESOF(TRUE));
930
+ END_FUNCTION;
931
+
932
+ FUNCTION sin_expression : BOOLEAN;
933
+ RETURN (SIN(TRUE));
934
+ END_FUNCTION;
935
+
936
+ FUNCTION sizeof_expression : BOOLEAN;
937
+ RETURN (SIZEOF(TRUE));
938
+ END_FUNCTION;
939
+
940
+ FUNCTION sqrt_expression : BOOLEAN;
941
+ RETURN (SQRT(TRUE));
942
+ END_FUNCTION;
943
+
944
+ FUNCTION tan_expression : BOOLEAN;
945
+ RETURN (TAN(TRUE));
946
+ END_FUNCTION;
947
+
948
+ FUNCTION typeof_expression : BOOLEAN;
949
+ RETURN (TYPEOF(TRUE));
950
+ END_FUNCTION;
951
+
952
+ FUNCTION usedin_expression : BOOLEAN;
953
+ RETURN (USEDIN(TRUE));
954
+ END_FUNCTION;
955
+
956
+ FUNCTION value_expression : BOOLEAN;
957
+ RETURN (VALUE(TRUE));
958
+ END_FUNCTION;
959
+
960
+ FUNCTION value_in_expression : BOOLEAN;
961
+ RETURN (VALUE_IN(TRUE));
962
+ END_FUNCTION;
963
+
964
+ FUNCTION value_unique_expression : BOOLEAN;
965
+ RETURN (VALUE_UNIQUE(TRUE));
966
+ END_FUNCTION;
967
+
968
+ FUNCTION plus_expression : BOOLEAN;
969
+ RETURN (+4);
970
+ END_FUNCTION;
971
+
972
+ FUNCTION plus_addition_expression : BOOLEAN;
973
+ RETURN (+(4 + 2));
974
+ END_FUNCTION;
975
+
976
+ FUNCTION minus_expression : BOOLEAN;
977
+ RETURN (-4);
978
+ END_FUNCTION;
979
+
980
+ FUNCTION minus_addition_expression : BOOLEAN;
981
+ RETURN (-(4 + 2));
982
+ END_FUNCTION;
983
+
984
+ FUNCTION addition_expression : BOOLEAN;
985
+ RETURN (4 + 2);
986
+ END_FUNCTION;
987
+
988
+ FUNCTION subtraction_expression : BOOLEAN;
989
+ RETURN (4 - 2);
990
+ END_FUNCTION;
991
+
992
+ FUNCTION multiplication_expression : BOOLEAN;
993
+ RETURN (4 * 2);
994
+ END_FUNCTION;
995
+
996
+ FUNCTION real_division_expression : BOOLEAN;
997
+ RETURN (4 / 2);
998
+ END_FUNCTION;
999
+
1000
+ FUNCTION integer_division_expression : BOOLEAN;
1001
+ RETURN (4 DIV 2);
1002
+ END_FUNCTION;
1003
+
1004
+ FUNCTION modulo_expression : BOOLEAN;
1005
+ RETURN (4 MOD 2);
1006
+ END_FUNCTION;
1007
+
1008
+ FUNCTION exponentiation_expression : BOOLEAN;
1009
+ RETURN (4 ** 2);
1010
+ END_FUNCTION;
1011
+
1012
+ FUNCTION addition_addition_expression : BOOLEAN;
1013
+ RETURN (4 + 2 + 1);
1014
+ END_FUNCTION;
1015
+
1016
+ FUNCTION subtraction_subtraction_expression : BOOLEAN;
1017
+ RETURN (4 - 2 - 1);
1018
+ END_FUNCTION;
1019
+
1020
+ FUNCTION addition_subtraction_expression : BOOLEAN;
1021
+ RETURN (4 + 2 - 1);
1022
+ END_FUNCTION;
1023
+
1024
+ FUNCTION subtraction_addition_expression : BOOLEAN;
1025
+ RETURN (4 - 2 + 1);
1026
+ END_FUNCTION;
1027
+
1028
+ FUNCTION addition_multiplication_expression : BOOLEAN;
1029
+ RETURN (8 + 4 * 2);
1030
+ END_FUNCTION;
1031
+
1032
+ FUNCTION multiplication_addition_expression : BOOLEAN;
1033
+ RETURN (8 * 4 + 2);
1034
+ END_FUNCTION;
1035
+
1036
+ FUNCTION parenthesis_addition_multiplication_expression : BOOLEAN;
1037
+ RETURN ((8 + 4) * 2);
1038
+ END_FUNCTION;
1039
+
1040
+ FUNCTION multiplication_parenthesis_addition_expression : BOOLEAN;
1041
+ RETURN (8 * (4 + 2));
1042
+ END_FUNCTION;
1043
+
1044
+ FUNCTION equal_expression : BOOLEAN;
1045
+ RETURN (4 = 2);
1046
+ END_FUNCTION;
1047
+
1048
+ FUNCTION not_equal_expression : BOOLEAN;
1049
+ RETURN (4 <> 2);
1050
+ END_FUNCTION;
1051
+
1052
+ FUNCTION instance_equal_expression : BOOLEAN;
1053
+ RETURN (4 :=: 2);
1054
+ END_FUNCTION;
1055
+
1056
+ FUNCTION instance_not_equal_expression : BOOLEAN;
1057
+ RETURN (4 :<>: 2);
1058
+ END_FUNCTION;
1059
+
1060
+ FUNCTION lt_expression : BOOLEAN;
1061
+ RETURN (4 < 2);
1062
+ END_FUNCTION;
1063
+
1064
+ FUNCTION gt_expression : BOOLEAN;
1065
+ RETURN (4 > 2);
1066
+ END_FUNCTION;
1067
+
1068
+ FUNCTION lte_expression : BOOLEAN;
1069
+ RETURN (4 <= 2);
1070
+ END_FUNCTION;
1071
+
1072
+ FUNCTION gte_expression : BOOLEAN;
1073
+ RETURN (4 >= 2);
1074
+ END_FUNCTION;
1075
+
1076
+ FUNCTION not_expression : BOOLEAN;
1077
+ RETURN (NOT TRUE);
1078
+ END_FUNCTION;
1079
+
1080
+ FUNCTION not_or_expression : BOOLEAN;
1081
+ RETURN (NOT (TRUE OR FALSE));
1082
+ END_FUNCTION;
1083
+
1084
+ FUNCTION or_expression : BOOLEAN;
1085
+ RETURN (TRUE OR FALSE);
1086
+ END_FUNCTION;
1087
+
1088
+ FUNCTION and_expression : BOOLEAN;
1089
+ RETURN (TRUE AND FALSE);
1090
+ END_FUNCTION;
1091
+
1092
+ FUNCTION or_or_expression : BOOLEAN;
1093
+ RETURN (TRUE OR FALSE OR TRUE);
1094
+ END_FUNCTION;
1095
+
1096
+ FUNCTION and_and_expression : BOOLEAN;
1097
+ RETURN (TRUE AND FALSE AND TRUE);
1098
+ END_FUNCTION;
1099
+
1100
+ FUNCTION or_and_expression : BOOLEAN;
1101
+ RETURN (TRUE OR FALSE AND TRUE);
1102
+ END_FUNCTION;
1103
+
1104
+ FUNCTION and_or_expression : BOOLEAN;
1105
+ RETURN (TRUE AND FALSE OR TRUE);
1106
+ END_FUNCTION;
1107
+
1108
+ FUNCTION parenthesis_or_and_expression : BOOLEAN;
1109
+ RETURN ((TRUE OR FALSE) AND TRUE);
1110
+ END_FUNCTION;
1111
+
1112
+ FUNCTION and_parenthesis_or_expression : BOOLEAN;
1113
+ RETURN (TRUE AND (FALSE OR TRUE));
1114
+ END_FUNCTION;
1115
+
1116
+ FUNCTION combine_expression : BOOLEAN;
1117
+ RETURN (test || test);
1118
+ END_FUNCTION;
1119
+
1120
+ FUNCTION in_expression : BOOLEAN;
1121
+ RETURN (TRUE IN [TRUE]);
1122
+ END_FUNCTION;
1123
+
1124
+ FUNCTION like_expression : BOOLEAN;
1125
+ RETURN ('xxx' LIKE 'xxx');
1126
+ END_FUNCTION;
1127
+
1128
+ FUNCTION aggregate_initializer_expression : BOOLEAN;
1129
+ RETURN ([4]);
1130
+ END_FUNCTION;
1131
+
1132
+ FUNCTION repeated_aggregate_initializer_expression : BOOLEAN;
1133
+ RETURN ([4:2]);
1134
+ END_FUNCTION;
1135
+
1136
+ FUNCTION complex_aggregate_initializer_expression : BOOLEAN;
1137
+ RETURN ([4 + 2]);
1138
+ END_FUNCTION;
1139
+
1140
+ FUNCTION complex_repeated_aggregate_initializer_expression : BOOLEAN;
1141
+ RETURN ([4 + 2:4 + 2]);
1142
+ END_FUNCTION;
1143
+
1144
+ FUNCTION call_expression : BOOLEAN;
1145
+ RETURN (parameter_function(TRUE));
1146
+ END_FUNCTION;
1147
+
1148
+ FUNCTION simple_reference_expression : BOOLEAN;
1149
+ RETURN (simple_string_expression);
1150
+ END_FUNCTION;
1151
+
1152
+ FUNCTION attribute_reference_expression : BOOLEAN;
1153
+ RETURN (simple_string_expression.test);
1154
+ END_FUNCTION;
1155
+
1156
+ FUNCTION group_reference_expression : BOOLEAN;
1157
+ RETURN (simple_string_expression\test);
1158
+ END_FUNCTION;
1159
+
1160
+ FUNCTION index_reference_expression : BOOLEAN;
1161
+ RETURN (simple_string_expression[1]);
1162
+ END_FUNCTION;
1163
+
1164
+ FUNCTION index2_reference_expression : BOOLEAN;
1165
+ RETURN (simple_string_expression[1:9]);
1166
+ END_FUNCTION;
1167
+
1168
+ FUNCTION lt_lt_interval_expression : BOOLEAN;
1169
+ RETURN ({1 < 5 < 9});
1170
+ END_FUNCTION;
1171
+
1172
+ FUNCTION lte_lt_interval_expression : BOOLEAN;
1173
+ RETURN ({1 <= 5 < 9});
1174
+ END_FUNCTION;
1175
+
1176
+ FUNCTION lt_lte_interval_expression : BOOLEAN;
1177
+ RETURN ({1 < 5 <= 9});
1178
+ END_FUNCTION;
1179
+
1180
+ FUNCTION lte_lte_interval_expression : BOOLEAN;
1181
+ RETURN ({1 <= 5 <= 9});
1182
+ END_FUNCTION;
1183
+
1184
+ FUNCTION query_expression : BOOLEAN;
1185
+ RETURN (QUERY(test <* test2 | TRUE));
1186
+ END_FUNCTION;
1187
+ END_SCHEMA;