expressir 0.2.4-x64-mingw32 → 0.2.10-x64-mingw32
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 +5 -5
- data/.cross_rubies +30 -0
- data/.github/workflows/rake.yml +45 -46
- data/.github/workflows/release.yml +83 -75
- data/.gitignore +17 -15
- data/.gitmodules +3 -3
- data/.rspec +2 -2
- data/.rubocop.yml +508 -508
- data/Gemfile +4 -6
- data/README.adoc +147 -147
- data/Rakefile +11 -17
- data/bin/console +12 -12
- data/bin/rspec +29 -29
- data/bin/setup +8 -8
- data/demo.rb +18 -18
- data/docs/development.md +90 -90
- data/exe/expressir +20 -20
- data/exe/generate-parser +47 -47
- data/expressir.gemspec +43 -40
- data/lib/expressir.rb +21 -21
- data/lib/expressir/cli.rb +27 -27
- data/lib/expressir/cli/ui.rb +36 -36
- data/lib/expressir/config.rb +23 -23
- data/lib/expressir/express.rb +11 -11
- data/lib/expressir/express/aggregate_dimension.rb +38 -38
- data/lib/expressir/express/attribute.rb +15 -15
- data/lib/expressir/express/comment.rb +7 -7
- data/lib/expressir/express/defined_type.rb +36 -36
- data/lib/expressir/express/derived.rb +65 -65
- data/lib/expressir/express/derived_aggregate.rb +43 -43
- data/lib/expressir/express/entity.rb +137 -137
- data/lib/expressir/express/explicit.rb +70 -70
- data/lib/expressir/express/explicit_aggregate.rb +46 -46
- data/lib/expressir/express/explicit_or_derived.rb +16 -16
- data/lib/expressir/express/global_rule.rb +44 -44
- data/lib/expressir/express/interface_specification.rb +51 -51
- data/lib/expressir/express/interfaced_item.rb +38 -38
- data/lib/expressir/express/inverse.rb +46 -46
- data/lib/expressir/express/inverse_aggregate.rb +37 -37
- data/lib/expressir/express/model_element.rb +7 -7
- data/lib/expressir/express/named_type.rb +19 -19
- data/lib/expressir/express/remark.rb +8 -8
- data/lib/expressir/express/repository.rb +306 -306
- data/lib/expressir/express/schema_definition.rb +96 -96
- data/lib/expressir/express/subtype_constraint.rb +14 -14
- data/lib/expressir/express/type.rb +26 -26
- data/lib/expressir/express/type_aggregate.rb +42 -42
- data/lib/expressir/express/type_enum.rb +29 -29
- data/lib/expressir/express/type_parser.rb +45 -45
- data/lib/expressir/express/type_select.rb +82 -82
- data/lib/expressir/express/unique_rule.rb +35 -35
- data/lib/expressir/express/where_rule.rb +32 -32
- data/lib/expressir/express_exp/2.4/express_parser.so +0 -0
- data/lib/expressir/express_exp/2.5/express_parser.so +0 -0
- data/lib/expressir/express_exp/2.6/express_parser.so +0 -0
- data/lib/expressir/express_exp/2.7/express_parser.so +0 -0
- data/lib/expressir/express_exp/3.0/express_parser.so +0 -0
- data/lib/expressir/express_exp/formatter.rb +1500 -1449
- data/lib/expressir/express_exp/parser.rb +53 -35
- data/lib/expressir/express_exp/visitor.rb +2555 -2450
- data/lib/expressir/express_parser.rb +30 -30
- data/lib/expressir/model.rb +67 -64
- data/lib/expressir/model/attribute.rb +28 -26
- data/lib/expressir/model/constant.rb +18 -16
- data/lib/expressir/model/entity.rb +38 -45
- data/lib/expressir/model/enumeration_item.rb +12 -10
- data/lib/expressir/model/expressions/aggregate_initializer.rb +12 -12
- data/lib/expressir/model/expressions/aggregate_item.rb +14 -14
- data/lib/expressir/model/expressions/attribute_reference.rb +14 -14
- data/lib/expressir/model/expressions/binary_expression.rb +39 -39
- data/lib/expressir/model/expressions/call.rb +14 -14
- data/lib/expressir/model/expressions/entity_constructor.rb +14 -14
- data/lib/expressir/model/expressions/group_reference.rb +14 -14
- data/lib/expressir/model/expressions/index_reference.rb +16 -16
- data/lib/expressir/model/expressions/interval.rb +20 -20
- data/lib/expressir/model/expressions/query_expression.rb +27 -25
- data/lib/expressir/model/expressions/simple_reference.rb +12 -12
- data/lib/expressir/model/expressions/unary_expression.rb +18 -18
- data/lib/expressir/model/function.rb +55 -61
- data/lib/expressir/model/identifier.rb +9 -8
- data/lib/expressir/model/informal_proposition.rb +13 -0
- data/lib/expressir/model/interface.rb +17 -17
- data/lib/expressir/model/literals/binary.rb +12 -12
- data/lib/expressir/model/literals/integer.rb +12 -12
- data/lib/expressir/model/literals/logical.rb +16 -16
- data/lib/expressir/model/literals/real.rb +12 -12
- data/lib/expressir/model/literals/string.rb +14 -14
- data/lib/expressir/model/model_element.rb +67 -0
- data/lib/expressir/model/parameter.rb +18 -16
- data/lib/expressir/model/procedure.rb +53 -59
- data/lib/expressir/model/renamed_ref.rb +12 -12
- data/lib/expressir/model/repository.rb +18 -18
- data/lib/expressir/model/rule.rb +58 -61
- data/lib/expressir/model/schema.rb +55 -66
- data/lib/expressir/model/scope.rb +62 -16
- data/lib/expressir/model/statements/alias.rb +27 -25
- data/lib/expressir/model/statements/assignment.rb +14 -14
- data/lib/expressir/model/statements/call.rb +14 -14
- data/lib/expressir/model/statements/case.rb +16 -16
- data/lib/expressir/model/statements/case_action.rb +14 -14
- data/lib/expressir/model/statements/compound.rb +12 -12
- data/lib/expressir/model/statements/escape.rb +7 -7
- data/lib/expressir/model/statements/if.rb +16 -16
- data/lib/expressir/model/statements/null.rb +7 -7
- data/lib/expressir/model/statements/repeat.rb +35 -33
- data/lib/expressir/model/statements/return.rb +12 -12
- data/lib/expressir/model/statements/skip.rb +7 -7
- data/lib/expressir/model/subtype_constraint.rb +28 -26
- data/lib/expressir/model/type.rb +33 -23
- data/lib/expressir/model/types/aggregate.rb +18 -16
- data/lib/expressir/model/types/array.rb +20 -20
- data/lib/expressir/model/types/bag.rb +16 -16
- data/lib/expressir/model/types/binary.rb +14 -14
- data/lib/expressir/model/types/boolean.rb +7 -7
- data/lib/expressir/model/types/enumeration.rb +18 -18
- data/lib/expressir/model/types/generic.rb +14 -12
- data/lib/expressir/model/types/generic_entity.rb +14 -12
- data/lib/expressir/model/types/integer.rb +7 -7
- data/lib/expressir/model/types/list.rb +18 -18
- data/lib/expressir/model/types/logical.rb +7 -7
- data/lib/expressir/model/types/number.rb +7 -7
- data/lib/expressir/model/types/real.rb +12 -12
- data/lib/expressir/model/types/select.rb +20 -20
- data/lib/expressir/model/types/set.rb +16 -16
- data/lib/expressir/model/types/string.rb +14 -14
- data/lib/expressir/model/unique.rb +16 -14
- data/lib/expressir/model/variable.rb +18 -16
- data/lib/expressir/model/where.rb +16 -14
- data/lib/expressir/parser.rb +6 -6
- data/lib/expressir/parser/owl_parser.rb +8 -8
- data/lib/expressir/version.rb +3 -3
- data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp +9589 -9589
- data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl +36619 -36619
- data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.xml +13293 -13293
- data/original/examples/employment/eclipse/.project +17 -17
- data/original/examples/employment/eclipse/Express/employment_schema.exp +33 -33
- data/original/examples/employment/eclipse/Express/employment_schema.xmi +77 -77
- data/original/examples/employment/eclipse/Express/employment_schema.xml +92 -92
- data/original/examples/employment/eclipse/Models/Employment.uml +4 -4
- data/original/examples/employment/eclipse/Models/Employment.umldi +240 -240
- data/original/examples/employment/eclipse/readme.txt +6 -6
- data/original/examples/employment/employment_schema.exp +33 -33
- data/original/examples/employment/employment_schema.rb +232 -232
- data/original/examples/employment/employment_schema.xml +92 -92
- data/original/examples/employment/employment_schema___module.rb +46 -46
- data/original/examples/employment/employment_schema___p28attr.rb +126 -126
- data/original/examples/employment/employment_schema___p28inst.rb +26 -26
- data/original/examples/employment/example_employment_data.xml +1 -1
- data/original/examples/employment/example_employment_data_copy.xml +1 -1
- data/original/examples/employment/example_employment_reader.rb +30 -30
- data/original/examples/employment/example_employment_writer.rb +51 -51
- data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.exp +3710 -3710
- data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.owl +35880 -35880
- data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xmi +15357 -15357
- data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xml +9467 -9467
- data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.exp +8404 -8404
- data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl +43147 -43147
- data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi +18341 -18341
- data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml +11631 -11631
- data/original/examples/syntax/remark.exp +189 -145
- data/original/examples/syntax/remark_formatted.exp +213 -174
- data/original/examples/syntax/simple.exp +3 -0
- data/original/examples/syntax/source.exp +16 -0
- data/original/examples/syntax/syntax.exp +323 -310
- data/original/examples/syntax/syntax_formatted.exp +753 -1186
- data/original/exp2ruby.rb +525 -525
- data/original/expsm.rb +34 -34
- data/original/mapping_owl.rb +1018 -1018
- data/original/mapping_sysml.rb +2281 -2281
- data/original/mapping_uml2.rb +598 -598
- data/original/mapping_uml2_eclipse.rb +433 -433
- data/original/reeper.rb +134 -134
- data/rakelib/cross-ruby.rake +308 -0
- data/spec/acceptance/express_to_owl_spec.rb +18 -18
- data/spec/acceptance/version_spec.rb +12 -12
- data/spec/expressir/express/repository_spec.rb +25 -25
- data/spec/expressir/express_exp/ap233_spec.rb +22 -22
- data/spec/expressir/express_exp/format_remark_spec.rb +28 -28
- data/spec/expressir/express_exp/format_syntax_spec.rb +28 -28
- data/spec/expressir/express_exp/head_source_spec.rb +38 -0
- data/spec/expressir/express_exp/parse_multiple_spec.rb +32 -0
- data/spec/expressir/express_exp/parse_remark_spec.rb +411 -345
- data/spec/expressir/express_exp/parse_syntax_spec.rb +3048 -2998
- data/spec/expressir/express_exp/source_spec.rb +29 -0
- data/spec/expressir/model/model_element_spec.rb +59 -0
- data/spec/expressir/model/{find_spec.rb → scope_spec.rb} +123 -110
- data/spec/expressr_spec.rb +5 -5
- data/spec/spec_helper.rb +17 -17
- data/spec/support/console_helper.rb +29 -29
- metadata +41 -371
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +0 -118
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj +0 -637
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj.filters +0 -984
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj +0 -652
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj.filters +0 -990
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj +0 -652
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj.filters +0 -990
- 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 -990
- 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 -3024
- 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 -80
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +0 -80
- 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 -34
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +0 -27
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +0 -155
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +0 -69
- 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 -195
- 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 -333
- 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 -51
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +0 -32
- 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 -295
- 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 -75
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +0 -52
- 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 -648
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +0 -467
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +0 -306
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +0 -179
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +0 -141
- 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 -66
- 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 -167
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +0 -164
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +0 -143
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +0 -137
- 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 -53
- 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 -293
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +0 -211
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +0 -123
- 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/Vocabulary.cpp +0 -104
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +0 -193
- 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 -137
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +0 -167
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +0 -209
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +0 -112
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +0 -113
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +0 -148
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +0 -228
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +0 -110
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +0 -64
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +0 -50
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +0 -758
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +0 -85
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +0 -621
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.h +0 -61
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +0 -63
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +0 -87
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +0 -72
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +0 -133
- 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/AbstractPredicateTransition.cpp +0 -14
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.h +0 -24
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +0 -33
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +0 -33
- 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 -82
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +0 -43
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +0 -31
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +0 -30
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +0 -22
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +0 -21
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.cpp +0 -15
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +0 -24
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.cpp +0 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +0 -21
- 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 -17
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +0 -30
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.cpp +0 -35
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.h +0 -27
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +0 -35
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +0 -39
- 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/LL1Analyzer.cpp +0 -158
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +0 -109
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +0 -84
- 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 -628
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +0 -210
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +0 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +0 -66
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +0 -107
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +0 -115
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +0 -55
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +0 -55
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +0 -63
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +0 -62
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +0 -87
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +0 -63
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +0 -82
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +0 -56
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +0 -61
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +0 -47
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +0 -57
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +0 -47
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +0 -57
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +0 -56
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +0 -61
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +0 -47
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +0 -55
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +0 -56
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +0 -55
- 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.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +0 -22
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Makefile +0 -67
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +0 -27
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +0 -25
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +0 -20
- 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 -1366
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +0 -904
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +0 -25
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +0 -22
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +0 -32
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +0 -29
- 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 -34
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +0 -39
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +0 -662
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +0 -254
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +0 -201
- 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 -30
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +0 -29
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.cpp +0 -16
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +0 -25
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +0 -25
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +0 -37
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +0 -40
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +0 -377
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +0 -222
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +0 -32
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +0 -30
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +0 -81
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +0 -36
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +0 -21
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.cpp +0 -15
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +0 -35
- 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 -21
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +0 -21
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +0 -44
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +0 -76
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +0 -25
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +0 -25
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +0 -127
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +0 -91
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +0 -67
- 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 -100
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +0 -144
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +0 -20
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +0 -23
- 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 -31
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +0 -89
- 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 -521
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +0 -198
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +0 -134
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +0 -76
- 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 -13
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +0 -170
- 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 -110
- 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 -248
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +0 -78
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +0 -163
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +0 -36
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +0 -54
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.cpp +0 -303
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.h +0 -112
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +0 -128
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.cpp +0 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +0 -19
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +0 -23
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +0 -33
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +0 -71
- 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 -15
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +0 -102
- 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/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 -49
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +0 -31
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.cpp +0 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +0 -32
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +0 -57
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +0 -33
- 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 -371
- 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 -173
- 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 -56
- 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/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 -1169
- data/ext/express-parser/antlrgen/ExpressLexer.h +0 -85
- 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 -17284
- data/ext/express-parser/antlrgen/ExpressParser.h +0 -3696
- 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 -17931
- data/ext/express-parser/extconf.rb +0 -34
- data/lib/express_parser.so +0 -0
@@ -1,254 +0,0 @@
|
|
1
|
-
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
|
2
|
-
* Use of this file is governed by the BSD 3-clause license that
|
3
|
-
* can be found in the LICENSE.txt file in the project root.
|
4
|
-
*/
|
5
|
-
|
6
|
-
#pragma once
|
7
|
-
|
8
|
-
#include "Recognizer.h"
|
9
|
-
#include "atn/ATN.h"
|
10
|
-
#include "atn/ATNState.h"
|
11
|
-
|
12
|
-
namespace antlr4 {
|
13
|
-
namespace atn {
|
14
|
-
|
15
|
-
struct PredictionContextHasher;
|
16
|
-
struct PredictionContextComparer;
|
17
|
-
class PredictionContextMergeCache;
|
18
|
-
|
19
|
-
typedef std::unordered_set<Ref<PredictionContext>, PredictionContextHasher, PredictionContextComparer> PredictionContextCache;
|
20
|
-
|
21
|
-
class ANTLR4CPP_PUBLIC PredictionContext {
|
22
|
-
public:
|
23
|
-
/// Represents $ in local context prediction, which means wildcard.
|
24
|
-
/// *+x = *.
|
25
|
-
static const Ref<PredictionContext> EMPTY;
|
26
|
-
|
27
|
-
/// Represents $ in an array in full context mode, when $
|
28
|
-
/// doesn't mean wildcard: $ + x = [$,x]. Here,
|
29
|
-
/// $ = EMPTY_RETURN_STATE.
|
30
|
-
// ml: originally Integer.MAX_VALUE, which would be -1 for us, but this is already used in places where
|
31
|
-
// -1 is converted to unsigned, so we use a different value here. Any value does the job provided it doesn't
|
32
|
-
// conflict with real return states.
|
33
|
-
static const size_t EMPTY_RETURN_STATE = static_cast<size_t>(-10); // std::numeric_limits<size_t>::max() - 9;
|
34
|
-
|
35
|
-
private:
|
36
|
-
static const size_t INITIAL_HASH = 1;
|
37
|
-
|
38
|
-
public:
|
39
|
-
static size_t globalNodeCount;
|
40
|
-
const size_t id;
|
41
|
-
|
42
|
-
/// <summary>
|
43
|
-
/// Stores the computed hash code of this <seealso cref="PredictionContext"/>. The hash
|
44
|
-
/// code is computed in parts to match the following reference algorithm.
|
45
|
-
///
|
46
|
-
/// <pre>
|
47
|
-
/// private int referenceHashCode() {
|
48
|
-
/// int hash = <seealso cref="MurmurHash#initialize"/>(<seealso cref="#INITIAL_HASH"/>);
|
49
|
-
///
|
50
|
-
/// for (int i = 0; i < <seealso cref="#size()"/>; i++) {
|
51
|
-
/// hash = <seealso cref="MurmurHash#update"/>(hash, <seealso cref="#getParent"/>(i));
|
52
|
-
/// }
|
53
|
-
///
|
54
|
-
/// for (int i = 0; i < <seealso cref="#size()"/>; i++) {
|
55
|
-
/// hash = <seealso cref="MurmurHash#update"/>(hash, <seealso cref="#getReturnState"/>(i));
|
56
|
-
/// }
|
57
|
-
///
|
58
|
-
/// hash = <seealso cref="MurmurHash#finish"/>(hash, 2 * <seealso cref="#size()"/>);
|
59
|
-
/// return hash;
|
60
|
-
/// }
|
61
|
-
/// </pre>
|
62
|
-
/// </summary>
|
63
|
-
const size_t cachedHashCode;
|
64
|
-
|
65
|
-
protected:
|
66
|
-
PredictionContext(size_t cachedHashCode);
|
67
|
-
~PredictionContext();
|
68
|
-
|
69
|
-
public:
|
70
|
-
/// Convert a RuleContext tree to a PredictionContext graph.
|
71
|
-
/// Return EMPTY if outerContext is empty.
|
72
|
-
static Ref<PredictionContext> fromRuleContext(const ATN &atn, RuleContext *outerContext);
|
73
|
-
|
74
|
-
virtual size_t size() const = 0;
|
75
|
-
virtual Ref<PredictionContext> getParent(size_t index) const = 0;
|
76
|
-
virtual size_t getReturnState(size_t index) const = 0;
|
77
|
-
|
78
|
-
virtual bool operator == (const PredictionContext &o) const = 0;
|
79
|
-
|
80
|
-
/// This means only the EMPTY (wildcard? not sure) context is in set.
|
81
|
-
virtual bool isEmpty() const;
|
82
|
-
virtual bool hasEmptyPath() const;
|
83
|
-
virtual size_t hashCode() const;
|
84
|
-
|
85
|
-
protected:
|
86
|
-
static size_t calculateEmptyHashCode();
|
87
|
-
static size_t calculateHashCode(Ref<PredictionContext> parent, size_t returnState);
|
88
|
-
static size_t calculateHashCode(const std::vector<Ref<PredictionContext>> &parents,
|
89
|
-
const std::vector<size_t> &returnStates);
|
90
|
-
|
91
|
-
public:
|
92
|
-
// dispatch
|
93
|
-
static Ref<PredictionContext> merge(const Ref<PredictionContext> &a, const Ref<PredictionContext> &b,
|
94
|
-
bool rootIsWildcard, PredictionContextMergeCache *mergeCache);
|
95
|
-
|
96
|
-
/// <summary>
|
97
|
-
/// Merge two <seealso cref="SingletonPredictionContext"/> instances.
|
98
|
-
///
|
99
|
-
/// <p/>
|
100
|
-
///
|
101
|
-
/// Stack tops equal, parents merge is same; return left graph.<br/>
|
102
|
-
/// <embed src="images/SingletonMerge_SameRootSamePar.svg" type="image/svg+xml"/>
|
103
|
-
///
|
104
|
-
/// <p/>
|
105
|
-
///
|
106
|
-
/// Same stack top, parents differ; merge parents giving array node, then
|
107
|
-
/// remainders of those graphs. A new root node is created to point to the
|
108
|
-
/// merged parents.<br/>
|
109
|
-
/// <embed src="images/SingletonMerge_SameRootDiffPar.svg" type="image/svg+xml"/>
|
110
|
-
///
|
111
|
-
/// <p/>
|
112
|
-
///
|
113
|
-
/// Different stack tops pointing to same parent. Make array node for the
|
114
|
-
/// root where both element in the root point to the same (original)
|
115
|
-
/// parent.<br/>
|
116
|
-
/// <embed src="images/SingletonMerge_DiffRootSamePar.svg" type="image/svg+xml"/>
|
117
|
-
///
|
118
|
-
/// <p/>
|
119
|
-
///
|
120
|
-
/// Different stack tops pointing to different parents. Make array node for
|
121
|
-
/// the root where each element points to the corresponding original
|
122
|
-
/// parent.<br/>
|
123
|
-
/// <embed src="images/SingletonMerge_DiffRootDiffPar.svg" type="image/svg+xml"/>
|
124
|
-
/// </summary>
|
125
|
-
/// <param name="a"> the first <seealso cref="SingletonPredictionContext"/> </param>
|
126
|
-
/// <param name="b"> the second <seealso cref="SingletonPredictionContext"/> </param>
|
127
|
-
/// <param name="rootIsWildcard"> {@code true} if this is a local-context merge,
|
128
|
-
/// otherwise false to indicate a full-context merge </param>
|
129
|
-
/// <param name="mergeCache"> </param>
|
130
|
-
static Ref<PredictionContext> mergeSingletons(const Ref<SingletonPredictionContext> &a,
|
131
|
-
const Ref<SingletonPredictionContext> &b, bool rootIsWildcard, PredictionContextMergeCache *mergeCache);
|
132
|
-
|
133
|
-
/**
|
134
|
-
* Handle case where at least one of {@code a} or {@code b} is
|
135
|
-
* {@link #EMPTY}. In the following diagrams, the symbol {@code $} is used
|
136
|
-
* to represent {@link #EMPTY}.
|
137
|
-
*
|
138
|
-
* <h2>Local-Context Merges</h2>
|
139
|
-
*
|
140
|
-
* <p>These local-context merge operations are used when {@code rootIsWildcard}
|
141
|
-
* is true.</p>
|
142
|
-
*
|
143
|
-
* <p>{@link #EMPTY} is superset of any graph; return {@link #EMPTY}.<br>
|
144
|
-
* <embed src="images/LocalMerge_EmptyRoot.svg" type="image/svg+xml"/></p>
|
145
|
-
*
|
146
|
-
* <p>{@link #EMPTY} and anything is {@code #EMPTY}, so merged parent is
|
147
|
-
* {@code #EMPTY}; return left graph.<br>
|
148
|
-
* <embed src="images/LocalMerge_EmptyParent.svg" type="image/svg+xml"/></p>
|
149
|
-
*
|
150
|
-
* <p>Special case of last merge if local context.<br>
|
151
|
-
* <embed src="images/LocalMerge_DiffRoots.svg" type="image/svg+xml"/></p>
|
152
|
-
*
|
153
|
-
* <h2>Full-Context Merges</h2>
|
154
|
-
*
|
155
|
-
* <p>These full-context merge operations are used when {@code rootIsWildcard}
|
156
|
-
* is false.</p>
|
157
|
-
*
|
158
|
-
* <p><embed src="images/FullMerge_EmptyRoots.svg" type="image/svg+xml"/></p>
|
159
|
-
*
|
160
|
-
* <p>Must keep all contexts; {@link #EMPTY} in array is a special value (and
|
161
|
-
* null parent).<br>
|
162
|
-
* <embed src="images/FullMerge_EmptyRoot.svg" type="image/svg+xml"/></p>
|
163
|
-
*
|
164
|
-
* <p><embed src="images/FullMerge_SameRoot.svg" type="image/svg+xml"/></p>
|
165
|
-
*
|
166
|
-
* @param a the first {@link SingletonPredictionContext}
|
167
|
-
* @param b the second {@link SingletonPredictionContext}
|
168
|
-
* @param rootIsWildcard {@code true} if this is a local-context merge,
|
169
|
-
* otherwise false to indicate a full-context merge
|
170
|
-
*/
|
171
|
-
static Ref<PredictionContext> mergeRoot(const Ref<SingletonPredictionContext> &a,
|
172
|
-
const Ref<SingletonPredictionContext> &b, bool rootIsWildcard);
|
173
|
-
|
174
|
-
/**
|
175
|
-
* Merge two {@link ArrayPredictionContext} instances.
|
176
|
-
*
|
177
|
-
* <p>Different tops, different parents.<br>
|
178
|
-
* <embed src="images/ArrayMerge_DiffTopDiffPar.svg" type="image/svg+xml"/></p>
|
179
|
-
*
|
180
|
-
* <p>Shared top, same parents.<br>
|
181
|
-
* <embed src="images/ArrayMerge_ShareTopSamePar.svg" type="image/svg+xml"/></p>
|
182
|
-
*
|
183
|
-
* <p>Shared top, different parents.<br>
|
184
|
-
* <embed src="images/ArrayMerge_ShareTopDiffPar.svg" type="image/svg+xml"/></p>
|
185
|
-
*
|
186
|
-
* <p>Shared top, all shared parents.<br>
|
187
|
-
* <embed src="images/ArrayMerge_ShareTopSharePar.svg" type="image/svg+xml"/></p>
|
188
|
-
*
|
189
|
-
* <p>Equal tops, merge parents and reduce top to
|
190
|
-
* {@link SingletonPredictionContext}.<br>
|
191
|
-
* <embed src="images/ArrayMerge_EqualTop.svg" type="image/svg+xml"/></p>
|
192
|
-
*/
|
193
|
-
static Ref<PredictionContext> mergeArrays(const Ref<ArrayPredictionContext> &a,
|
194
|
-
const Ref<ArrayPredictionContext> &b, bool rootIsWildcard, PredictionContextMergeCache *mergeCache);
|
195
|
-
|
196
|
-
protected:
|
197
|
-
/// Make pass over all M parents; merge any equal() ones.
|
198
|
-
/// @returns true if the list has been changed (i.e. duplicates where found).
|
199
|
-
static bool combineCommonParents(std::vector<Ref<PredictionContext>> &parents);
|
200
|
-
|
201
|
-
public:
|
202
|
-
static std::string toDOTString(const Ref<PredictionContext> &context);
|
203
|
-
|
204
|
-
static Ref<PredictionContext> getCachedContext(const Ref<PredictionContext> &context,
|
205
|
-
PredictionContextCache &contextCache,
|
206
|
-
std::map<Ref<PredictionContext>, Ref<PredictionContext>> &visited);
|
207
|
-
|
208
|
-
// ter's recursive version of Sam's getAllNodes()
|
209
|
-
static std::vector<Ref<PredictionContext>> getAllContextNodes(const Ref<PredictionContext> &context);
|
210
|
-
static void getAllContextNodes_(const Ref<PredictionContext> &context,
|
211
|
-
std::vector<Ref<PredictionContext>> &nodes, std::set<PredictionContext *> &visited);
|
212
|
-
|
213
|
-
virtual std::string toString() const;
|
214
|
-
virtual std::string toString(Recognizer *recog) const;
|
215
|
-
|
216
|
-
std::vector<std::string> toStrings(Recognizer *recognizer, int currentState);
|
217
|
-
std::vector<std::string> toStrings(Recognizer *recognizer, const Ref<PredictionContext> &stop, int currentState);
|
218
|
-
};
|
219
|
-
|
220
|
-
struct PredictionContextHasher {
|
221
|
-
size_t operator () (const Ref<PredictionContext> &k) const {
|
222
|
-
return k->hashCode();
|
223
|
-
}
|
224
|
-
};
|
225
|
-
|
226
|
-
struct PredictionContextComparer {
|
227
|
-
bool operator () (const Ref<PredictionContext> &lhs, const Ref<PredictionContext> &rhs) const
|
228
|
-
{
|
229
|
-
if (lhs == rhs) // Object identity.
|
230
|
-
return true;
|
231
|
-
return (lhs->hashCode() == rhs->hashCode()) && (*lhs == *rhs);
|
232
|
-
}
|
233
|
-
};
|
234
|
-
|
235
|
-
class PredictionContextMergeCache {
|
236
|
-
public:
|
237
|
-
Ref<PredictionContext> put(Ref<PredictionContext> const& key1, Ref<PredictionContext> const& key2,
|
238
|
-
Ref<PredictionContext> const& value);
|
239
|
-
Ref<PredictionContext> get(Ref<PredictionContext> const& key1, Ref<PredictionContext> const& key2);
|
240
|
-
|
241
|
-
void clear();
|
242
|
-
std::string toString() const;
|
243
|
-
size_t count() const;
|
244
|
-
|
245
|
-
private:
|
246
|
-
std::unordered_map<Ref<PredictionContext>,
|
247
|
-
std::unordered_map<Ref<PredictionContext>, Ref<PredictionContext>, PredictionContextHasher, PredictionContextComparer>,
|
248
|
-
PredictionContextHasher, PredictionContextComparer> _data;
|
249
|
-
|
250
|
-
};
|
251
|
-
|
252
|
-
} // namespace atn
|
253
|
-
} // namespace antlr4
|
254
|
-
|
@@ -1,201 +0,0 @@
|
|
1
|
-
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
|
2
|
-
* Use of this file is governed by the BSD 3-clause license that
|
3
|
-
* can be found in the LICENSE.txt file in the project root.
|
4
|
-
*/
|
5
|
-
|
6
|
-
#include "atn/RuleStopState.h"
|
7
|
-
#include "atn/ATNConfigSet.h"
|
8
|
-
#include "atn/ATNConfig.h"
|
9
|
-
#include "misc/MurmurHash.h"
|
10
|
-
#include "SemanticContext.h"
|
11
|
-
|
12
|
-
#include "PredictionMode.h"
|
13
|
-
|
14
|
-
using namespace antlr4;
|
15
|
-
using namespace antlr4::atn;
|
16
|
-
using namespace antlrcpp;
|
17
|
-
|
18
|
-
struct AltAndContextConfigHasher
|
19
|
-
{
|
20
|
-
/**
|
21
|
-
* The hash code is only a function of the {@link ATNState#stateNumber}
|
22
|
-
* and {@link ATNConfig#context}.
|
23
|
-
*/
|
24
|
-
size_t operator () (ATNConfig *o) const {
|
25
|
-
size_t hashCode = misc::MurmurHash::initialize(7);
|
26
|
-
hashCode = misc::MurmurHash::update(hashCode, o->state->stateNumber);
|
27
|
-
hashCode = misc::MurmurHash::update(hashCode, o->context);
|
28
|
-
return misc::MurmurHash::finish(hashCode, 2);
|
29
|
-
}
|
30
|
-
};
|
31
|
-
|
32
|
-
struct AltAndContextConfigComparer {
|
33
|
-
bool operator()(ATNConfig *a, ATNConfig *b) const
|
34
|
-
{
|
35
|
-
if (a == b) {
|
36
|
-
return true;
|
37
|
-
}
|
38
|
-
return a->state->stateNumber == b->state->stateNumber && *a->context == *b->context;
|
39
|
-
}
|
40
|
-
};
|
41
|
-
|
42
|
-
bool PredictionModeClass::hasSLLConflictTerminatingPrediction(PredictionMode mode, ATNConfigSet *configs) {
|
43
|
-
/* Configs in rule stop states indicate reaching the end of the decision
|
44
|
-
* rule (local context) or end of start rule (full context). If all
|
45
|
-
* configs meet this condition, then none of the configurations is able
|
46
|
-
* to match additional input so we terminate prediction.
|
47
|
-
*/
|
48
|
-
if (allConfigsInRuleStopStates(configs)) {
|
49
|
-
return true;
|
50
|
-
}
|
51
|
-
|
52
|
-
bool heuristic;
|
53
|
-
|
54
|
-
// Pure SLL mode parsing or SLL+LL if:
|
55
|
-
// Don't bother with combining configs from different semantic
|
56
|
-
// contexts if we can fail over to full LL; costs more time
|
57
|
-
// since we'll often fail over anyway.
|
58
|
-
if (mode == PredictionMode::SLL || !configs->hasSemanticContext) {
|
59
|
-
std::vector<antlrcpp::BitSet> altsets = getConflictingAltSubsets(configs);
|
60
|
-
heuristic = hasConflictingAltSet(altsets) && !hasStateAssociatedWithOneAlt(configs);
|
61
|
-
} else {
|
62
|
-
// dup configs, tossing out semantic predicates
|
63
|
-
ATNConfigSet dup(true);
|
64
|
-
for (auto &config : configs->configs) {
|
65
|
-
Ref<ATNConfig> c = std::make_shared<ATNConfig>(config, SemanticContext::NONE);
|
66
|
-
dup.add(c);
|
67
|
-
}
|
68
|
-
std::vector<antlrcpp::BitSet> altsets = getConflictingAltSubsets(&dup);
|
69
|
-
heuristic = hasConflictingAltSet(altsets) && !hasStateAssociatedWithOneAlt(&dup);
|
70
|
-
}
|
71
|
-
|
72
|
-
return heuristic;
|
73
|
-
}
|
74
|
-
|
75
|
-
bool PredictionModeClass::hasConfigInRuleStopState(ATNConfigSet *configs) {
|
76
|
-
for (auto &c : configs->configs) {
|
77
|
-
if (is<RuleStopState *>(c->state)) {
|
78
|
-
return true;
|
79
|
-
}
|
80
|
-
}
|
81
|
-
|
82
|
-
return false;
|
83
|
-
}
|
84
|
-
|
85
|
-
bool PredictionModeClass::allConfigsInRuleStopStates(ATNConfigSet *configs) {
|
86
|
-
for (auto &config : configs->configs) {
|
87
|
-
if (!is<RuleStopState*>(config->state)) {
|
88
|
-
return false;
|
89
|
-
}
|
90
|
-
}
|
91
|
-
|
92
|
-
return true;
|
93
|
-
}
|
94
|
-
|
95
|
-
size_t PredictionModeClass::resolvesToJustOneViableAlt(const std::vector<antlrcpp::BitSet>& altsets) {
|
96
|
-
return getSingleViableAlt(altsets);
|
97
|
-
}
|
98
|
-
|
99
|
-
bool PredictionModeClass::allSubsetsConflict(const std::vector<antlrcpp::BitSet>& altsets) {
|
100
|
-
return !hasNonConflictingAltSet(altsets);
|
101
|
-
}
|
102
|
-
|
103
|
-
bool PredictionModeClass::hasNonConflictingAltSet(const std::vector<antlrcpp::BitSet>& altsets) {
|
104
|
-
for (antlrcpp::BitSet alts : altsets) {
|
105
|
-
if (alts.count() == 1) {
|
106
|
-
return true;
|
107
|
-
}
|
108
|
-
}
|
109
|
-
return false;
|
110
|
-
}
|
111
|
-
|
112
|
-
bool PredictionModeClass::hasConflictingAltSet(const std::vector<antlrcpp::BitSet>& altsets) {
|
113
|
-
for (antlrcpp::BitSet alts : altsets) {
|
114
|
-
if (alts.count() > 1) {
|
115
|
-
return true;
|
116
|
-
}
|
117
|
-
}
|
118
|
-
return false;
|
119
|
-
}
|
120
|
-
|
121
|
-
bool PredictionModeClass::allSubsetsEqual(const std::vector<antlrcpp::BitSet>& altsets) {
|
122
|
-
if (altsets.empty()) {
|
123
|
-
return true;
|
124
|
-
}
|
125
|
-
|
126
|
-
const antlrcpp::BitSet& first = *altsets.begin();
|
127
|
-
for (const antlrcpp::BitSet& alts : altsets) {
|
128
|
-
if (alts != first) {
|
129
|
-
return false;
|
130
|
-
}
|
131
|
-
}
|
132
|
-
return true;
|
133
|
-
}
|
134
|
-
|
135
|
-
size_t PredictionModeClass::getUniqueAlt(const std::vector<antlrcpp::BitSet>& altsets) {
|
136
|
-
antlrcpp::BitSet all = getAlts(altsets);
|
137
|
-
if (all.count() == 1) {
|
138
|
-
return all.nextSetBit(0);
|
139
|
-
}
|
140
|
-
return ATN::INVALID_ALT_NUMBER;
|
141
|
-
}
|
142
|
-
|
143
|
-
antlrcpp::BitSet PredictionModeClass::getAlts(const std::vector<antlrcpp::BitSet>& altsets) {
|
144
|
-
antlrcpp::BitSet all;
|
145
|
-
for (antlrcpp::BitSet alts : altsets) {
|
146
|
-
all |= alts;
|
147
|
-
}
|
148
|
-
|
149
|
-
return all;
|
150
|
-
}
|
151
|
-
|
152
|
-
antlrcpp::BitSet PredictionModeClass::getAlts(ATNConfigSet *configs) {
|
153
|
-
antlrcpp::BitSet alts;
|
154
|
-
for (auto &config : configs->configs) {
|
155
|
-
alts.set(config->alt);
|
156
|
-
}
|
157
|
-
return alts;
|
158
|
-
}
|
159
|
-
|
160
|
-
std::vector<antlrcpp::BitSet> PredictionModeClass::getConflictingAltSubsets(ATNConfigSet *configs) {
|
161
|
-
std::unordered_map<ATNConfig *, antlrcpp::BitSet, AltAndContextConfigHasher, AltAndContextConfigComparer> configToAlts;
|
162
|
-
for (auto &config : configs->configs) {
|
163
|
-
configToAlts[config.get()].set(config->alt);
|
164
|
-
}
|
165
|
-
std::vector<antlrcpp::BitSet> values;
|
166
|
-
for (auto it : configToAlts) {
|
167
|
-
values.push_back(it.second);
|
168
|
-
}
|
169
|
-
return values;
|
170
|
-
}
|
171
|
-
|
172
|
-
std::map<ATNState*, antlrcpp::BitSet> PredictionModeClass::getStateToAltMap(ATNConfigSet *configs) {
|
173
|
-
std::map<ATNState*, antlrcpp::BitSet> m;
|
174
|
-
for (auto &c : configs->configs) {
|
175
|
-
m[c->state].set(c->alt);
|
176
|
-
}
|
177
|
-
return m;
|
178
|
-
}
|
179
|
-
|
180
|
-
bool PredictionModeClass::hasStateAssociatedWithOneAlt(ATNConfigSet *configs) {
|
181
|
-
std::map<ATNState*, antlrcpp::BitSet> x = getStateToAltMap(configs);
|
182
|
-
for (std::map<ATNState*, antlrcpp::BitSet>::iterator it = x.begin(); it != x.end(); it++){
|
183
|
-
if (it->second.count() == 1) return true;
|
184
|
-
}
|
185
|
-
return false;
|
186
|
-
}
|
187
|
-
|
188
|
-
size_t PredictionModeClass::getSingleViableAlt(const std::vector<antlrcpp::BitSet>& altsets) {
|
189
|
-
antlrcpp::BitSet viableAlts;
|
190
|
-
for (antlrcpp::BitSet alts : altsets) {
|
191
|
-
size_t minAlt = alts.nextSetBit(0);
|
192
|
-
|
193
|
-
viableAlts.set(minAlt);
|
194
|
-
if (viableAlts.count() > 1) // more than 1 viable alt
|
195
|
-
{
|
196
|
-
return ATN::INVALID_ALT_NUMBER;
|
197
|
-
}
|
198
|
-
}
|
199
|
-
|
200
|
-
return viableAlts.nextSetBit(0);
|
201
|
-
}
|