expressir 0.2.4-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (520) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/rake.yml +46 -0
  3. data/.github/workflows/release.yml +75 -0
  4. data/.gitignore +15 -0
  5. data/.gitmodules +3 -0
  6. data/.rspec +2 -0
  7. data/.rubocop.yml +508 -0
  8. data/Gemfile +6 -0
  9. data/README.adoc +147 -0
  10. data/Rakefile +17 -0
  11. data/bin/console +12 -0
  12. data/bin/rspec +29 -0
  13. data/bin/setup +8 -0
  14. data/demo.rb +18 -0
  15. data/docs/development.md +90 -0
  16. data/exe/expressir +20 -0
  17. data/exe/generate-parser +48 -0
  18. data/expressir.gemspec +40 -0
  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 +34 -0
  362. data/lib/express_parser.so +0 -0
  363. data/lib/expressir.rb +21 -0
  364. data/lib/expressir/cli.rb +27 -0
  365. data/lib/expressir/cli/ui.rb +36 -0
  366. data/lib/expressir/config.rb +23 -0
  367. data/lib/expressir/express.rb +11 -0
  368. data/lib/expressir/express/aggregate_dimension.rb +38 -0
  369. data/lib/expressir/express/attribute.rb +15 -0
  370. data/lib/expressir/express/comment.rb +7 -0
  371. data/lib/expressir/express/defined_type.rb +36 -0
  372. data/lib/expressir/express/derived.rb +65 -0
  373. data/lib/expressir/express/derived_aggregate.rb +43 -0
  374. data/lib/expressir/express/entity.rb +137 -0
  375. data/lib/expressir/express/explicit.rb +70 -0
  376. data/lib/expressir/express/explicit_aggregate.rb +46 -0
  377. data/lib/expressir/express/explicit_or_derived.rb +16 -0
  378. data/lib/expressir/express/global_rule.rb +44 -0
  379. data/lib/expressir/express/interface_specification.rb +51 -0
  380. data/lib/expressir/express/interfaced_item.rb +38 -0
  381. data/lib/expressir/express/inverse.rb +46 -0
  382. data/lib/expressir/express/inverse_aggregate.rb +37 -0
  383. data/lib/expressir/express/model_element.rb +7 -0
  384. data/lib/expressir/express/named_type.rb +19 -0
  385. data/lib/expressir/express/remark.rb +8 -0
  386. data/lib/expressir/express/repository.rb +306 -0
  387. data/lib/expressir/express/schema_definition.rb +96 -0
  388. data/lib/expressir/express/subtype_constraint.rb +14 -0
  389. data/lib/expressir/express/type.rb +26 -0
  390. data/lib/expressir/express/type_aggregate.rb +42 -0
  391. data/lib/expressir/express/type_enum.rb +29 -0
  392. data/lib/expressir/express/type_parser.rb +45 -0
  393. data/lib/expressir/express/type_select.rb +82 -0
  394. data/lib/expressir/express/unique_rule.rb +35 -0
  395. data/lib/expressir/express/where_rule.rb +32 -0
  396. data/lib/expressir/express_exp/formatter.rb +1450 -0
  397. data/lib/expressir/express_exp/parser.rb +36 -0
  398. data/lib/expressir/express_exp/visitor.rb +2451 -0
  399. data/lib/expressir/express_parser.rb +30 -0
  400. data/lib/expressir/model.rb +65 -0
  401. data/lib/expressir/model/attribute.rb +27 -0
  402. data/lib/expressir/model/constant.rb +17 -0
  403. data/lib/expressir/model/entity.rb +46 -0
  404. data/lib/expressir/model/enumeration_item.rb +11 -0
  405. data/lib/expressir/model/expressions/aggregate_initializer.rb +13 -0
  406. data/lib/expressir/model/expressions/aggregate_item.rb +15 -0
  407. data/lib/expressir/model/expressions/attribute_reference.rb +15 -0
  408. data/lib/expressir/model/expressions/binary_expression.rb +40 -0
  409. data/lib/expressir/model/expressions/call.rb +15 -0
  410. data/lib/expressir/model/expressions/entity_constructor.rb +15 -0
  411. data/lib/expressir/model/expressions/group_reference.rb +15 -0
  412. data/lib/expressir/model/expressions/index_reference.rb +17 -0
  413. data/lib/expressir/model/expressions/interval.rb +21 -0
  414. data/lib/expressir/model/expressions/query_expression.rb +26 -0
  415. data/lib/expressir/model/expressions/simple_reference.rb +13 -0
  416. data/lib/expressir/model/expressions/unary_expression.rb +19 -0
  417. data/lib/expressir/model/function.rb +62 -0
  418. data/lib/expressir/model/identifier.rb +9 -0
  419. data/lib/expressir/model/interface.rb +18 -0
  420. data/lib/expressir/model/literals/binary.rb +13 -0
  421. data/lib/expressir/model/literals/integer.rb +13 -0
  422. data/lib/expressir/model/literals/logical.rb +17 -0
  423. data/lib/expressir/model/literals/real.rb +13 -0
  424. data/lib/expressir/model/literals/string.rb +15 -0
  425. data/lib/expressir/model/parameter.rb +17 -0
  426. data/lib/expressir/model/procedure.rb +60 -0
  427. data/lib/expressir/model/renamed_ref.rb +13 -0
  428. data/lib/expressir/model/repository.rb +19 -0
  429. data/lib/expressir/model/rule.rb +62 -0
  430. data/lib/expressir/model/schema.rb +67 -0
  431. data/lib/expressir/model/scope.rb +17 -0
  432. data/lib/expressir/model/statements/alias.rb +26 -0
  433. data/lib/expressir/model/statements/assignment.rb +15 -0
  434. data/lib/expressir/model/statements/call.rb +15 -0
  435. data/lib/expressir/model/statements/case.rb +17 -0
  436. data/lib/expressir/model/statements/case_action.rb +15 -0
  437. data/lib/expressir/model/statements/compound.rb +13 -0
  438. data/lib/expressir/model/statements/escape.rb +8 -0
  439. data/lib/expressir/model/statements/if.rb +17 -0
  440. data/lib/expressir/model/statements/null.rb +8 -0
  441. data/lib/expressir/model/statements/repeat.rb +34 -0
  442. data/lib/expressir/model/statements/return.rb +13 -0
  443. data/lib/expressir/model/statements/skip.rb +8 -0
  444. data/lib/expressir/model/subtype_constraint.rb +27 -0
  445. data/lib/expressir/model/type.rb +24 -0
  446. data/lib/expressir/model/types/aggregate.rb +17 -0
  447. data/lib/expressir/model/types/array.rb +21 -0
  448. data/lib/expressir/model/types/bag.rb +17 -0
  449. data/lib/expressir/model/types/binary.rb +15 -0
  450. data/lib/expressir/model/types/boolean.rb +8 -0
  451. data/lib/expressir/model/types/enumeration.rb +19 -0
  452. data/lib/expressir/model/types/generic.rb +13 -0
  453. data/lib/expressir/model/types/generic_entity.rb +13 -0
  454. data/lib/expressir/model/types/integer.rb +8 -0
  455. data/lib/expressir/model/types/list.rb +19 -0
  456. data/lib/expressir/model/types/logical.rb +8 -0
  457. data/lib/expressir/model/types/number.rb +8 -0
  458. data/lib/expressir/model/types/real.rb +13 -0
  459. data/lib/expressir/model/types/select.rb +21 -0
  460. data/lib/expressir/model/types/set.rb +17 -0
  461. data/lib/expressir/model/types/string.rb +15 -0
  462. data/lib/expressir/model/unique.rb +15 -0
  463. data/lib/expressir/model/variable.rb +17 -0
  464. data/lib/expressir/model/where.rb +15 -0
  465. data/lib/expressir/parser.rb +6 -0
  466. data/lib/expressir/parser/owl_parser.rb +8 -0
  467. data/lib/expressir/version.rb +3 -0
  468. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp +9589 -0
  469. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl +36619 -0
  470. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.xml +13294 -0
  471. data/original/examples/employment/eclipse/.project +17 -0
  472. data/original/examples/employment/eclipse/Export/Employment.png +0 -0
  473. data/original/examples/employment/eclipse/Express/employment_schema.exp +33 -0
  474. data/original/examples/employment/eclipse/Express/employment_schema.xmi +77 -0
  475. data/original/examples/employment/eclipse/Express/employment_schema.xml +93 -0
  476. data/original/examples/employment/eclipse/Models/Employment.uml +4 -0
  477. data/original/examples/employment/eclipse/Models/Employment.umldi +240 -0
  478. data/original/examples/employment/eclipse/readme.txt +7 -0
  479. data/original/examples/employment/employment_schema.exp +33 -0
  480. data/original/examples/employment/employment_schema.rb +232 -0
  481. data/original/examples/employment/employment_schema.xml +93 -0
  482. data/original/examples/employment/employment_schema___module.rb +46 -0
  483. data/original/examples/employment/employment_schema___p28attr.rb +126 -0
  484. data/original/examples/employment/employment_schema___p28inst.rb +26 -0
  485. data/original/examples/employment/example_employment_data.xml +1 -0
  486. data/original/examples/employment/example_employment_data_copy.xml +1 -0
  487. data/original/examples/employment/example_employment_reader.rb +30 -0
  488. data/original/examples/employment/example_employment_writer.rb +51 -0
  489. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.exp +3710 -0
  490. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.owl +35880 -0
  491. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xmi +15357 -0
  492. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xml +9468 -0
  493. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.exp +8404 -0
  494. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl +43147 -0
  495. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi +18341 -0
  496. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml +11632 -0
  497. data/original/examples/syntax/remark.exp +145 -0
  498. data/original/examples/syntax/remark_formatted.exp +174 -0
  499. data/original/examples/syntax/syntax.exp +310 -0
  500. data/original/examples/syntax/syntax_formatted.exp +1187 -0
  501. data/original/exp2ruby.rb +525 -0
  502. data/original/expsm.rb +34 -0
  503. data/original/mapping_owl.rb +1018 -0
  504. data/original/mapping_sysml.rb +2281 -0
  505. data/original/mapping_uml2.rb +599 -0
  506. data/original/mapping_uml2_eclipse.rb +433 -0
  507. data/original/reeper.rb +134 -0
  508. data/spec/acceptance/express_to_owl_spec.rb +18 -0
  509. data/spec/acceptance/version_spec.rb +12 -0
  510. data/spec/expressir/express/repository_spec.rb +25 -0
  511. data/spec/expressir/express_exp/ap233_spec.rb +22 -0
  512. data/spec/expressir/express_exp/format_remark_spec.rb +28 -0
  513. data/spec/expressir/express_exp/format_syntax_spec.rb +28 -0
  514. data/spec/expressir/express_exp/parse_remark_spec.rb +345 -0
  515. data/spec/expressir/express_exp/parse_syntax_spec.rb +2998 -0
  516. data/spec/expressir/model/find_spec.rb +110 -0
  517. data/spec/expressr_spec.rb +5 -0
  518. data/spec/spec_helper.rb +17 -0
  519. data/spec/support/console_helper.rb +29 -0
  520. metadata +695 -0
