expressir 1.4.3 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 +1 -1
- 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
|