expressir 1.4.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/codeql.yml +2 -14
- data/.github/workflows/rake.yml +6 -364
- data/.github/workflows/release.yml +15 -178
- data/.github/workflows/stress.yml +1 -18
- data/.rubocop.yml +1 -0
- data/.rubocop_todo.yml +7 -0
- data/Gemfile +13 -0
- data/README.adoc +6 -19
- data/Rakefile +6 -7
- data/expressir.gemspec +23 -32
- data/expressir_wrapped.txt +23068 -0
- data/lib/expressir/cli.rb +3 -2
- data/lib/expressir/express/formatter.rb +661 -661
- data/lib/expressir/express/parser.rb +299 -33
- data/lib/expressir/express/visitor.rb +238 -133
- data/lib/expressir/model/declarations/interface_item.rb +1 -1
- data/lib/expressir/version.rb +1 -1
- metadata +15 -573
- data/.cross_rubies +0 -28
- data/.gitmodules +0 -6
- data/.yardopts +0 -11
- data/exe/generate-parser +0 -51
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +0 -191
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +0 -652
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +0 -948
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2022.vcxproj +0 -652
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2022.vcxproj.filters +0 -948
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/Info.plist +0 -26
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/antlrcpp_ios.h +0 -17
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +0 -3040
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +0 -76
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +0 -76
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +0 -76
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.noarch.nuspec +0 -23
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.noarch.targets +0 -8
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.shared.nuspec +0 -30
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.shared.props +0 -21
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.shared.targets +0 -44
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.static.nuspec +0 -29
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.static.targets +0 -44
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/antlr4.jpg +0 -0
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/pack.cmd +0 -93
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +0 -10
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +0 -167
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +0 -10
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +0 -121
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +0 -23
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +0 -30
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +0 -180
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +0 -79
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +0 -61
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +0 -59
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +0 -25
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +0 -36
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +0 -414
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +0 -200
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +0 -11
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +0 -37
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +0 -193
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +0 -158
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +0 -39
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +0 -74
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +0 -78
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +0 -79
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +0 -15
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +0 -35
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +0 -336
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +0 -466
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +0 -84
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +0 -80
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +0 -64
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +0 -99
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +0 -52
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +0 -32
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/FlatHashMap.h +0 -57
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/FlatHashSet.h +0 -57
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +0 -18
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +0 -24
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +0 -12
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +0 -218
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +0 -19
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +0 -45
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +0 -294
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +0 -196
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +0 -60
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +0 -46
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +0 -36
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +0 -31
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +0 -92
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +0 -88
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +0 -46
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +0 -42
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +0 -670
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +0 -461
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +0 -294
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +0 -173
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +0 -138
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +0 -147
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +0 -53
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +0 -38
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +0 -65
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +0 -98
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +0 -157
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +0 -160
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +0 -144
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +0 -141
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +0 -27
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +0 -32
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +0 -54
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +0 -155
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +0 -9
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +0 -92
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +0 -30
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +0 -9
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +0 -85
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +0 -11
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +0 -137
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +0 -425
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +0 -295
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +0 -208
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +0 -117
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +0 -270
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +0 -115
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Version.h +0 -42
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +0 -64
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +0 -177
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +0 -9
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +0 -23
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +0 -101
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +0 -168
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +0 -159
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +0 -133
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +0 -106
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +0 -157
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +0 -233
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +0 -157
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +0 -39
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +0 -48
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +0 -628
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +0 -32
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +0 -33
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +0 -71
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +0 -56
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +0 -139
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.cpp +0 -33
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.h +0 -36
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +0 -20
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +0 -29
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +0 -35
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +0 -16
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +0 -68
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +0 -129
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +0 -51
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +0 -27
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +0 -33
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +0 -24
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +0 -23
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +0 -26
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +0 -30
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +0 -14
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +0 -47
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +0 -14
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +0 -70
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +0 -25
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +0 -227
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +0 -12
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +0 -34
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +0 -31
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +0 -42
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +0 -15
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +0 -43
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/HashUtils.h +0 -18
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +0 -189
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +0 -76
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +0 -67
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +0 -44
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +0 -621
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +0 -199
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +0 -15
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +0 -100
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +0 -108
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +0 -128
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +0 -57
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +0 -43
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +0 -59
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +0 -45
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +0 -75
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +0 -50
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +0 -76
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +0 -43
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +0 -57
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +0 -36
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +0 -53
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +0 -36
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +0 -53
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +0 -43
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +0 -57
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +0 -36
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +0 -51
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +0 -43
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +0 -51
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +0 -16
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +0 -42
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +0 -26
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +0 -22
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +0 -27
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +0 -16
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +0 -25
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +0 -102
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +0 -102
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +0 -1413
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +0 -911
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulatorOptions.h +0 -50
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +0 -29
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +0 -25
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +0 -23
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +0 -35
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +0 -17
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +0 -62
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +0 -24
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +0 -50
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +0 -601
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +0 -225
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.cpp +0 -56
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.h +0 -63
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.cpp +0 -167
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.h +0 -101
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCacheOptions.h +0 -71
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextType.h +0 -21
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +0 -202
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +0 -436
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +0 -179
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +0 -60
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +0 -26
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +0 -31
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +0 -26
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +0 -27
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +0 -33
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +0 -42
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +0 -418
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +0 -237
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContextType.h +0 -23
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SerializedATNView.h +0 -101
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +0 -28
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +0 -38
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +0 -79
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +0 -43
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +0 -24
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +0 -37
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +0 -19
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +0 -25
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +0 -24
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +0 -36
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +0 -65
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.cpp +0 -27
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.h +0 -33
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +0 -21
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +0 -27
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +0 -115
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +0 -96
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +0 -60
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +0 -32
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +0 -59
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +0 -154
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +0 -17
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +0 -22
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/internal/Synchronization.cpp +0 -100
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/internal/Synchronization.h +0 -154
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +0 -124
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +0 -33
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +0 -61
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +0 -84
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +0 -508
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +0 -190
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +0 -120
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +0 -102
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +0 -4
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +0 -21
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +0 -8
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +0 -16
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +0 -43
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +0 -149
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +0 -76
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +0 -207
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +0 -65
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Casts.h +0 -34
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +0 -161
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +0 -38
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +0 -16
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Unicode.h +0 -28
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.cpp +0 -242
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.h +0 -54
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +0 -129
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +0 -24
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +0 -54
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +0 -43
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +0 -66
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +0 -53
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +0 -12
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +0 -111
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +0 -9
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +0 -39
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +0 -50
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeType.h +0 -22
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +0 -9
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +0 -57
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +0 -48
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +0 -55
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +0 -40
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +0 -54
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +0 -32
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +0 -241
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +0 -78
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +0 -9
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +0 -44
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +0 -69
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +0 -132
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +0 -64
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +0 -105
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +0 -370
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +0 -185
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +0 -77
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +0 -117
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +0 -39
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +0 -86
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +0 -28
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +0 -51
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +0 -36
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +0 -80
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +0 -154
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +0 -86
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +0 -31
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +0 -40
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +0 -180
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.g4 +0 -64
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +0 -53
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.tokens +0 -12
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +0 -13
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +0 -22
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +0 -20
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +0 -27
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +0 -30
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +0 -26
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +0 -20
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +0 -25
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +0 -33
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +0 -26
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +0 -23
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +0 -23
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +0 -24
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +0 -23
- data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/tests/Utf8Test.cpp +0 -110
- data/ext/express_parser/antlrgen/Express.interp +0 -532
- data/ext/express_parser/antlrgen/Express.tokens +0 -190
- data/ext/express_parser/antlrgen/ExpressBaseListener.cpp +0 -7
- data/ext/express_parser/antlrgen/ExpressBaseListener.h +0 -623
- data/ext/express_parser/antlrgen/ExpressBaseVisitor.cpp +0 -7
- data/ext/express_parser/antlrgen/ExpressBaseVisitor.h +0 -816
- data/ext/express_parser/antlrgen/ExpressLexer.cpp +0 -685
- data/ext/express_parser/antlrgen/ExpressLexer.h +0 -78
- data/ext/express_parser/antlrgen/ExpressLexer.interp +0 -534
- data/ext/express_parser/antlrgen/ExpressLexer.tokens +0 -190
- data/ext/express_parser/antlrgen/ExpressListener.cpp +0 -7
- data/ext/express_parser/antlrgen/ExpressListener.h +0 -616
- data/ext/express_parser/antlrgen/ExpressParser.cpp +0 -17591
- data/ext/express_parser/antlrgen/ExpressParser.h +0 -3692
- data/ext/express_parser/antlrgen/ExpressVisitor.cpp +0 -7
- data/ext/express_parser/antlrgen/ExpressVisitor.h +0 -422
- data/ext/express_parser/express_parser.cpp +0 -19405
- data/ext/express_parser/extconf.rb +0 -63
- data/rakelib/antlr4-native.rake +0 -173
- data/rakelib/cross-ruby.rake +0 -403
- data/spec/acceptance/version_spec.rb +0 -30
- data/spec/expressir/express/cache_spec.rb +0 -89
- data/spec/expressir/express/formatter_spec.rb +0 -171
- data/spec/expressir/express/parser_spec.rb +0 -141
- data/spec/expressir/model/model_element_spec.rb +0 -343
- data/spec/spec_helper.rb +0 -24
- data/spec/support/console_helper.rb +0 -29
- data/spec/syntax/multiple.exp +0 -23
- data/spec/syntax/multiple.yaml +0 -198
- data/spec/syntax/multiple_formatted.exp +0 -71
- data/spec/syntax/multiple_hyperlink_formatted.exp +0 -71
- data/spec/syntax/multiple_schema_head_hyperlink_formatted.exp +0 -13
- data/spec/syntax/remark.exp +0 -193
- data/spec/syntax/remark.yaml +0 -471
- data/spec/syntax/remark_formatted.exp +0 -228
- data/spec/syntax/single.exp +0 -4
- data/spec/syntax/single.yaml +0 -18
- data/spec/syntax/single_formatted.exp +0 -10
- data/spec/syntax/single_formatted.yaml +0 -36
- data/spec/syntax/syntax.exp +0 -333
- data/spec/syntax/syntax.yaml +0 -3509
- data/spec/syntax/syntax_formatted.exp +0 -902
- data/spec/syntax/syntax_hyperlink_formatted.exp +0 -902
- data/spec/syntax/syntax_schema_head_formatted.exp +0 -18
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
begin
|
|
2
|
-
RUBY_VERSION =~ /(\d+\.\d+)/
|
|
3
|
-
require_relative "#{$1}/express_parser"
|
|
4
|
-
rescue LoadError
|
|
5
|
-
require_relative "express_parser"
|
|
6
|
-
end
|
|
7
1
|
require "expressir/model"
|
|
8
2
|
require "set"
|
|
9
3
|
|
|
@@ -35,33 +29,155 @@ require 'objspace'
|
|
|
35
29
|
|
|
36
30
|
module Expressir
|
|
37
31
|
module Express
|
|
38
|
-
class Visitor
|
|
32
|
+
class Visitor
|
|
33
|
+
class Ctx
|
|
34
|
+
attr_reader :name
|
|
35
|
+
attr_reader :data
|
|
36
|
+
attr_accessor :source_pos
|
|
37
|
+
def initialize(data,name)
|
|
38
|
+
@data = data
|
|
39
|
+
@name = name
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def text
|
|
43
|
+
str.data.to_s
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def method_missing(name,*args)
|
|
47
|
+
rulename = name.to_s.sub(/^visit_/,"").gsub(/_([a-z])/) { |m| m[1].upcase }.to_sym
|
|
48
|
+
self.class.define_method(name) { @data[rulename] }
|
|
49
|
+
self.send name, *args
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def keys
|
|
53
|
+
@data.keys
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def values
|
|
57
|
+
@data.values
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def each(&block)
|
|
61
|
+
@data.values.each(&block)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
class SimpleCtx
|
|
66
|
+
attr_reader :name
|
|
67
|
+
attr_reader :data
|
|
68
|
+
def initialize(data,name)
|
|
69
|
+
@data = data
|
|
70
|
+
@name = name
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def text
|
|
74
|
+
@data.to_s
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
39
78
|
REMARK_CHANNEL = 2
|
|
40
79
|
|
|
41
80
|
private_constant :REMARK_CHANNEL
|
|
42
81
|
|
|
43
82
|
# @param [::ExpressParser::TokenVector] Rice-wrapped std::vector<TokenProxy>
|
|
44
83
|
# @param [Boolean] include_source attach original source code to model elements
|
|
45
|
-
def initialize(
|
|
46
|
-
@
|
|
84
|
+
def initialize(source, include_source: nil)
|
|
85
|
+
@source = source
|
|
47
86
|
@include_source = include_source
|
|
48
87
|
|
|
49
|
-
@attached_remark_tokens =
|
|
88
|
+
@attached_remark_tokens = Set.new
|
|
89
|
+
|
|
90
|
+
@visit_methods = Hash[
|
|
91
|
+
private_methods.grep(/^visit_/).map { |name|
|
|
92
|
+
rulename = name.to_s.sub(/^visit_/,"").gsub(/_([a-z])/) { $1.upcase }
|
|
93
|
+
[rulename.to_sym,name.to_sym]
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def to_ctx(ast,name=:unnamed)
|
|
99
|
+
case ast
|
|
100
|
+
when Hash
|
|
101
|
+
nodes = Hash[
|
|
102
|
+
ast.map { |k,v|
|
|
103
|
+
if k.match(/^listOf_(.*)$/)
|
|
104
|
+
itemkey = $1.to_sym
|
|
105
|
+
ary = (Array === v) ? v : [v]
|
|
106
|
+
[ itemkey, to_ctx(ary.select { |v| v[itemkey] }.map { |v| v.slice(itemkey) }) ]
|
|
107
|
+
else
|
|
108
|
+
[ k, to_ctx(v,k) ]
|
|
109
|
+
end
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
Ctx.new nodes,name
|
|
113
|
+
when Array
|
|
114
|
+
ast.map { |v|
|
|
115
|
+
v.length == 1 or raise "element of array invalid (#{v.keys})"
|
|
116
|
+
to_ctx(v.values[0],v.keys[0])
|
|
117
|
+
}
|
|
118
|
+
when nil
|
|
119
|
+
nil
|
|
120
|
+
else
|
|
121
|
+
SimpleCtx.new ast,name
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def get_source_pos(ctx)
|
|
126
|
+
ranges = nil
|
|
127
|
+
ranges = case ctx
|
|
128
|
+
when Ctx
|
|
129
|
+
ctx.source_pos and return ctx.source_pos # cache
|
|
130
|
+
ctx.values.map { |item| get_source_pos(item) }
|
|
131
|
+
when SimpleCtx
|
|
132
|
+
return nil unless ctx.data.respond_to? :offset
|
|
133
|
+
[ [ctx.data.offset, ctx.data.offset + ctx.data.length] ]
|
|
134
|
+
when Array
|
|
135
|
+
ctx.map { |item| get_source_pos(item) }
|
|
136
|
+
else
|
|
137
|
+
raise "unknown type in Ctx tree: #{ctx}"
|
|
138
|
+
end
|
|
139
|
+
source_pos = ranges.compact.reduce { |item,acc|
|
|
140
|
+
[ [item[0],acc[0]].min, [item[1],acc[1]].max ]
|
|
141
|
+
}
|
|
142
|
+
Ctx === ctx and ctx.source_pos = source_pos
|
|
143
|
+
source_pos
|
|
144
|
+
end
|
|
50
145
|
|
|
51
|
-
|
|
146
|
+
def get_source(ctx)
|
|
147
|
+
a,b = get_source_pos ctx
|
|
148
|
+
@source[a..b-1].strip
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
def visit_ast(ast,name)
|
|
152
|
+
ctx = to_ctx(ast,name)
|
|
153
|
+
|
|
154
|
+
visit ctx
|
|
52
155
|
end
|
|
53
156
|
|
|
54
157
|
def visit(ctx)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
158
|
+
if Array === ctx
|
|
159
|
+
return ctx.map { |el| visit el }
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
node = ctx
|
|
163
|
+
if @visit_methods[ctx.name]
|
|
164
|
+
node = send(@visit_methods[ctx.name],ctx)
|
|
165
|
+
if @include_source && node.respond_to?(:source)
|
|
166
|
+
node.source = get_source ctx
|
|
167
|
+
end
|
|
58
168
|
end
|
|
169
|
+
|
|
59
170
|
attach_remarks(ctx, node)
|
|
60
171
|
node
|
|
61
172
|
end
|
|
62
173
|
|
|
174
|
+
############################################3
|
|
63
175
|
private
|
|
64
176
|
|
|
177
|
+
def visit_top(ctx)
|
|
178
|
+
visit ctx.syntax
|
|
179
|
+
end
|
|
180
|
+
|
|
65
181
|
def visit_if(ctx, default = nil)
|
|
66
182
|
if ctx
|
|
67
183
|
visit(ctx)
|
|
@@ -86,35 +202,6 @@ module Expressir
|
|
|
86
202
|
end
|
|
87
203
|
end
|
|
88
204
|
|
|
89
|
-
def get_tokens_source(tokens)
|
|
90
|
-
if tokens.last.text == '<EOF>'
|
|
91
|
-
tokens.pop
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
tokens.map{|x| x.text}.join('').force_encoding('UTF-8')
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def get_tokens(ctx)
|
|
98
|
-
start_index, stop_index = if ctx.is_a? ::ExpressParser::SyntaxContext
|
|
99
|
-
[0, @tokens.size - 1]
|
|
100
|
-
else
|
|
101
|
-
[ctx.start.token_index, ctx.stop.token_index]
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
selected_tokens = []
|
|
105
|
-
(start_index..stop_index).each do |i|
|
|
106
|
-
selected_tokens << @tokens[i]
|
|
107
|
-
end
|
|
108
|
-
selected_tokens
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
def attach_source(ctx, node)
|
|
112
|
-
if node.class.method_defined? :source
|
|
113
|
-
tokens = get_tokens(ctx)
|
|
114
|
-
node.source = get_tokens_source(tokens)
|
|
115
|
-
end
|
|
116
|
-
end
|
|
117
|
-
|
|
118
205
|
def node_find(node, path)
|
|
119
206
|
if node.is_a?(Enumerable)
|
|
120
207
|
target_node = node.find { |item| item.find(path) }
|
|
@@ -153,19 +240,36 @@ module Expressir
|
|
|
153
240
|
end
|
|
154
241
|
end
|
|
155
242
|
|
|
243
|
+
def get_remarks(ctx,indent="")
|
|
244
|
+
case ctx
|
|
245
|
+
when Ctx
|
|
246
|
+
ctx.values.map { |item| get_remarks(item,indent+" ") }.inject([],:+)
|
|
247
|
+
when Array
|
|
248
|
+
x = ctx.map { |item| get_remarks(item,indent+" ") }.inject([],:+)
|
|
249
|
+
x
|
|
250
|
+
else
|
|
251
|
+
if [:tailRemark, :embeddedRemark].include?(ctx.name)
|
|
252
|
+
[ get_source_pos(ctx) ]
|
|
253
|
+
else
|
|
254
|
+
[]
|
|
255
|
+
end
|
|
256
|
+
end
|
|
257
|
+
end
|
|
258
|
+
|
|
156
259
|
def attach_remarks(ctx, node)
|
|
157
|
-
|
|
158
|
-
remark_tokens =
|
|
260
|
+
|
|
261
|
+
remark_tokens = get_remarks ctx
|
|
159
262
|
|
|
160
263
|
# skip already attached remarks
|
|
161
|
-
remark_tokens = remark_tokens.select{|x| !@attached_remark_tokens.include?(x
|
|
264
|
+
remark_tokens = remark_tokens.select{|x| !@attached_remark_tokens.include?(x)}
|
|
162
265
|
|
|
163
266
|
# parse remarks, find remark targets
|
|
164
|
-
tagged_remark_tokens = remark_tokens.map do |
|
|
165
|
-
|
|
166
|
-
|
|
267
|
+
tagged_remark_tokens = remark_tokens.map do |span|
|
|
268
|
+
text = @source[span[0]..span[1]-1]
|
|
269
|
+
_, remark_tag, remark_text = if text.start_with?('--')
|
|
270
|
+
text.match(/^--"([^"]*)"(.*)$/).to_a
|
|
167
271
|
else
|
|
168
|
-
|
|
272
|
+
text.match(/^\(\*"([^"]*)"(.*)\*\)$/m).to_a
|
|
169
273
|
end
|
|
170
274
|
|
|
171
275
|
if remark_tag
|
|
@@ -175,16 +279,16 @@ module Expressir
|
|
|
175
279
|
remark_text = remark_text.strip.force_encoding('UTF-8')
|
|
176
280
|
end
|
|
177
281
|
|
|
178
|
-
[
|
|
282
|
+
[span, remark_target, remark_text]
|
|
179
283
|
end.select{|x| x[1]}
|
|
180
284
|
|
|
181
|
-
tagged_remark_tokens.each do |
|
|
285
|
+
tagged_remark_tokens.each do |span, remark_target, remark_text|
|
|
182
286
|
# attach remark
|
|
183
287
|
remark_target.remarks ||= []
|
|
184
288
|
remark_target.remarks << remark_text
|
|
185
289
|
|
|
186
290
|
# mark remark as attached, so that it is not attached again at higher nesting level
|
|
187
|
-
@attached_remark_tokens <<
|
|
291
|
+
@attached_remark_tokens << span
|
|
188
292
|
end
|
|
189
293
|
end
|
|
190
294
|
|
|
@@ -349,11 +453,11 @@ module Expressir
|
|
|
349
453
|
end
|
|
350
454
|
|
|
351
455
|
def visit_add_like_op(ctx)
|
|
352
|
-
ctx__text = ctx.text
|
|
456
|
+
ctx__text = ctx.values[0].text
|
|
353
457
|
ctx__ADDITION = ctx__text == '+'
|
|
354
458
|
ctx__SUBTRACTION = ctx__text == '-'
|
|
355
|
-
ctx__OR = ctx.
|
|
356
|
-
ctx__XOR = ctx.
|
|
459
|
+
ctx__OR = ctx.tOR
|
|
460
|
+
ctx__XOR = ctx.tXOR
|
|
357
461
|
|
|
358
462
|
if ctx__ADDITION
|
|
359
463
|
Model::Expressions::BinaryExpression::ADDITION
|
|
@@ -429,8 +533,8 @@ module Expressir
|
|
|
429
533
|
|
|
430
534
|
def visit_array_type(ctx)
|
|
431
535
|
ctx__bound_spec = ctx.bound_spec
|
|
432
|
-
ctx__OPTIONAL = ctx.
|
|
433
|
-
ctx__UNIQUE = ctx.
|
|
536
|
+
ctx__OPTIONAL = ctx.tOPTIONAL
|
|
537
|
+
ctx__UNIQUE = ctx.tUNIQUE
|
|
434
538
|
ctx__instantiable_type = ctx.instantiable_type
|
|
435
539
|
ctx__bound_spec__bound1 = ctx__bound_spec&.bound1
|
|
436
540
|
ctx__bound_spec__bound2 = ctx__bound_spec&.bound2
|
|
@@ -480,7 +584,7 @@ module Expressir
|
|
|
480
584
|
end
|
|
481
585
|
|
|
482
586
|
def visit_attribute_id(ctx)
|
|
483
|
-
ctx__SimpleId = ctx.
|
|
587
|
+
ctx__SimpleId = ctx.simpleId
|
|
484
588
|
|
|
485
589
|
handle_simple_id(ctx__SimpleId)
|
|
486
590
|
end
|
|
@@ -519,7 +623,7 @@ module Expressir
|
|
|
519
623
|
def visit_binary_type(ctx)
|
|
520
624
|
ctx__width_spec = ctx.width_spec
|
|
521
625
|
ctx__width_spec__width = ctx__width_spec&.width
|
|
522
|
-
ctx__width_spec__FIXED = ctx__width_spec&.
|
|
626
|
+
ctx__width_spec__FIXED = ctx__width_spec&.tFIXED
|
|
523
627
|
|
|
524
628
|
width = visit_if(ctx__width_spec__width)
|
|
525
629
|
fixed = ctx__width_spec__FIXED && true
|
|
@@ -551,7 +655,7 @@ module Expressir
|
|
|
551
655
|
end
|
|
552
656
|
|
|
553
657
|
def visit_built_in_constant(ctx)
|
|
554
|
-
ctx__text = ctx.text
|
|
658
|
+
ctx__text = ctx.values[0].text
|
|
555
659
|
|
|
556
660
|
id = ctx__text
|
|
557
661
|
|
|
@@ -561,7 +665,7 @@ module Expressir
|
|
|
561
665
|
end
|
|
562
666
|
|
|
563
667
|
def visit_built_in_function(ctx)
|
|
564
|
-
ctx__text = ctx.text
|
|
668
|
+
ctx__text = ctx.values[0].text
|
|
565
669
|
|
|
566
670
|
id = ctx__text
|
|
567
671
|
|
|
@@ -571,7 +675,7 @@ module Expressir
|
|
|
571
675
|
end
|
|
572
676
|
|
|
573
677
|
def visit_built_in_procedure(ctx)
|
|
574
|
-
ctx__text = ctx.text
|
|
678
|
+
ctx__text = ctx.values[0].text
|
|
575
679
|
|
|
576
680
|
id = ctx__text
|
|
577
681
|
|
|
@@ -664,7 +768,7 @@ module Expressir
|
|
|
664
768
|
end
|
|
665
769
|
|
|
666
770
|
def visit_constant_id(ctx)
|
|
667
|
-
ctx__SimpleId = ctx.
|
|
771
|
+
ctx__SimpleId = ctx.simpleId
|
|
668
772
|
|
|
669
773
|
handle_simple_id(ctx__SimpleId)
|
|
670
774
|
end
|
|
@@ -765,7 +869,7 @@ module Expressir
|
|
|
765
869
|
ctx__entity_head = ctx.entity_head
|
|
766
870
|
ctx__entity_body = ctx.entity_body
|
|
767
871
|
ctx__entity_head__entity_id = ctx__entity_head&.entity_id
|
|
768
|
-
ctx__entity_head__subsuper = ctx__entity_head&.subsuper
|
|
872
|
+
ctx__entity_head__subsuper = visit_if ctx__entity_head&.subsuper
|
|
769
873
|
ctx__entity_head__subsuper__supertype_constraint = ctx__entity_head__subsuper&.supertype_constraint
|
|
770
874
|
ctx__entity_head__subsuper__supertype_constraint__abstract_entity_declaration = ctx__entity_head__subsuper__supertype_constraint&.abstract_entity_declaration
|
|
771
875
|
ctx__entity_head__subsuper__supertype_constraint__abstract_supertype_declaration = ctx__entity_head__subsuper__supertype_constraint&.abstract_supertype_declaration
|
|
@@ -805,7 +909,7 @@ module Expressir
|
|
|
805
909
|
end
|
|
806
910
|
|
|
807
911
|
def visit_entity_id(ctx)
|
|
808
|
-
ctx__SimpleId = ctx.
|
|
912
|
+
ctx__SimpleId = ctx.simpleId
|
|
809
913
|
|
|
810
914
|
handle_simple_id(ctx__SimpleId)
|
|
811
915
|
end
|
|
@@ -815,7 +919,7 @@ module Expressir
|
|
|
815
919
|
end
|
|
816
920
|
|
|
817
921
|
def visit_enumeration_id(ctx)
|
|
818
|
-
ctx__SimpleId = ctx.
|
|
922
|
+
ctx__SimpleId = ctx.simpleId
|
|
819
923
|
|
|
820
924
|
handle_simple_id(ctx__SimpleId)
|
|
821
925
|
end
|
|
@@ -854,7 +958,7 @@ module Expressir
|
|
|
854
958
|
end
|
|
855
959
|
|
|
856
960
|
def visit_enumeration_type(ctx)
|
|
857
|
-
ctx__EXTENSIBLE = ctx.
|
|
961
|
+
ctx__EXTENSIBLE = ctx.tEXTENSIBLE
|
|
858
962
|
ctx__enumeration_items = ctx.enumeration_items
|
|
859
963
|
ctx__enumeration_extension = ctx.enumeration_extension
|
|
860
964
|
ctx__enumeration_extension__type_ref = ctx__enumeration_extension&.type_ref
|
|
@@ -877,7 +981,7 @@ module Expressir
|
|
|
877
981
|
|
|
878
982
|
def visit_explicit_attr(ctx)
|
|
879
983
|
ctx__attribute_decl = ctx.attribute_decl
|
|
880
|
-
ctx__OPTIONAL = ctx.
|
|
984
|
+
ctx__OPTIONAL = ctx.tOPTIONAL
|
|
881
985
|
ctx__parameter_type = ctx.parameter_type
|
|
882
986
|
|
|
883
987
|
attributes = visit_if_map(ctx__attribute_decl)
|
|
@@ -898,11 +1002,12 @@ module Expressir
|
|
|
898
1002
|
def visit_expression(ctx)
|
|
899
1003
|
ctx__simple_expression = ctx.simple_expression
|
|
900
1004
|
ctx__rel_op_extended = ctx.rel_op_extended
|
|
1005
|
+
ctx__rhs = ctx.rhs
|
|
901
1006
|
|
|
902
|
-
if
|
|
1007
|
+
if ctx__rhs
|
|
903
1008
|
operator = visit_if(ctx__rel_op_extended)
|
|
904
|
-
operand1 = visit_if(ctx__simple_expression
|
|
905
|
-
operand2 = visit_if(
|
|
1009
|
+
operand1 = visit_if(ctx__simple_expression)
|
|
1010
|
+
operand2 = visit_if(ctx__rhs.values[0])
|
|
906
1011
|
|
|
907
1012
|
Model::Expressions::BinaryExpression.new(
|
|
908
1013
|
operator: operator,
|
|
@@ -910,27 +1015,26 @@ module Expressir
|
|
|
910
1015
|
operand2: operand2
|
|
911
1016
|
)
|
|
912
1017
|
else
|
|
913
|
-
visit_if(ctx__simple_expression
|
|
1018
|
+
visit_if(ctx__simple_expression)
|
|
914
1019
|
end
|
|
915
1020
|
end
|
|
916
1021
|
|
|
917
1022
|
def visit_factor(ctx)
|
|
918
1023
|
ctx__simple_factor = ctx.simple_factor
|
|
1024
|
+
ctx__rhs = ctx.rhs
|
|
919
1025
|
|
|
920
|
-
if
|
|
1026
|
+
if ctx__rhs
|
|
921
1027
|
operator = Model::Expressions::BinaryExpression::EXPONENTIATION
|
|
922
|
-
operand1 = visit(ctx__simple_factor
|
|
923
|
-
operand2 = visit(
|
|
1028
|
+
operand1 = visit(ctx__simple_factor)
|
|
1029
|
+
operand2 = visit(ctx__rhs.simple_factor)
|
|
924
1030
|
|
|
925
1031
|
Model::Expressions::BinaryExpression.new(
|
|
926
1032
|
operator: operator,
|
|
927
1033
|
operand1: operand1,
|
|
928
1034
|
operand2: operand2
|
|
929
1035
|
)
|
|
930
|
-
elsif ctx__simple_factor.length == 1
|
|
931
|
-
visit_if(ctx__simple_factor[0])
|
|
932
1036
|
else
|
|
933
|
-
|
|
1037
|
+
visit_if(ctx__simple_factor)
|
|
934
1038
|
end
|
|
935
1039
|
end
|
|
936
1040
|
|
|
@@ -1007,7 +1111,7 @@ module Expressir
|
|
|
1007
1111
|
end
|
|
1008
1112
|
|
|
1009
1113
|
def visit_function_id(ctx)
|
|
1010
|
-
ctx__SimpleId = ctx.
|
|
1114
|
+
ctx__SimpleId = ctx.simpleId
|
|
1011
1115
|
|
|
1012
1116
|
handle_simple_id(ctx__SimpleId)
|
|
1013
1117
|
end
|
|
@@ -1032,8 +1136,8 @@ module Expressir
|
|
|
1032
1136
|
|
|
1033
1137
|
def visit_general_array_type(ctx)
|
|
1034
1138
|
ctx__bound_spec = ctx.bound_spec
|
|
1035
|
-
ctx__OPTIONAL = ctx.
|
|
1036
|
-
ctx__UNIQUE = ctx.
|
|
1139
|
+
ctx__OPTIONAL = ctx.tOPTIONAL
|
|
1140
|
+
ctx__UNIQUE = ctx.tUNIQUE
|
|
1037
1141
|
ctx__parameter_type = ctx.parameter_type
|
|
1038
1142
|
ctx__bound_spec__bound1 = ctx__bound_spec&.bound1
|
|
1039
1143
|
ctx__bound_spec__bound2 = ctx__bound_spec&.bound2
|
|
@@ -1072,7 +1176,7 @@ module Expressir
|
|
|
1072
1176
|
|
|
1073
1177
|
def visit_general_list_type(ctx)
|
|
1074
1178
|
ctx__bound_spec = ctx.bound_spec
|
|
1075
|
-
ctx__UNIQUE = ctx.
|
|
1179
|
+
ctx__UNIQUE = ctx.tUNIQUE
|
|
1076
1180
|
ctx__parameter_type = ctx.parameter_type
|
|
1077
1181
|
ctx__bound_spec__bound1 = ctx__bound_spec&.bound1
|
|
1078
1182
|
ctx__bound_spec__bound2 = ctx__bound_spec&.bound2
|
|
@@ -1242,13 +1346,14 @@ module Expressir
|
|
|
1242
1346
|
def visit_interval(ctx)
|
|
1243
1347
|
ctx__interval_low = ctx.interval_low
|
|
1244
1348
|
ctx__interval_op = ctx.interval_op
|
|
1349
|
+
ctx__interval_op2 = ctx.interval_op2.interval_op
|
|
1245
1350
|
ctx__interval_item = ctx.interval_item
|
|
1246
1351
|
ctx__interval_high = ctx.interval_high
|
|
1247
1352
|
|
|
1248
1353
|
low = visit_if(ctx__interval_low)
|
|
1249
|
-
operator1 = visit_if(ctx__interval_op
|
|
1354
|
+
operator1 = visit_if(ctx__interval_op)
|
|
1250
1355
|
item = visit_if(ctx__interval_item)
|
|
1251
|
-
operator2 = visit_if(
|
|
1356
|
+
operator2 = visit_if(ctx__interval_op2)
|
|
1252
1357
|
high = visit_if(ctx__interval_high)
|
|
1253
1358
|
|
|
1254
1359
|
Model::Expressions::Interval.new(
|
|
@@ -1279,7 +1384,7 @@ module Expressir
|
|
|
1279
1384
|
end
|
|
1280
1385
|
|
|
1281
1386
|
def visit_interval_op(ctx)
|
|
1282
|
-
ctx__text = ctx.text
|
|
1387
|
+
ctx__text = ctx.values[0].text
|
|
1283
1388
|
ctx__LESS_THAN = ctx__text == '<'
|
|
1284
1389
|
ctx__LESS_THAN_OR_EQUAL = ctx__text == '<='
|
|
1285
1390
|
|
|
@@ -1322,8 +1427,8 @@ module Expressir
|
|
|
1322
1427
|
end
|
|
1323
1428
|
|
|
1324
1429
|
def visit_inverse_attr_type(ctx)
|
|
1325
|
-
ctx__SET = ctx.
|
|
1326
|
-
ctx__BAG = ctx.
|
|
1430
|
+
ctx__SET = ctx.tSET
|
|
1431
|
+
ctx__BAG = ctx.tBAG
|
|
1327
1432
|
ctx__bound_spec = ctx.bound_spec
|
|
1328
1433
|
ctx__entity_ref = ctx.entity_ref
|
|
1329
1434
|
ctx__bound_spec__bound1 = ctx__bound_spec&.bound1
|
|
@@ -1362,7 +1467,7 @@ module Expressir
|
|
|
1362
1467
|
|
|
1363
1468
|
def visit_list_type(ctx)
|
|
1364
1469
|
ctx__bound_spec = ctx.bound_spec
|
|
1365
|
-
ctx__UNIQUE = ctx.
|
|
1470
|
+
ctx__UNIQUE = ctx.tUNIQUE
|
|
1366
1471
|
ctx__instantiable_type = ctx.instantiable_type
|
|
1367
1472
|
ctx__bound_spec__bound1 = ctx__bound_spec&.bound1
|
|
1368
1473
|
ctx__bound_spec__bound2 = ctx__bound_spec&.bound2
|
|
@@ -1381,10 +1486,10 @@ module Expressir
|
|
|
1381
1486
|
end
|
|
1382
1487
|
|
|
1383
1488
|
def visit_literal(ctx)
|
|
1384
|
-
ctx__BinaryLiteral = ctx.
|
|
1385
|
-
ctx__IntegerLiteral = ctx.
|
|
1489
|
+
ctx__BinaryLiteral = ctx.binary_literal
|
|
1490
|
+
ctx__IntegerLiteral = ctx.integerLiteral
|
|
1386
1491
|
ctx__logical_literal = ctx.logical_literal
|
|
1387
|
-
ctx__RealLiteral = ctx.
|
|
1492
|
+
ctx__RealLiteral = ctx.real_literal
|
|
1388
1493
|
ctx__string_literal = ctx.string_literal
|
|
1389
1494
|
|
|
1390
1495
|
if ctx__BinaryLiteral
|
|
@@ -1433,9 +1538,9 @@ module Expressir
|
|
|
1433
1538
|
end
|
|
1434
1539
|
|
|
1435
1540
|
def visit_logical_literal(ctx)
|
|
1436
|
-
ctx__TRUE = ctx.
|
|
1437
|
-
ctx__FALSE = ctx.
|
|
1438
|
-
ctx__UNKNOWN = ctx.
|
|
1541
|
+
ctx__TRUE = ctx.tTRUE
|
|
1542
|
+
ctx__FALSE = ctx.tFALSE
|
|
1543
|
+
ctx__UNKNOWN = ctx.tUNKNOWN
|
|
1439
1544
|
|
|
1440
1545
|
value = if ctx__TRUE
|
|
1441
1546
|
Model::Literals::Logical::TRUE
|
|
@@ -1457,12 +1562,12 @@ module Expressir
|
|
|
1457
1562
|
end
|
|
1458
1563
|
|
|
1459
1564
|
def visit_multiplication_like_op(ctx)
|
|
1460
|
-
ctx__text = ctx.text
|
|
1565
|
+
ctx__text = ctx.values[0].text
|
|
1461
1566
|
ctx__MULTIPLICATION = ctx__text == '*'
|
|
1462
1567
|
ctx__REAL_DIVISION = ctx__text == '/'
|
|
1463
|
-
ctx__INTEGER_DIVISION = ctx.
|
|
1464
|
-
ctx__MODULO = ctx.
|
|
1465
|
-
ctx__AND = ctx.
|
|
1568
|
+
ctx__INTEGER_DIVISION = ctx.tDIV
|
|
1569
|
+
ctx__MODULO = ctx.tMOD
|
|
1570
|
+
ctx__AND = ctx.tAND
|
|
1466
1571
|
ctx__COMBINE = ctx__text == '||'
|
|
1467
1572
|
|
|
1468
1573
|
if ctx__MULTIPLICATION
|
|
@@ -1534,7 +1639,7 @@ module Expressir
|
|
|
1534
1639
|
end
|
|
1535
1640
|
|
|
1536
1641
|
def visit_parameter_id(ctx)
|
|
1537
|
-
ctx__SimpleId = ctx.
|
|
1642
|
+
ctx__SimpleId = ctx.simpleId
|
|
1538
1643
|
|
|
1539
1644
|
handle_simple_id(ctx__SimpleId)
|
|
1540
1645
|
end
|
|
@@ -1629,11 +1734,11 @@ module Expressir
|
|
|
1629
1734
|
|
|
1630
1735
|
def visit_procedure_head_parameter(ctx)
|
|
1631
1736
|
ctx__formal_parameter = ctx.formal_parameter
|
|
1632
|
-
ctx__VAR = ctx.
|
|
1737
|
+
ctx__VAR = ctx.tVAR
|
|
1633
1738
|
|
|
1634
1739
|
parameters = visit(ctx__formal_parameter)
|
|
1635
1740
|
|
|
1636
|
-
if ctx.
|
|
1741
|
+
if ctx.tVAR
|
|
1637
1742
|
parameters.map do |parameter|
|
|
1638
1743
|
Model::Declarations::Parameter.new(
|
|
1639
1744
|
id: parameter.id,
|
|
@@ -1647,7 +1752,7 @@ module Expressir
|
|
|
1647
1752
|
end
|
|
1648
1753
|
|
|
1649
1754
|
def visit_procedure_id(ctx)
|
|
1650
|
-
ctx__SimpleId = ctx.
|
|
1755
|
+
ctx__SimpleId = ctx.simpleId
|
|
1651
1756
|
|
|
1652
1757
|
handle_simple_id(ctx__SimpleId)
|
|
1653
1758
|
end
|
|
@@ -1741,7 +1846,7 @@ module Expressir
|
|
|
1741
1846
|
end
|
|
1742
1847
|
|
|
1743
1848
|
def visit_rel_op(ctx)
|
|
1744
|
-
ctx__text = ctx.text
|
|
1849
|
+
ctx__text = ctx.values[0].text
|
|
1745
1850
|
ctx__LESS_THAN = ctx__text == '<'
|
|
1746
1851
|
ctx__GREATER_THAN = ctx__text == '>'
|
|
1747
1852
|
ctx__LESS_THAN_OR_EQUAL = ctx__text == '<='
|
|
@@ -1774,8 +1879,8 @@ module Expressir
|
|
|
1774
1879
|
|
|
1775
1880
|
def visit_rel_op_extended(ctx)
|
|
1776
1881
|
ctx__rel_op = ctx.rel_op
|
|
1777
|
-
ctx__IN = ctx.
|
|
1778
|
-
ctx__LIKE = ctx.
|
|
1882
|
+
ctx__IN = ctx.tIN
|
|
1883
|
+
ctx__LIKE = ctx.tLIKE
|
|
1779
1884
|
|
|
1780
1885
|
if ctx__rel_op
|
|
1781
1886
|
visit(ctx__rel_op)
|
|
@@ -1799,11 +1904,11 @@ module Expressir
|
|
|
1799
1904
|
end
|
|
1800
1905
|
|
|
1801
1906
|
def visit_repeat_control(ctx)
|
|
1802
|
-
|
|
1907
|
+
(SimpleCtx === ctx) ? to_ctx({},:repeatControl) : ctx
|
|
1803
1908
|
end
|
|
1804
1909
|
|
|
1805
1910
|
def visit_repeat_stmt(ctx)
|
|
1806
|
-
ctx__repeat_control = ctx.repeat_control
|
|
1911
|
+
ctx__repeat_control = visit ctx.repeat_control
|
|
1807
1912
|
ctx__stmt = ctx.stmt
|
|
1808
1913
|
ctx__repeat_control__increment_control = ctx__repeat_control&.increment_control
|
|
1809
1914
|
ctx__repeat_control__increment_control__variable_id = ctx__repeat_control__increment_control&.variable_id
|
|
@@ -1915,13 +2020,13 @@ module Expressir
|
|
|
1915
2020
|
end
|
|
1916
2021
|
|
|
1917
2022
|
def visit_rule_id(ctx)
|
|
1918
|
-
ctx__SimpleId = ctx.
|
|
2023
|
+
ctx__SimpleId = ctx.simpleId
|
|
1919
2024
|
|
|
1920
2025
|
handle_simple_id(ctx__SimpleId)
|
|
1921
2026
|
end
|
|
1922
2027
|
|
|
1923
2028
|
def visit_rule_label_id(ctx)
|
|
1924
|
-
ctx__SimpleId = ctx.
|
|
2029
|
+
ctx__SimpleId = ctx.simpleId
|
|
1925
2030
|
|
|
1926
2031
|
handle_simple_id(ctx__SimpleId)
|
|
1927
2032
|
end
|
|
@@ -1972,7 +2077,7 @@ module Expressir
|
|
|
1972
2077
|
end
|
|
1973
2078
|
|
|
1974
2079
|
def visit_schema_id(ctx)
|
|
1975
|
-
ctx__SimpleId = ctx.
|
|
2080
|
+
ctx__SimpleId = ctx.simpleId
|
|
1976
2081
|
|
|
1977
2082
|
handle_simple_id(ctx__SimpleId)
|
|
1978
2083
|
end
|
|
@@ -2026,8 +2131,8 @@ module Expressir
|
|
|
2026
2131
|
end
|
|
2027
2132
|
|
|
2028
2133
|
def visit_select_type(ctx)
|
|
2029
|
-
ctx__EXTENSIBLE = ctx.
|
|
2030
|
-
ctx__GENERIC_ENTITY = ctx.
|
|
2134
|
+
ctx__EXTENSIBLE = ctx.tEXTENSIBLE
|
|
2135
|
+
ctx__GENERIC_ENTITY = ctx.tGENERIC_ENTITY
|
|
2031
2136
|
ctx__select_list = ctx.select_list
|
|
2032
2137
|
ctx__select_extension = ctx.select_extension
|
|
2033
2138
|
ctx__select_extension__type_ref = ctx.select_extension&.type_ref
|
|
@@ -2064,8 +2169,8 @@ module Expressir
|
|
|
2064
2169
|
end
|
|
2065
2170
|
|
|
2066
2171
|
def visit_simple_expression(ctx)
|
|
2067
|
-
ctx__term = ctx.term
|
|
2068
|
-
ctx__add_like_op = ctx.
|
|
2172
|
+
ctx__term = [ctx.term] + ctx.rhs.map { |item| item.term }
|
|
2173
|
+
ctx__add_like_op = ctx.rhs.map { |item| item.operator.values[0] }
|
|
2069
2174
|
|
|
2070
2175
|
if ctx__term
|
|
2071
2176
|
if ctx__term.length >= 2
|
|
@@ -2150,8 +2255,8 @@ module Expressir
|
|
|
2150
2255
|
end
|
|
2151
2256
|
|
|
2152
2257
|
def visit_string_literal(ctx)
|
|
2153
|
-
ctx__SimpleStringLiteral = ctx.
|
|
2154
|
-
ctx__EncodedStringLiteral = ctx.
|
|
2258
|
+
ctx__SimpleStringLiteral = ctx.simpleStringLiteral
|
|
2259
|
+
ctx__EncodedStringLiteral = ctx.encodedStringLiteral
|
|
2155
2260
|
|
|
2156
2261
|
if ctx__SimpleStringLiteral
|
|
2157
2262
|
handle_simple_string_literal(ctx__SimpleStringLiteral)
|
|
@@ -2165,7 +2270,7 @@ module Expressir
|
|
|
2165
2270
|
def visit_string_type(ctx)
|
|
2166
2271
|
ctx__width_spec = ctx.width_spec
|
|
2167
2272
|
ctx__width_spec__width = ctx__width_spec&.width
|
|
2168
|
-
ctx__width_spec__FIXED = ctx__width_spec&.
|
|
2273
|
+
ctx__width_spec__FIXED = ctx__width_spec&.tFIXED
|
|
2169
2274
|
|
|
2170
2275
|
width = visit_if(ctx__width_spec__width)
|
|
2171
2276
|
fixed = ctx__width_spec__FIXED && true
|
|
@@ -2177,7 +2282,7 @@ module Expressir
|
|
|
2177
2282
|
end
|
|
2178
2283
|
|
|
2179
2284
|
def visit_subsuper(ctx)
|
|
2180
|
-
|
|
2285
|
+
(SimpleCtx === ctx) ? to_ctx({},:subsuper) : ctx
|
|
2181
2286
|
end
|
|
2182
2287
|
|
|
2183
2288
|
def visit_subtype_constraint(ctx)
|
|
@@ -2187,12 +2292,12 @@ module Expressir
|
|
|
2187
2292
|
end
|
|
2188
2293
|
|
|
2189
2294
|
def visit_subtype_constraint_body(ctx)
|
|
2190
|
-
|
|
2295
|
+
(SimpleCtx === ctx) ? to_ctx({},:subtypeConstraintBody) : ctx
|
|
2191
2296
|
end
|
|
2192
2297
|
|
|
2193
2298
|
def visit_subtype_constraint_decl(ctx)
|
|
2194
2299
|
ctx__subtype_constraint_head = ctx.subtype_constraint_head
|
|
2195
|
-
ctx__subtype_constraint_body = ctx.subtype_constraint_body
|
|
2300
|
+
ctx__subtype_constraint_body = visit ctx.subtype_constraint_body
|
|
2196
2301
|
ctx__subtype_constraint_head__subtype_constraint_id = ctx__subtype_constraint_head&.subtype_constraint_id
|
|
2197
2302
|
ctx__subtype_constraint_head__entity_ref = ctx__subtype_constraint_head&.entity_ref
|
|
2198
2303
|
ctx__subtype_constraint_body__abstract_supertype = ctx__subtype_constraint_body&.abstract_supertype
|
|
@@ -2219,7 +2324,7 @@ module Expressir
|
|
|
2219
2324
|
end
|
|
2220
2325
|
|
|
2221
2326
|
def visit_subtype_constraint_id(ctx)
|
|
2222
|
-
ctx__SimpleId = ctx.
|
|
2327
|
+
ctx__SimpleId = ctx.simpleId
|
|
2223
2328
|
|
|
2224
2329
|
handle_simple_id(ctx__SimpleId)
|
|
2225
2330
|
end
|
|
@@ -2235,8 +2340,8 @@ module Expressir
|
|
|
2235
2340
|
end
|
|
2236
2341
|
|
|
2237
2342
|
def visit_supertype_expression(ctx)
|
|
2238
|
-
ctx__supertype_factor = ctx.supertype_factor
|
|
2239
|
-
ctx__ANDOR = ctx.
|
|
2343
|
+
ctx__supertype_factor = [ctx.supertype_factor]+ctx.rhs.map { |item| item.supertype_factor }
|
|
2344
|
+
ctx__ANDOR = ctx.rhs.map { |item| item.operator.values[0] }
|
|
2240
2345
|
|
|
2241
2346
|
if ctx__supertype_factor
|
|
2242
2347
|
if ctx__supertype_factor.length >= 2
|
|
@@ -2257,8 +2362,8 @@ module Expressir
|
|
|
2257
2362
|
end
|
|
2258
2363
|
|
|
2259
2364
|
def visit_supertype_factor(ctx)
|
|
2260
|
-
ctx__supertype_term = ctx.supertype_term
|
|
2261
|
-
ctx__AND = ctx.
|
|
2365
|
+
ctx__supertype_term = [ctx.supertype_term] + ctx.rhs.map { |item| item.supertype_term }
|
|
2366
|
+
ctx__AND = ctx.rhs.map { |item| item.operator.values[0] }
|
|
2262
2367
|
|
|
2263
2368
|
if ctx__supertype_term
|
|
2264
2369
|
if ctx__supertype_term.length >= 2
|
|
@@ -2303,8 +2408,8 @@ module Expressir
|
|
|
2303
2408
|
end
|
|
2304
2409
|
|
|
2305
2410
|
def visit_term(ctx)
|
|
2306
|
-
ctx__factor = ctx.factor
|
|
2307
|
-
ctx__multiplication_like_op = ctx.multiplication_like_op
|
|
2411
|
+
ctx__factor = [ctx.factor] + ctx.rhs.map { |item| item.factor }
|
|
2412
|
+
ctx__multiplication_like_op = ctx.rhs.map { |item| item.multiplication_like_op }
|
|
2308
2413
|
|
|
2309
2414
|
if ctx__factor
|
|
2310
2415
|
if ctx__factor.length >= 2
|
|
@@ -2347,7 +2452,7 @@ module Expressir
|
|
|
2347
2452
|
end
|
|
2348
2453
|
|
|
2349
2454
|
def visit_type_id(ctx)
|
|
2350
|
-
ctx__SimpleId = ctx.
|
|
2455
|
+
ctx__SimpleId = ctx.simpleId
|
|
2351
2456
|
|
|
2352
2457
|
handle_simple_id(ctx__SimpleId)
|
|
2353
2458
|
end
|
|
@@ -2360,16 +2465,16 @@ module Expressir
|
|
|
2360
2465
|
end
|
|
2361
2466
|
|
|
2362
2467
|
def visit_type_label_id(ctx)
|
|
2363
|
-
ctx__SimpleId = ctx.
|
|
2468
|
+
ctx__SimpleId = ctx.simpleId
|
|
2364
2469
|
|
|
2365
2470
|
handle_simple_id(ctx__SimpleId)
|
|
2366
2471
|
end
|
|
2367
2472
|
|
|
2368
2473
|
def visit_unary_op(ctx)
|
|
2369
|
-
ctx__text = ctx.text
|
|
2474
|
+
ctx__text = ctx.values[0].text
|
|
2370
2475
|
ctx__PLUS = ctx__text == '+'
|
|
2371
2476
|
ctx__MINUS = ctx__text == '-'
|
|
2372
|
-
ctx__NOT = ctx.
|
|
2477
|
+
ctx__NOT = ctx.tNOT
|
|
2373
2478
|
|
|
2374
2479
|
if ctx__PLUS
|
|
2375
2480
|
Model::Expressions::UnaryExpression::PLUS
|
|
@@ -2429,7 +2534,7 @@ module Expressir
|
|
|
2429
2534
|
end
|
|
2430
2535
|
|
|
2431
2536
|
def visit_variable_id(ctx)
|
|
2432
|
-
ctx__SimpleId = ctx.
|
|
2537
|
+
ctx__SimpleId = ctx.simpleId
|
|
2433
2538
|
|
|
2434
2539
|
handle_simple_id(ctx__SimpleId)
|
|
2435
2540
|
end
|