@@ -0,0 +1,145 @@
1
+ (*"remark_schema"
2
+ Any character within the EXPRESS character set may occur between the start and end of
3
+ an embedded remark including the newline character; therefore, embedded remarks can span
4
+ several physical lines.
5
+ *)
6
+ --"remark_schema" The tail remark is written at the end of a physical line.
7
+
8
+ --"remark_schema" universal scope - schema before
9
+
10
+ SCHEMA remark_schema;
11
+
12
+ CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
13
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
14
+ ENTITY remark_entity;
15
+ remark_attribute : STRING;
16
+ DERIVE remark_derived_attribute : STRING := 'xxx';
17
+ INVERSE remark_inverse_attribute : remark_entity FOR remark_attribute;
18
+ UNIQUE remark_unique : remark_attribute;
19
+ WHERE remark_where : TRUE;
20
+ --"remark_attribute" entity scope - entity attribute
21
+ --"remark_derived_attribute" entity scope - entity derived attribute
22
+ --"remark_inverse_attribute" entity scope - entity inverse attribute
23
+ --"remark_unique" entity scope - entity unique
24
+ --"remark_where" entity scope - entity where
25
+ END_ENTITY;
26
+ SUBTYPE_CONSTRAINT remark_subtype_constraint FOR remark_entity; END_SUBTYPE_CONSTRAINT;
27
+ FUNCTION remark_function(remark_parameter : STRING) : BOOLEAN;
28
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
29
+ CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
30
+ LOCAL remark_variable : STRING; END_LOCAL;
31
+ ALIAS remark_alias FOR remark_variable; ;
32
+ --"remark_alias" function alias scope - function alias
33
+ END_ALIAS;
34
+ REPEAT remark_repeat := 1 TO 9; ;
35
+ --"remark_repeat" function repeat scope - function repeat
36
+ END_REPEAT;
37
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
38
+ --"remark_query" function query scope - function query
39
+ );
40
+ --"remark_parameter" function scope - function parameter
41
+ --"remark_type" function scope - function type
42
+ --"remark_enumeration_item" function scope - function enumeration item
43
+ --"remark_constant" function scope - function constant
44
+ --"remark_variable" function scope - function variable
45
+ END_FUNCTION;
46
+ PROCEDURE remark_procedure(remark_parameter : STRING);
47
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
48
+ CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
49
+ LOCAL remark_variable : STRING; END_LOCAL;
50
+ ALIAS remark_alias FOR remark_variable; ;
51
+ --"remark_alias" procedure alias scope - procedure alias
52
+ END_ALIAS;
53
+ REPEAT remark_repeat := 1 TO 9; ;
54
+ --"remark_repeat" procedure repeat scope - procedure repeat
55
+ END_REPEAT;
56
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
57
+ --"remark_query" procedure query scope - procedure query
58
+ );
59
+ --"remark_parameter" procedure scope - procedure parameter
60
+ --"remark_type" procedure scope - procedure type
61
+ --"remark_enumeration_item" procedure scope - procedure enumeration item
62
+ --"remark_constant" procedure scope - procedure constant
63
+ --"remark_variable" procedure scope - procedure variable
64
+ END_PROCEDURE;
65
+ RULE remark_rule FOR (remark_entity);
66
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
67
+ CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
68
+ LOCAL remark_variable : STRING; END_LOCAL;
69
+ ALIAS remark_alias FOR remark_variable; ;
70
+ --"remark_alias" rule alias scope - rule alias
71
+ END_ALIAS;
72
+ REPEAT remark_repeat := 1 TO 9; ;
73
+ --"remark_repeat" rule repeat scope - rule repeat
74
+ END_REPEAT;
75
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
76
+ --"remark_query" rule query scope - rule query
77
+ );
78
+ WHERE remark_where : TRUE;
79
+ --"remark_type" rule scope - rule type
80
+ --"remark_enumeration_item" rule scope - rule enumeration item
81
+ --"remark_constant" rule scope - rule constant
82
+ --"remark_variable" rule scope - rule variable
83
+ --"remark_where" rule scope - rule where
84
+ END_RULE;
85
+
86
+ --"remark_constant" schema scope - constant
87
+ --"remark_type" schema scope - type
88
+ --"remark_enumeration_item" schema scope - enumeration item
89
+ --"remark_entity" schema scope - entity
90
+ --"remark_entity.remark_attribute" schema scope - entity attribute
91
+ --"remark_entity.remark_derived_attribute" schema scope - entity derived attribute
92
+ --"remark_entity.remark_inverse_attribute" schema scope - entity inverse attribute
93
+ --"remark_entity.remark_unique" schema scope - entity unique
94
+ --"remark_entity.remark_where" schema scope - entity where
95
+ --"remark_subtype_constraint" schema scope - subtype constraint
96
+ --"remark_function" schema scope - function
97
+ --"remark_function.remark_parameter" schema scope - function parameter
98
+ --"remark_function.remark_type" schema scope - function type
99
+ --"remark_function.remark_enumeration_item" schema scope - function enumeration item
100
+ --"remark_function.remark_constant" schema scope - function constant
101
+ --"remark_function.remark_variable" schema scope - function variable
102
+ --"remark_procedure" schema scope - procedure
103
+ --"remark_procedure.remark_parameter" schema scope - procedure parameter
104
+ --"remark_procedure.remark_type" schema scope - procedure type
105
+ --"remark_procedure.remark_enumeration_item" schema scope - procedure enumeration item
106
+ --"remark_procedure.remark_constant" schema scope - procedure constant
107
+ --"remark_procedure.remark_variable" schema scope - procedure variable
108
+ --"remark_rule" schema scope - rule
109
+ --"remark_rule.remark_type" schema scope - rule type
110
+ --"remark_rule.remark_enumeration_item" schema scope - rule enumeration item
111
+ --"remark_rule.remark_constant" schema scope - rule constant
112
+ --"remark_rule.remark_variable" schema scope - rule variable
113
+ --"remark_rule.remark_where" schema scope - rule where
114
+
115
+ END_SCHEMA;
116
+
117
+ --"remark_schema" universal scope - schema
118
+ --"remark_schema.remark_constant" universal scope - constant
119
+ --"remark_schema.remark_type" universal scope - type
120
+ --"remark_schema.remark_enumeration_item" universal scope - enumeration item
121
+ --"remark_schema.remark_entity" universal scope - entity
122
+ --"remark_schema.remark_entity.remark_attribute" universal scope - entity attribute
123
+ --"remark_schema.remark_entity.remark_derived_attribute" universal scope - entity derived attribute
124
+ --"remark_schema.remark_entity.remark_inverse_attribute" universal scope - entity inverse attribute
125
+ --"remark_schema.remark_entity.remark_unique" universal scope - entity unique
126
+ --"remark_schema.remark_entity.remark_where" universal scope - entity where
127
+ --"remark_schema.remark_subtype_constraint" universal scope - subtype constraint
128
+ --"remark_schema.remark_function" universal scope - function
129
+ --"remark_schema.remark_function.remark_parameter" universal scope - function parameter
130
+ --"remark_schema.remark_function.remark_type" universal scope - function type
131
+ --"remark_schema.remark_function.remark_enumeration_item" universal scope - function enumeration item
132
+ --"remark_schema.remark_function.remark_constant" universal scope - function constant
133
+ --"remark_schema.remark_function.remark_variable" universal scope - function variable
134
+ --"remark_schema.remark_procedure" universal scope - procedure
135
+ --"remark_schema.remark_procedure.remark_parameter" universal scope - procedure parameter
136
+ --"remark_schema.remark_procedure.remark_type" universal scope - procedure type
137
+ --"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item
138
+ --"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
139
+ --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
140
+ --"remark_schema.remark_rule" universal scope - rule
141
+ --"remark_schema.remark_rule.remark_type" universal scope - rule type
142
+ --"remark_schema.remark_rule.remark_enumeration_item" universal scope - rule enumeration item
143
+ --"remark_schema.remark_rule.remark_constant" universal scope - rule constant
144
+ --"remark_schema.remark_rule.remark_variable" universal scope - rule variable
145
+ --"remark_schema.remark_rule.remark_where" universal scope - rule where
@@ -0,0 +1,174 @@
1
+ SCHEMA remark_schema;
2
+ CONSTANT
3
+ remark_constant : STRING := 'xxx';
4
+ END_CONSTANT;
5
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
6
+ END_TYPE;
7
+
8
+ ENTITY remark_entity;
9
+ remark_attribute : STRING;
10
+ DERIVE
11
+ remark_derived_attribute : STRING := 'xxx';
12
+ INVERSE
13
+ remark_inverse_attribute : remark_entity FOR remark_attribute;
14
+ UNIQUE
15
+ remark_unique : remark_attribute;
16
+ WHERE
17
+ remark_where : TRUE;
18
+ END_ENTITY;
19
+
20
+ SUBTYPE_CONSTRAINT remark_subtype_constraint FOR remark_entity;
21
+ END_SUBTYPE_CONSTRAINT;
22
+
23
+ FUNCTION remark_function(remark_parameter : STRING) : BOOLEAN;
24
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
25
+ END_TYPE;
26
+ CONSTANT
27
+ remark_constant : STRING := 'xxx';
28
+ END_CONSTANT;
29
+ LOCAL
30
+ remark_variable : STRING;
31
+ END_LOCAL;
32
+ ALIAS remark_alias FOR remark_variable;
33
+ ;
34
+ --"remark_alias" function alias scope - function alias
35
+ END_ALIAS;
36
+ REPEAT remark_repeat := 1 TO 9;
37
+ ;
38
+ --"remark_repeat" function repeat scope - function repeat
39
+ END_REPEAT;
40
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
41
+ --"remark_query" function query scope - function query
42
+ );
43
+ END_FUNCTION;
44
+
45
+ PROCEDURE remark_procedure(remark_parameter : STRING);
46
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
47
+ END_TYPE;
48
+ CONSTANT
49
+ remark_constant : STRING := 'xxx';
50
+ END_CONSTANT;
51
+ LOCAL
52
+ remark_variable : STRING;
53
+ END_LOCAL;
54
+ ALIAS remark_alias FOR remark_variable;
55
+ ;
56
+ --"remark_alias" procedure alias scope - procedure alias
57
+ END_ALIAS;
58
+ REPEAT remark_repeat := 1 TO 9;
59
+ ;
60
+ --"remark_repeat" procedure repeat scope - procedure repeat
61
+ END_REPEAT;
62
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
63
+ --"remark_query" procedure query scope - procedure query
64
+ );
65
+ END_PROCEDURE;
66
+
67
+ RULE remark_rule FOR (remark_entity);
68
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
69
+ END_TYPE;
70
+ CONSTANT
71
+ remark_constant : STRING := 'xxx';
72
+ END_CONSTANT;
73
+ LOCAL
74
+ remark_variable : STRING;
75
+ END_LOCAL;
76
+ ALIAS remark_alias FOR remark_variable;
77
+ ;
78
+ --"remark_alias" rule alias scope - rule alias
79
+ END_ALIAS;
80
+ REPEAT remark_repeat := 1 TO 9;
81
+ ;
82
+ --"remark_repeat" rule repeat scope - rule repeat
83
+ END_REPEAT;
84
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
85
+ --"remark_query" rule query scope - rule query
86
+ );
87
+ WHERE
88
+ remark_where : TRUE;
89
+ END_RULE;
90
+ END_SCHEMA;
91
+ (*"remark_schema"
92
+ Any character within the EXPRESS character set may occur between the start and end of
93
+ an embedded remark including the newline character; therefore, embedded remarks can span
94
+ several physical lines.
95
+ *)
96
+ --"remark_schema" The tail remark is written at the end of a physical line.
97
+ --"remark_schema" universal scope - schema before
98
+ --"remark_schema" universal scope - schema
99
+ --"remark_schema.remark_constant" schema scope - constant
100
+ --"remark_schema.remark_constant" universal scope - constant
101
+ --"remark_schema.remark_type" schema scope - type
102
+ --"remark_schema.remark_type" universal scope - type
103
+ --"remark_schema.remark_enumeration_item" schema scope - enumeration item
104
+ --"remark_schema.remark_enumeration_item" universal scope - enumeration item
105
+ --"remark_schema.remark_entity" schema scope - entity
106
+ --"remark_schema.remark_entity" universal scope - entity
107
+ --"remark_schema.remark_entity.remark_attribute" entity scope - entity attribute
108
+ --"remark_schema.remark_entity.remark_attribute" schema scope - entity attribute
109
+ --"remark_schema.remark_entity.remark_attribute" universal scope - entity attribute
110
+ --"remark_schema.remark_entity.remark_derived_attribute" entity scope - entity derived attribute
111
+ --"remark_schema.remark_entity.remark_derived_attribute" schema scope - entity derived attribute
112
+ --"remark_schema.remark_entity.remark_derived_attribute" universal scope - entity derived attribute
113
+ --"remark_schema.remark_entity.remark_inverse_attribute" entity scope - entity inverse attribute
114
+ --"remark_schema.remark_entity.remark_inverse_attribute" schema scope - entity inverse attribute
115
+ --"remark_schema.remark_entity.remark_inverse_attribute" universal scope - entity inverse attribute
116
+ --"remark_schema.remark_entity.remark_unique" entity scope - entity unique
117
+ --"remark_schema.remark_entity.remark_unique" schema scope - entity unique
118
+ --"remark_schema.remark_entity.remark_unique" universal scope - entity unique
119
+ --"remark_schema.remark_entity.remark_where" entity scope - entity where
120
+ --"remark_schema.remark_entity.remark_where" schema scope - entity where
121
+ --"remark_schema.remark_entity.remark_where" universal scope - entity where
122
+ --"remark_schema.remark_subtype_constraint" schema scope - subtype constraint
123
+ --"remark_schema.remark_subtype_constraint" universal scope - subtype constraint
124
+ --"remark_schema.remark_function" schema scope - function
125
+ --"remark_schema.remark_function" universal scope - function
126
+ --"remark_schema.remark_function.remark_parameter" function scope - function parameter
127
+ --"remark_schema.remark_function.remark_parameter" schema scope - function parameter
128
+ --"remark_schema.remark_function.remark_parameter" universal scope - function parameter
129
+ --"remark_schema.remark_function.remark_type" function scope - function type
130
+ --"remark_schema.remark_function.remark_type" schema scope - function type
131
+ --"remark_schema.remark_function.remark_type" universal scope - function type
132
+ --"remark_schema.remark_function.remark_enumeration_item" function scope - function enumeration item
133
+ --"remark_schema.remark_function.remark_enumeration_item" schema scope - function enumeration item
134
+ --"remark_schema.remark_function.remark_enumeration_item" universal scope - function enumeration item
135
+ --"remark_schema.remark_function.remark_constant" function scope - function constant
136
+ --"remark_schema.remark_function.remark_constant" schema scope - function constant
137
+ --"remark_schema.remark_function.remark_constant" universal scope - function constant
138
+ --"remark_schema.remark_function.remark_variable" function scope - function variable
139
+ --"remark_schema.remark_function.remark_variable" schema scope - function variable
140
+ --"remark_schema.remark_function.remark_variable" universal scope - function variable
141
+ --"remark_schema.remark_procedure" schema scope - procedure
142
+ --"remark_schema.remark_procedure" universal scope - procedure
143
+ --"remark_schema.remark_procedure.remark_parameter" procedure scope - procedure parameter
144
+ --"remark_schema.remark_procedure.remark_parameter" schema scope - procedure parameter
145
+ --"remark_schema.remark_procedure.remark_parameter" universal scope - procedure parameter
146
+ --"remark_schema.remark_procedure.remark_type" procedure scope - procedure type
147
+ --"remark_schema.remark_procedure.remark_type" schema scope - procedure type
148
+ --"remark_schema.remark_procedure.remark_type" universal scope - procedure type
149
+ --"remark_schema.remark_procedure.remark_enumeration_item" procedure scope - procedure enumeration item
150
+ --"remark_schema.remark_procedure.remark_enumeration_item" schema scope - procedure enumeration item
151
+ --"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item
152
+ --"remark_schema.remark_procedure.remark_constant" procedure scope - procedure constant
153
+ --"remark_schema.remark_procedure.remark_constant" schema scope - procedure constant
154
+ --"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
155
+ --"remark_schema.remark_procedure.remark_variable" procedure scope - procedure variable
156
+ --"remark_schema.remark_procedure.remark_variable" schema scope - procedure variable
157
+ --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
158
+ --"remark_schema.remark_rule" schema scope - rule
159
+ --"remark_schema.remark_rule" universal scope - rule
160
+ --"remark_schema.remark_rule.remark_type" rule scope - rule type
161
+ --"remark_schema.remark_rule.remark_type" schema scope - rule type
162
+ --"remark_schema.remark_rule.remark_type" universal scope - rule type
163
+ --"remark_schema.remark_rule.remark_enumeration_item" rule scope - rule enumeration item
164
+ --"remark_schema.remark_rule.remark_enumeration_item" schema scope - rule enumeration item
165
+ --"remark_schema.remark_rule.remark_enumeration_item" universal scope - rule enumeration item
166
+ --"remark_schema.remark_rule.remark_constant" rule scope - rule constant
167
+ --"remark_schema.remark_rule.remark_constant" schema scope - rule constant
168
+ --"remark_schema.remark_rule.remark_constant" universal scope - rule constant
169
+ --"remark_schema.remark_rule.remark_variable" rule scope - rule variable
170
+ --"remark_schema.remark_rule.remark_variable" schema scope - rule variable
171
+ --"remark_schema.remark_rule.remark_variable" universal scope - rule variable
172
+ --"remark_schema.remark_rule.remark_where" rule scope - rule where
173
+ --"remark_schema.remark_rule.remark_where" schema scope - rule where
174
+ --"remark_schema.remark_rule.remark_where" universal scope - rule where
@@ -0,0 +1,310 @@
1
+ SCHEMA syntax_schema 'version';
2
+
3
+ -- interfaces
4
+ USE FROM contract_schema;
5
+ USE FROM contract_schema (contract);
6
+ USE FROM contract_schema (contract AS contract2);
7
+ REFERENCE FROM contract_schema;
8
+ REFERENCE FROM contract_schema (contract);
9
+ REFERENCE FROM contract_schema (contract AS contract2);
10
+
11
+ -- constants
12
+ CONSTANT empty_constant : BOOLEAN := TRUE; END_CONSTANT;
13
+
14
+ -- types
15
+ TYPE empty_type = BOOLEAN; END_TYPE;
16
+ TYPE where_type = BOOLEAN; WHERE TRUE; END_TYPE;
17
+ TYPE where_label_type = BOOLEAN; WHERE WR1 : TRUE; END_TYPE;
18
+
19
+ -- entities
20
+ ENTITY empty_entity; END_ENTITY;
21
+ ENTITY abstract_entity ABSTRACT; END_ENTITY;
22
+ ENTITY abstract_supertype_entity ABSTRACT SUPERTYPE; END_ENTITY;
23
+ ENTITY abstract_supertype_constraint_entity ABSTRACT SUPERTYPE OF (empty_entity); END_ENTITY;
24
+ ENTITY supertype_constraint_entity SUPERTYPE OF (empty_entity); END_ENTITY;
25
+ ENTITY subtype_entity SUBTYPE OF (empty_entity); END_ENTITY;
26
+ ENTITY supertype_constraint_subtype_entity SUPERTYPE OF (empty_entity) SUBTYPE OF (empty_entity); END_ENTITY;
27
+ ENTITY attribute_entity; test : BOOLEAN; END_ENTITY;
28
+ ENTITY attribute_optional_entity; test : OPTIONAL BOOLEAN; END_ENTITY;
29
+ ENTITY attribute_multiple_entity; test : BOOLEAN; test2 : BOOLEAN; END_ENTITY;
30
+ ENTITY attribute_multiple_shorthand_entity; test, test2 : BOOLEAN; END_ENTITY;
31
+ ENTITY attribute_redeclared_entity; SELF\attribute_entity.test : BOOLEAN; END_ENTITY;
32
+ ENTITY attribute_redeclared_renamed_entity; SELF\attribute_entity.test RENAMED test2 : BOOLEAN; END_ENTITY;
33
+ ENTITY derived_attribute_entity; DERIVE test : BOOLEAN := TRUE; END_ENTITY;
34
+ ENTITY derived_attribute_redeclared_entity; DERIVE SELF\attribute_entity.test : BOOLEAN := TRUE; END_ENTITY;
35
+ ENTITY derived_attribute_redeclared_renamed_entity; DERIVE SELF\attribute_entity.test RENAMED test2 : BOOLEAN := TRUE; END_ENTITY;
36
+ ENTITY inverse_attribute_entity; INVERSE test : attribute_entity FOR test; END_ENTITY;
37
+ ENTITY inverse_attribute_entity_entity; INVERSE test : attribute_entity FOR attribute_entity.test; END_ENTITY;
38
+ ENTITY inverse_attribute_set_entity; INVERSE test : SET OF attribute_entity FOR test; END_ENTITY;
39
+ ENTITY inverse_attribute_set_bound_entity; INVERSE test : SET [1:9] OF attribute_entity FOR test; END_ENTITY;
40
+ ENTITY inverse_attribute_bag_entity; INVERSE test : BAG OF attribute_entity FOR test; END_ENTITY;
41
+ ENTITY inverse_attribute_bag_bound_entity; INVERSE test : BAG [1:9] OF attribute_entity FOR test; END_ENTITY;
42
+ ENTITY inverse_attribute_redeclared_entity; INVERSE SELF\attribute_entity.test : attribute_entity FOR test; END_ENTITY;
43
+ ENTITY inverse_attribute_redeclared_renamed_entity; INVERSE SELF\attribute_entity.test RENAMED test2 : attribute_entity FOR test; END_ENTITY;
44
+ ENTITY unique_entity; test : BOOLEAN; UNIQUE test; END_ENTITY;
45
+ ENTITY unique_label_entity; test : BOOLEAN; UNIQUE UR1 : test; END_ENTITY;
46
+ ENTITY unique_qualified_entity; UNIQUE SELF\attribute_entity.test; END_ENTITY;
47
+ ENTITY unique_label_qualified_entity; UNIQUE UR1 : SELF\attribute_entity.test; END_ENTITY;
48
+ ENTITY where_entity; WHERE TRUE; END_ENTITY;
49
+ ENTITY where_label_entity; WHERE WR1 : TRUE; END_ENTITY;
50
+
51
+ -- subtype constraints
52
+ SUBTYPE_CONSTRAINT empty_subtype_constraint FOR empty_entity; END_SUBTYPE_CONSTRAINT;
53
+ SUBTYPE_CONSTRAINT abstract_supertype_subtype_constraint FOR empty_entity; ABSTRACT SUPERTYPE; END_SUBTYPE_CONSTRAINT;
54
+ SUBTYPE_CONSTRAINT total_over_subtype_constraint FOR empty_entity; TOTAL_OVER(a); END_SUBTYPE_CONSTRAINT;
55
+ SUBTYPE_CONSTRAINT supertype_expression_subtype_constraint FOR empty_entity; a; END_SUBTYPE_CONSTRAINT;
56
+ SUBTYPE_CONSTRAINT supertype_expression_andor_subtype_constraint FOR empty_entity; a ANDOR b; END_SUBTYPE_CONSTRAINT;
57
+ SUBTYPE_CONSTRAINT supertype_expression_and_subtype_constraint FOR empty_entity; a AND b; END_SUBTYPE_CONSTRAINT;
58
+ SUBTYPE_CONSTRAINT supertype_expression_andor_and_subtype_constraint FOR empty_entity; a ANDOR b AND c; END_SUBTYPE_CONSTRAINT;
59
+ SUBTYPE_CONSTRAINT supertype_expression_and_andor_subtype_constraint FOR empty_entity; a AND b ANDOR c; END_SUBTYPE_CONSTRAINT;
60
+ SUBTYPE_CONSTRAINT supertype_expression_parenthesis_andor_and_subtype_constraint FOR empty_entity; (a ANDOR b) AND c; END_SUBTYPE_CONSTRAINT;
61
+ SUBTYPE_CONSTRAINT supertype_expression_and_parenthesis_andor_subtype_constraint FOR empty_entity; a AND (b ANDOR c); END_SUBTYPE_CONSTRAINT;
62
+ SUBTYPE_CONSTRAINT supertype_expression_oneof_subtype_constraint FOR empty_entity; ONEOF(a, b); END_SUBTYPE_CONSTRAINT;
63
+ SUBTYPE_CONSTRAINT supertype_expression_and_oneof_subtype_constraint FOR empty_entity; a AND ONEOF(b, c); END_SUBTYPE_CONSTRAINT;
64
+ SUBTYPE_CONSTRAINT supertype_expression_andor_oneof_subtype_constraint FOR empty_entity; a ANDOR ONEOF(b, c); END_SUBTYPE_CONSTRAINT;
65
+ SUBTYPE_CONSTRAINT supertype_expression_oneof_and_subtype_constraint FOR empty_entity; ONEOF(a, b) AND c; END_SUBTYPE_CONSTRAINT;
66
+ SUBTYPE_CONSTRAINT supertype_expression_oneof_andor_subtype_constraint FOR empty_entity; ONEOF(a, b) ANDOR c; END_SUBTYPE_CONSTRAINT;
67
+ SUBTYPE_CONSTRAINT supertype_expression_oneof_and_oneof_subtype_constraint FOR empty_entity; ONEOF(a, b) AND ONEOF(c, d); END_SUBTYPE_CONSTRAINT;
68
+ SUBTYPE_CONSTRAINT supertype_expression_oneof_andor_oneof_subtype_constraint FOR empty_entity; ONEOF(a, b) ANDOR ONEOF(c, d); END_SUBTYPE_CONSTRAINT;
69
+
70
+ -- functions
71
+ FUNCTION empty_function : BOOLEAN; ; END_FUNCTION;
72
+ FUNCTION parameter_function(test : BOOLEAN) : BOOLEAN; ; END_FUNCTION;
73
+ FUNCTION multiple_parameter_function(test : BOOLEAN; test2 : BOOLEAN) : BOOLEAN; ; END_FUNCTION;
74
+ FUNCTION multiple_shorthand_parameter_function(test, test2 : BOOLEAN) : BOOLEAN; ; END_FUNCTION;
75
+ FUNCTION type_function : BOOLEAN; TYPE test = BOOLEAN; END_TYPE; ; END_FUNCTION;
76
+ FUNCTION constant_function : BOOLEAN; CONSTANT test : BOOLEAN := TRUE; END_CONSTANT; ; END_FUNCTION;
77
+ FUNCTION multiple_constant_function : BOOLEAN; CONSTANT test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_CONSTANT; ; END_FUNCTION;
78
+ FUNCTION variable_function : BOOLEAN; LOCAL test : BOOLEAN; END_LOCAL; ; END_FUNCTION;
79
+ FUNCTION multiple_variable_function : BOOLEAN; LOCAL test : BOOLEAN; test2 : BOOLEAN; END_LOCAL; ; END_FUNCTION;
80
+ FUNCTION multiple_shorthand_variable_function : BOOLEAN; LOCAL test, test2 : BOOLEAN; END_LOCAL; ; END_FUNCTION;
81
+ FUNCTION variable_expression_function : BOOLEAN; LOCAL test : BOOLEAN := TRUE; END_LOCAL; ; END_FUNCTION;
82
+ FUNCTION multiple_variable_expression_function : BOOLEAN; LOCAL test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_LOCAL; ; END_FUNCTION;
83
+ FUNCTION multiple_shorthand_variable_expression_function : BOOLEAN; LOCAL test, test2 : BOOLEAN := TRUE; END_LOCAL; ; END_FUNCTION;
84
+
85
+ -- procedures
86
+ PROCEDURE empty_procedure; END_PROCEDURE;
87
+ PROCEDURE parameter_procedure(test : BOOLEAN); END_PROCEDURE;
88
+ PROCEDURE multiple_parameter_procedure(test : BOOLEAN; test2 : BOOLEAN); END_PROCEDURE;
89
+ PROCEDURE multiple_shorthand_parameter_procedure(test, test2 : BOOLEAN); END_PROCEDURE;
90
+ PROCEDURE variable_parameter_procedure(VAR test : BOOLEAN); END_PROCEDURE;
91
+ PROCEDURE multiple_variable_parameter_procedure(VAR test : BOOLEAN; test2 : BOOLEAN); END_PROCEDURE;
92
+ PROCEDURE multiple_variable_parameter2_procedure(test : BOOLEAN; VAR test2 : BOOLEAN); END_PROCEDURE;
93
+ PROCEDURE multiple_shorthand_variable_parameter_procedure(VAR test, test2 : BOOLEAN); END_PROCEDURE;
94
+ PROCEDURE type_procedure; TYPE test = BOOLEAN; END_TYPE; END_PROCEDURE;
95
+ PROCEDURE constant_procedure; CONSTANT test : BOOLEAN := TRUE; END_CONSTANT; END_PROCEDURE;
96
+ PROCEDURE multiple_constant_procedure; CONSTANT test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_CONSTANT; END_PROCEDURE;
97
+ PROCEDURE variable_procedure; LOCAL test : BOOLEAN; END_LOCAL; END_PROCEDURE;
98
+ PROCEDURE multiple_variable_procedure; LOCAL test : BOOLEAN; test2 : BOOLEAN; END_LOCAL; END_PROCEDURE;
99
+ PROCEDURE multiple_shorthand_variable_procedure; LOCAL test, test2 : BOOLEAN; END_LOCAL; END_PROCEDURE;
100
+ PROCEDURE variable_expression_procedure; LOCAL test : BOOLEAN := TRUE; END_LOCAL; END_PROCEDURE;
101
+ PROCEDURE multiple_variable_expression_procedure; LOCAL test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_LOCAL; END_PROCEDURE;
102
+ PROCEDURE multiple_shorthand_variable_expression_procedure; LOCAL test, test2 : BOOLEAN := TRUE; END_LOCAL; END_PROCEDURE;
103
+ PROCEDURE statement_procedure; ; END_PROCEDURE;
104
+
105
+ -- rules
106
+ RULE empty_rule FOR (empty_entity); WHERE TRUE; END_RULE;
107
+ RULE type_rule FOR (empty_entity); TYPE test = BOOLEAN; END_TYPE; WHERE TRUE; END_RULE;
108
+ RULE constant_rule FOR (empty_entity); CONSTANT test : BOOLEAN := TRUE; END_CONSTANT; WHERE TRUE; END_RULE;
109
+ RULE multiple_constant_rule FOR (empty_entity); CONSTANT test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_CONSTANT; WHERE TRUE; END_RULE;
110
+ RULE variable_rule FOR (empty_entity); LOCAL test : BOOLEAN; END_LOCAL; WHERE TRUE; END_RULE;
111
+ RULE multiple_variable_rule FOR (empty_entity); LOCAL test : BOOLEAN; test2 : BOOLEAN; END_LOCAL; WHERE TRUE; END_RULE;
112
+ RULE multiple_shorthand_variable_rule FOR (empty_entity); LOCAL test, test2 : BOOLEAN; END_LOCAL; WHERE TRUE; END_RULE;
113
+ RULE variable_expression_rule FOR (empty_entity); LOCAL test : BOOLEAN := TRUE; END_LOCAL; WHERE TRUE; END_RULE;
114
+ RULE multiple_variable_expression_rule FOR (empty_entity); LOCAL test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_LOCAL; WHERE TRUE; END_RULE;
115
+ RULE multiple_shorthand_variable_expression_rule FOR (empty_entity); LOCAL test, test2 : BOOLEAN := TRUE; END_LOCAL; WHERE TRUE; END_RULE;
116
+ RULE statement_rule FOR (empty_entity); ; WHERE TRUE; END_RULE;
117
+
118
+ -- simple types
119
+ TYPE binary_type = BINARY; END_TYPE;
120
+ TYPE binary_width_type = BINARY (3); END_TYPE;
121
+ TYPE binary_width_fixed_type = BINARY (3) FIXED; END_TYPE;
122
+ TYPE boolean_type = BOOLEAN; END_TYPE;
123
+ TYPE integer_type = INTEGER; END_TYPE;
124
+ TYPE logical_type = LOGICAL; END_TYPE;
125
+ TYPE number_type = NUMBER; END_TYPE;
126
+ TYPE real_type = REAL; END_TYPE;
127
+ TYPE real_precision_type = REAL (3); END_TYPE;
128
+ TYPE string_type = STRING; END_TYPE;
129
+ TYPE string_width_type = STRING (3); END_TYPE;
130
+ TYPE string_width_fixed_type = STRING (3) FIXED; END_TYPE;
131
+
132
+ -- aggregation types
133
+ TYPE array_type = ARRAY [1:9] OF STRING; END_TYPE;
134
+ TYPE array_optional_type = ARRAY [1:9] OF OPTIONAL STRING; END_TYPE;
135
+ TYPE array_unique_type = ARRAY [1:9] OF UNIQUE STRING; END_TYPE;
136
+ TYPE array_optional_unique_type = ARRAY [1:9] OF OPTIONAL UNIQUE STRING; END_TYPE;
137
+ TYPE bag_type = BAG OF STRING; END_TYPE;
138
+ TYPE bag_bound_type = BAG [1:9] OF STRING; END_TYPE;
139
+ TYPE list_type = LIST OF STRING; END_TYPE;
140
+ TYPE list_bound_type = LIST [1:9] OF STRING; END_TYPE;
141
+ TYPE list_unique_type = LIST OF UNIQUE STRING; END_TYPE;
142
+ TYPE list_bound_unique_type = LIST [1:9] OF UNIQUE STRING; END_TYPE;
143
+ TYPE set_type = SET OF STRING; END_TYPE;
144
+ TYPE set_bound_type = SET [1:9] OF STRING; END_TYPE;
145
+
146
+ -- constructed types
147
+ TYPE select_type = SELECT; END_TYPE;
148
+ TYPE select_extensible_type = EXTENSIBLE SELECT; END_TYPE;
149
+ TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT; END_TYPE;
150
+ TYPE select_list_type = SELECT (empty_type); END_TYPE;
151
+ TYPE select_extension_type_ref_type = SELECT BASED_ON select_type; END_TYPE;
152
+ TYPE select_extension_type_ref_list_type = SELECT BASED_ON select_type WITH (empty_type); END_TYPE;
153
+ TYPE enumeration_type = ENUMERATION; END_TYPE;
154
+ TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION; END_TYPE;
155
+ TYPE enumeration_list_type = ENUMERATION OF (test); END_TYPE;
156
+ TYPE enumeration_extension_type_ref_type = ENUMERATION BASED_ON enumeration_type; END_TYPE;
157
+ TYPE enumeration_extension_type_ref_list_type = ENUMERATION BASED_ON enumeration_type WITH (test); END_TYPE;
158
+
159
+ -- statements
160
+ FUNCTION alias_simple_reference_statement : BOOLEAN; ALIAS test FOR test; ; END_ALIAS; END_FUNCTION;
161
+ FUNCTION alias_attribute_reference_statement : BOOLEAN; ALIAS test FOR test.test; ; END_ALIAS; END_FUNCTION;
162
+ FUNCTION alias_group_reference_statement : BOOLEAN; ALIAS test FOR test\test; ; END_ALIAS; END_FUNCTION;
163
+ FUNCTION alias_index_reference_statement : BOOLEAN; ALIAS test FOR test[1]; ; END_ALIAS; END_FUNCTION;
164
+ FUNCTION alias_index2_reference_statement : BOOLEAN; ALIAS test FOR test[1:9]; ; END_ALIAS; END_FUNCTION;
165
+ FUNCTION assignment_simple_reference_statement : BOOLEAN; test := TRUE; END_FUNCTION;
166
+ FUNCTION assignment_attribute_reference_statement : BOOLEAN; test.test := TRUE; END_FUNCTION;
167
+ FUNCTION assignment_group_reference_statement : BOOLEAN; test\test := TRUE; END_FUNCTION;
168
+ FUNCTION assignment_index_reference_statement : BOOLEAN; test[1] := TRUE; END_FUNCTION;
169
+ FUNCTION assignment_index2_reference_statement : BOOLEAN; test[1:9] := TRUE; END_FUNCTION;
170
+ FUNCTION case_statement : BOOLEAN; CASE test OF TRUE : ; END_CASE; END_FUNCTION;
171
+ FUNCTION case_multiple_statement : BOOLEAN; CASE test OF TRUE : ; TRUE : ; END_CASE; END_FUNCTION;
172
+ FUNCTION case_multiple_shorthand_statement : BOOLEAN; CASE test OF TRUE, TRUE : ; END_CASE; END_FUNCTION;
173
+ FUNCTION case_otherwise_statement : BOOLEAN; CASE test OF TRUE : ; OTHERWISE : ; END_CASE; END_FUNCTION;
174
+ FUNCTION compound_statement : BOOLEAN; BEGIN ; END; END_FUNCTION;
175
+ FUNCTION escape_statement : BOOLEAN; ESCAPE; END_FUNCTION;
176
+ FUNCTION if_statement : BOOLEAN; IF TRUE THEN ; END_IF; END_FUNCTION;
177
+ FUNCTION if2_statement : BOOLEAN; IF TRUE THEN ; ; END_IF; END_FUNCTION;
178
+ FUNCTION if_else_statement : BOOLEAN; IF TRUE THEN ; ELSE ; END_IF; END_FUNCTION;
179
+ FUNCTION if2_else_statement : BOOLEAN; IF TRUE THEN ; ; ELSE ; END_IF; END_FUNCTION;
180
+ FUNCTION if_else2_statement : BOOLEAN; IF TRUE THEN ; ELSE ; ; END_IF; END_FUNCTION;
181
+ FUNCTION if2_else2_statement : BOOLEAN; IF TRUE THEN ; ; ELSE ; ; END_IF; END_FUNCTION;
182
+ FUNCTION null_statement : BOOLEAN; ; END_FUNCTION;
183
+ FUNCTION call_statement : BOOLEAN; empty_procedure; END_FUNCTION;
184
+ FUNCTION call_parameter_statement : BOOLEAN; empty_procedure(TRUE); END_FUNCTION;
185
+ FUNCTION call_parameter2_statement : BOOLEAN; empty_procedure(TRUE, TRUE); END_FUNCTION;
186
+ FUNCTION call_insert_statement : BOOLEAN; INSERT(TRUE); END_FUNCTION;
187
+ FUNCTION call_remove_statement : BOOLEAN; REMOVE(TRUE); END_FUNCTION;
188
+ FUNCTION repeat_statement : BOOLEAN; REPEAT; ; END_REPEAT; END_FUNCTION;
189
+ FUNCTION repeat_variable_statement : BOOLEAN; REPEAT test := 1 TO 9; ; END_REPEAT; END_FUNCTION;
190
+ FUNCTION repeat_variable_increment_statement : BOOLEAN; REPEAT test := 1 TO 9 BY 2; ; END_REPEAT; END_FUNCTION;
191
+ FUNCTION repeat_while_statement : BOOLEAN; REPEAT WHILE TRUE; ; END_REPEAT; END_FUNCTION;
192
+ FUNCTION repeat_until_statement : BOOLEAN; REPEAT UNTIL TRUE; ; END_REPEAT; END_FUNCTION;
193
+ FUNCTION return_statement : BOOLEAN; RETURN; END_FUNCTION;
194
+ FUNCTION return_expression_statement : BOOLEAN; RETURN (TRUE); END_FUNCTION;
195
+ FUNCTION skip_statement : BOOLEAN; SKIP; END_FUNCTION;
196
+
197
+ -- literal expressions
198
+ FUNCTION binary_expression : BOOLEAN; RETURN (%011110000111100001111000); END_FUNCTION;
199
+ FUNCTION integer_expression : BOOLEAN; RETURN (999); END_FUNCTION;
200
+ FUNCTION true_logical_expression : BOOLEAN; RETURN (TRUE); END_FUNCTION;
201
+ FUNCTION false_logical_expression : BOOLEAN; RETURN (FALSE); END_FUNCTION;
202
+ FUNCTION unknown_logical_expression : BOOLEAN; RETURN (UNKNOWN); END_FUNCTION;
203
+ FUNCTION real_expression : BOOLEAN; RETURN (999.999); END_FUNCTION;
204
+ FUNCTION simple_string_expression : BOOLEAN; RETURN ('xxx'); END_FUNCTION;
205
+ FUNCTION encoded_string_expression : BOOLEAN; RETURN ("000000780000007800000078"); END_FUNCTION;
206
+
207
+ -- constant expressions
208
+ FUNCTION const_e_expression : BOOLEAN; RETURN (CONST_E); END_FUNCTION;
209
+ FUNCTION indeterminate_expression : BOOLEAN; RETURN (?); END_FUNCTION;
210
+ FUNCTION pi_expression : BOOLEAN; RETURN (PI); END_FUNCTION;
211
+ FUNCTION self_expression : BOOLEAN; RETURN (SELF); END_FUNCTION;
212
+
213
+ -- function expressions
214
+ FUNCTION abs_expression : BOOLEAN; RETURN (ABS(TRUE)); END_FUNCTION;
215
+ FUNCTION acos_expression : BOOLEAN; RETURN (ACOS(TRUE)); END_FUNCTION;
216
+ FUNCTION asin_expression : BOOLEAN; RETURN (ASIN(TRUE)); END_FUNCTION;
217
+ FUNCTION atan_expression : BOOLEAN; RETURN (ATAN(TRUE)); END_FUNCTION;
218
+ FUNCTION blength_expression : BOOLEAN; RETURN (BLENGTH(TRUE)); END_FUNCTION;
219
+ FUNCTION cos_expression : BOOLEAN; RETURN (COS(TRUE)); END_FUNCTION;
220
+ FUNCTION exists_expression : BOOLEAN; RETURN (EXISTS(TRUE)); END_FUNCTION;
221
+ FUNCTION exp_expression : BOOLEAN; RETURN (EXP(TRUE)); END_FUNCTION;
222
+ FUNCTION format_expression : BOOLEAN; RETURN (FORMAT(TRUE)); END_FUNCTION;
223
+ FUNCTION hibound_expression : BOOLEAN; RETURN (HIBOUND(TRUE)); END_FUNCTION;
224
+ FUNCTION hiindex_expression : BOOLEAN; RETURN (HIINDEX(TRUE)); END_FUNCTION;
225
+ FUNCTION length_expression : BOOLEAN; RETURN (LENGTH(TRUE)); END_FUNCTION;
226
+ FUNCTION lobound_expression : BOOLEAN; RETURN (LOBOUND(TRUE)); END_FUNCTION;
227
+ FUNCTION loindex_expression : BOOLEAN; RETURN (LOINDEX(TRUE)); END_FUNCTION;
228
+ FUNCTION log_expression : BOOLEAN; RETURN (LOG(TRUE)); END_FUNCTION;
229
+ FUNCTION log2_expression : BOOLEAN; RETURN (LOG2(TRUE)); END_FUNCTION;
230
+ FUNCTION log10_expression : BOOLEAN; RETURN (LOG10(TRUE)); END_FUNCTION;
231
+ FUNCTION nvl_expression : BOOLEAN; RETURN (NVL(TRUE)); END_FUNCTION;
232
+ FUNCTION odd_expression : BOOLEAN; RETURN (ODD(TRUE)); END_FUNCTION;
233
+ FUNCTION rolesof_expression : BOOLEAN; RETURN (ROLESOF(TRUE)); END_FUNCTION;
234
+ FUNCTION sin_expression : BOOLEAN; RETURN (SIN(TRUE)); END_FUNCTION;
235
+ FUNCTION sizeof_expression : BOOLEAN; RETURN (SIZEOF(TRUE)); END_FUNCTION;
236
+ FUNCTION sqrt_expression : BOOLEAN; RETURN (SQRT(TRUE)); END_FUNCTION;
237
+ FUNCTION tan_expression : BOOLEAN; RETURN (TAN(TRUE)); END_FUNCTION;
238
+ FUNCTION typeof_expression : BOOLEAN; RETURN (TYPEOF(TRUE)); END_FUNCTION;
239
+ FUNCTION usedin_expression : BOOLEAN; RETURN (USEDIN(TRUE)); END_FUNCTION;
240
+ FUNCTION value_expression : BOOLEAN; RETURN (VALUE(TRUE)); END_FUNCTION;
241
+ FUNCTION value_in_expression : BOOLEAN; RETURN (VALUE_IN(TRUE)); END_FUNCTION;
242
+ FUNCTION value_unique_expression : BOOLEAN; RETURN (VALUE_UNIQUE(TRUE)); END_FUNCTION;
243
+
244
+ -- operator expressions
245
+ FUNCTION plus_expression : BOOLEAN; RETURN (+4); END_FUNCTION;
246
+ FUNCTION plus_addition_expression : BOOLEAN; RETURN (+(4 + 2)); END_FUNCTION;
247
+ FUNCTION minus_expression : BOOLEAN; RETURN (-4); END_FUNCTION;
248
+ FUNCTION minus_addition_expression : BOOLEAN; RETURN (-(4 + 2)); END_FUNCTION;
249
+ FUNCTION addition_expression : BOOLEAN; RETURN (4 + 2); END_FUNCTION;
250
+ FUNCTION subtraction_expression : BOOLEAN; RETURN (4 - 2); END_FUNCTION;
251
+ FUNCTION multiplication_expression : BOOLEAN; RETURN (4 * 2); END_FUNCTION;
252
+ FUNCTION real_division_expression : BOOLEAN; RETURN (4 / 2); END_FUNCTION;
253
+ FUNCTION integer_division_expression : BOOLEAN; RETURN (4 DIV 2); END_FUNCTION;
254
+ FUNCTION modulo_expression : BOOLEAN; RETURN (4 MOD 2); END_FUNCTION;
255
+ FUNCTION exponentiation_expression : BOOLEAN; RETURN (4 ** 2); END_FUNCTION;
256
+ FUNCTION addition_addition_expression : BOOLEAN; RETURN (4 + 2 + 1); END_FUNCTION;
257
+ FUNCTION subtraction_subtraction_expression : BOOLEAN; RETURN (4 - 2 - 1); END_FUNCTION;
258
+ FUNCTION addition_subtraction_expression : BOOLEAN; RETURN (4 + 2 - 1); END_FUNCTION;
259
+ FUNCTION subtraction_addition_expression : BOOLEAN; RETURN (4 - 2 + 1); END_FUNCTION;
260
+ FUNCTION addition_multiplication_expression : BOOLEAN; RETURN (8 + 4 * 2); END_FUNCTION;
261
+ FUNCTION multiplication_addition_expression : BOOLEAN; RETURN (8 * 4 + 2); END_FUNCTION;
262
+ FUNCTION parenthesis_addition_multiplication_expression : BOOLEAN; RETURN ((8 + 4) * 2); END_FUNCTION;
263
+ FUNCTION multiplication_parenthesis_addition_expression : BOOLEAN; RETURN (8 * (4 + 2)); END_FUNCTION;
264
+ FUNCTION equal_expression : BOOLEAN; RETURN (4 = 2); END_FUNCTION;
265
+ FUNCTION not_equal_expression : BOOLEAN; RETURN (4 <> 2); END_FUNCTION;
266
+ FUNCTION instance_equal_expression : BOOLEAN; RETURN (4 :=: 2); END_FUNCTION;
267
+ FUNCTION instance_not_equal_expression : BOOLEAN; RETURN (4 :<>: 2); END_FUNCTION;
268
+ FUNCTION lt_expression : BOOLEAN; RETURN (4 < 2); END_FUNCTION;
269
+ FUNCTION gt_expression : BOOLEAN; RETURN (4 > 2); END_FUNCTION;
270
+ FUNCTION lte_expression : BOOLEAN; RETURN (4 <= 2); END_FUNCTION;
271
+ FUNCTION gte_expression : BOOLEAN; RETURN (4 >= 2); END_FUNCTION;
272
+ FUNCTION not_expression : BOOLEAN; RETURN (NOT TRUE); END_FUNCTION;
273
+ FUNCTION not_or_expression : BOOLEAN; RETURN (NOT (TRUE OR FALSE)); END_FUNCTION;
274
+ FUNCTION or_expression : BOOLEAN; RETURN (TRUE OR FALSE); END_FUNCTION;
275
+ FUNCTION and_expression : BOOLEAN; RETURN (TRUE AND FALSE); END_FUNCTION;
276
+ FUNCTION or_or_expression : BOOLEAN; RETURN (TRUE OR FALSE OR TRUE); END_FUNCTION;
277
+ FUNCTION and_and_expression : BOOLEAN; RETURN (TRUE AND FALSE AND TRUE); END_FUNCTION;
278
+ FUNCTION or_and_expression : BOOLEAN; RETURN (TRUE OR FALSE AND TRUE); END_FUNCTION;
279
+ FUNCTION and_or_expression : BOOLEAN; RETURN (TRUE AND FALSE OR TRUE); END_FUNCTION;
280
+ FUNCTION parenthesis_or_and_expression : BOOLEAN; RETURN ((TRUE OR FALSE) AND TRUE); END_FUNCTION;
281
+ FUNCTION and_parenthesis_or_expression : BOOLEAN; RETURN (TRUE AND (FALSE OR TRUE)); END_FUNCTION;
282
+ FUNCTION combine_expression : BOOLEAN; RETURN (test || test); END_FUNCTION;
283
+ FUNCTION in_expression : BOOLEAN; RETURN (TRUE IN [TRUE]); END_FUNCTION;
284
+ FUNCTION like_expression : BOOLEAN; RETURN ('xxx' LIKE 'xxx'); END_FUNCTION;
285
+
286
+ -- aggregate initializer expressions
287
+ FUNCTION aggregate_initializer_expression : BOOLEAN; RETURN ([4]); END_FUNCTION;
288
+ FUNCTION repeated_aggregate_initializer_expression : BOOLEAN; RETURN ([4:2]); END_FUNCTION;
289
+ FUNCTION complex_aggregate_initializer_expression : BOOLEAN; RETURN ([4 + 2]); END_FUNCTION;
290
+ FUNCTION complex_repeated_aggregate_initializer_expression : BOOLEAN; RETURN ([4 + 2:4 + 2]); END_FUNCTION;
291
+
292
+ -- function call or entity constructor expressions
293
+ FUNCTION call_expression : BOOLEAN; RETURN (parameter_function(TRUE)); END_FUNCTION;
294
+
295
+ -- reference expressions
296
+ FUNCTION simple_reference_expression : BOOLEAN; RETURN (simple_string_expression); END_FUNCTION;
297
+ FUNCTION attribute_reference_expression : BOOLEAN; RETURN (simple_string_expression.test); END_FUNCTION;
298
+ FUNCTION group_reference_expression : BOOLEAN; RETURN (simple_string_expression\test); END_FUNCTION;
299
+ FUNCTION index_reference_expression : BOOLEAN; RETURN (simple_string_expression[1]); END_FUNCTION;
300
+ FUNCTION index2_reference_expression : BOOLEAN; RETURN (simple_string_expression[1:9]); END_FUNCTION;
301
+
302
+ -- interval expressions
303
+ FUNCTION lt_lt_interval_expression : BOOLEAN; RETURN ({1 < 5 < 9}); END_FUNCTION;
304
+ FUNCTION lte_lt_interval_expression : BOOLEAN; RETURN ({1 <= 5 < 9}); END_FUNCTION;
305
+ FUNCTION lt_lte_interval_expression : BOOLEAN; RETURN ({1 < 5 <= 9}); END_FUNCTION;
306
+ FUNCTION lte_lte_interval_expression : BOOLEAN; RETURN ({1 <= 5 <= 9}); END_FUNCTION;
307
+
308
+ -- query expressions
309
+ FUNCTION query_expression : BOOLEAN; RETURN (QUERY(test <* test2 | TRUE)); END_FUNCTION;
310
+ END_SCHEMA;