expressir 0.2.5-x64-mingw32 → 0.2.11-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 +2551 -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 +73 -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 +70 -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 +77 -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
data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h
DELETED
@@ -1,31 +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 "antlr4-common.h"
|
9
|
-
|
10
|
-
namespace antlr4 {
|
11
|
-
namespace misc {
|
12
|
-
|
13
|
-
struct InterpreterData {
|
14
|
-
atn::ATN atn;
|
15
|
-
dfa::Vocabulary vocabulary;
|
16
|
-
std::vector<std::string> ruleNames;
|
17
|
-
std::vector<std::string> channels; // Only valid for lexer grammars.
|
18
|
-
std::vector<std::string> modes; // ditto
|
19
|
-
|
20
|
-
InterpreterData() {}; // For invalid content.
|
21
|
-
InterpreterData(std::vector<std::string> const& literalNames, std::vector<std::string> const& symbolicNames);
|
22
|
-
};
|
23
|
-
|
24
|
-
// A class to read plain text interpreter data produced by ANTLR.
|
25
|
-
class ANTLR4CPP_PUBLIC InterpreterDataReader {
|
26
|
-
public:
|
27
|
-
static InterpreterData parseFile(std::string const& fileName);
|
28
|
-
};
|
29
|
-
|
30
|
-
} // namespace atn
|
31
|
-
} // namespace antlr4
|
@@ -1,89 +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 "misc/Interval.h"
|
7
|
-
|
8
|
-
using namespace antlr4::misc;
|
9
|
-
|
10
|
-
size_t antlr4::misc::numericToSymbol(ssize_t v) {
|
11
|
-
return static_cast<size_t>(v);
|
12
|
-
}
|
13
|
-
|
14
|
-
ssize_t antlr4::misc::symbolToNumeric(size_t v) {
|
15
|
-
return static_cast<ssize_t>(v);
|
16
|
-
}
|
17
|
-
|
18
|
-
Interval const Interval::INVALID;
|
19
|
-
|
20
|
-
Interval::Interval() : Interval(static_cast<ssize_t>(-1), -2) { // Need an explicit cast here for VS.
|
21
|
-
}
|
22
|
-
|
23
|
-
Interval::Interval(size_t a_, size_t b_) : Interval(symbolToNumeric(a_), symbolToNumeric(b_)) {
|
24
|
-
}
|
25
|
-
|
26
|
-
Interval::Interval(ssize_t a_, ssize_t b_) : a(a_), b(b_) {
|
27
|
-
}
|
28
|
-
|
29
|
-
size_t Interval::length() const {
|
30
|
-
if (b < a) {
|
31
|
-
return 0;
|
32
|
-
}
|
33
|
-
return size_t(b - a + 1);
|
34
|
-
}
|
35
|
-
|
36
|
-
bool Interval::operator == (const Interval &other) const {
|
37
|
-
return a == other.a && b == other.b;
|
38
|
-
}
|
39
|
-
|
40
|
-
size_t Interval::hashCode() const {
|
41
|
-
size_t hash = 23;
|
42
|
-
hash = hash * 31 + static_cast<size_t>(a);
|
43
|
-
hash = hash * 31 + static_cast<size_t>(b);
|
44
|
-
return hash;
|
45
|
-
}
|
46
|
-
|
47
|
-
bool Interval::startsBeforeDisjoint(const Interval &other) const {
|
48
|
-
return a < other.a && b < other.a;
|
49
|
-
}
|
50
|
-
|
51
|
-
bool Interval::startsBeforeNonDisjoint(const Interval &other) const {
|
52
|
-
return a <= other.a && b >= other.a;
|
53
|
-
}
|
54
|
-
|
55
|
-
bool Interval::startsAfter(const Interval &other) const {
|
56
|
-
return a > other.a;
|
57
|
-
}
|
58
|
-
|
59
|
-
bool Interval::startsAfterDisjoint(const Interval &other) const {
|
60
|
-
return a > other.b;
|
61
|
-
}
|
62
|
-
|
63
|
-
bool Interval::startsAfterNonDisjoint(const Interval &other) const {
|
64
|
-
return a > other.a && a <= other.b; // b >= other.b implied
|
65
|
-
}
|
66
|
-
|
67
|
-
bool Interval::disjoint(const Interval &other) const {
|
68
|
-
return startsBeforeDisjoint(other) || startsAfterDisjoint(other);
|
69
|
-
}
|
70
|
-
|
71
|
-
bool Interval::adjacent(const Interval &other) const {
|
72
|
-
return a == other.b + 1 || b == other.a - 1;
|
73
|
-
}
|
74
|
-
|
75
|
-
bool Interval::properlyContains(const Interval &other) const {
|
76
|
-
return other.a >= a && other.b <= b;
|
77
|
-
}
|
78
|
-
|
79
|
-
Interval Interval::Union(const Interval &other) const {
|
80
|
-
return Interval(std::min(a, other.a), std::max(b, other.b));
|
81
|
-
}
|
82
|
-
|
83
|
-
Interval Interval::intersection(const Interval &other) const {
|
84
|
-
return Interval(std::max(a, other.a), std::min(b, other.b));
|
85
|
-
}
|
86
|
-
|
87
|
-
std::string Interval::toString() const {
|
88
|
-
return std::to_string(a) + ".." + std::to_string(b);
|
89
|
-
}
|
@@ -1,84 +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 "antlr4-common.h"
|
9
|
-
|
10
|
-
namespace antlr4 {
|
11
|
-
namespace misc {
|
12
|
-
|
13
|
-
// Helpers to convert certain unsigned symbols (e.g. Token::EOF) to their original numeric value (e.g. -1)
|
14
|
-
// and vice versa. This is needed mostly for intervals to keep their original order and for toString()
|
15
|
-
// methods to print the original numeric value (e.g. for tests).
|
16
|
-
size_t numericToSymbol(ssize_t v);
|
17
|
-
ssize_t symbolToNumeric(size_t v);
|
18
|
-
|
19
|
-
/// An immutable inclusive interval a..b
|
20
|
-
class ANTLR4CPP_PUBLIC Interval {
|
21
|
-
public:
|
22
|
-
static const Interval INVALID;
|
23
|
-
|
24
|
-
// Must stay signed to guarantee the correct sort order.
|
25
|
-
ssize_t a;
|
26
|
-
ssize_t b;
|
27
|
-
|
28
|
-
Interval();
|
29
|
-
explicit Interval(size_t a_, size_t b_); // For unsigned -> signed mappings.
|
30
|
-
Interval(ssize_t a_, ssize_t b_);
|
31
|
-
|
32
|
-
/// return number of elements between a and b inclusively. x..x is length 1.
|
33
|
-
/// if b < a, then length is 0. 9..10 has length 2.
|
34
|
-
size_t length() const;
|
35
|
-
|
36
|
-
bool operator == (const Interval &other) const;
|
37
|
-
|
38
|
-
size_t hashCode() const;
|
39
|
-
|
40
|
-
/// <summary>
|
41
|
-
/// Does this start completely before other? Disjoint </summary>
|
42
|
-
bool startsBeforeDisjoint(const Interval &other) const;
|
43
|
-
|
44
|
-
/// <summary>
|
45
|
-
/// Does this start at or before other? Nondisjoint </summary>
|
46
|
-
bool startsBeforeNonDisjoint(const Interval &other) const;
|
47
|
-
|
48
|
-
/// <summary>
|
49
|
-
/// Does this.a start after other.b? May or may not be disjoint </summary>
|
50
|
-
bool startsAfter(const Interval &other) const;
|
51
|
-
|
52
|
-
/// <summary>
|
53
|
-
/// Does this start completely after other? Disjoint </summary>
|
54
|
-
bool startsAfterDisjoint(const Interval &other) const;
|
55
|
-
|
56
|
-
/// <summary>
|
57
|
-
/// Does this start after other? NonDisjoint </summary>
|
58
|
-
bool startsAfterNonDisjoint(const Interval &other) const;
|
59
|
-
|
60
|
-
/// <summary>
|
61
|
-
/// Are both ranges disjoint? I.e., no overlap? </summary>
|
62
|
-
bool disjoint(const Interval &other) const;
|
63
|
-
|
64
|
-
/// <summary>
|
65
|
-
/// Are two intervals adjacent such as 0..41 and 42..42? </summary>
|
66
|
-
bool adjacent(const Interval &other) const;
|
67
|
-
|
68
|
-
bool properlyContains(const Interval &other) const;
|
69
|
-
|
70
|
-
/// <summary>
|
71
|
-
/// Return the interval computed from combining this and other </summary>
|
72
|
-
Interval Union(const Interval &other) const;
|
73
|
-
|
74
|
-
/// <summary>
|
75
|
-
/// Return the interval in common between this and o </summary>
|
76
|
-
Interval intersection(const Interval &other) const;
|
77
|
-
|
78
|
-
std::string toString() const;
|
79
|
-
|
80
|
-
private:
|
81
|
-
};
|
82
|
-
|
83
|
-
} // namespace atn
|
84
|
-
} // namespace antlr4
|
@@ -1,521 +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 "misc/MurmurHash.h"
|
7
|
-
#include "Lexer.h"
|
8
|
-
#include "Exceptions.h"
|
9
|
-
#include "Vocabulary.h"
|
10
|
-
|
11
|
-
#include "misc/IntervalSet.h"
|
12
|
-
|
13
|
-
using namespace antlr4;
|
14
|
-
using namespace antlr4::misc;
|
15
|
-
|
16
|
-
IntervalSet const IntervalSet::COMPLETE_CHAR_SET =
|
17
|
-
IntervalSet::of(Lexer::MIN_CHAR_VALUE, Lexer::MAX_CHAR_VALUE);
|
18
|
-
|
19
|
-
IntervalSet const IntervalSet::EMPTY_SET;
|
20
|
-
|
21
|
-
IntervalSet::IntervalSet() : _intervals() {
|
22
|
-
}
|
23
|
-
|
24
|
-
IntervalSet::IntervalSet(const IntervalSet &set) : IntervalSet() {
|
25
|
-
_intervals = set._intervals;
|
26
|
-
}
|
27
|
-
|
28
|
-
IntervalSet::IntervalSet(IntervalSet&& set) : IntervalSet(std::move(set._intervals)) {
|
29
|
-
}
|
30
|
-
|
31
|
-
IntervalSet::IntervalSet(std::vector<Interval>&& intervals) : _intervals(std::move(intervals)) {
|
32
|
-
}
|
33
|
-
|
34
|
-
IntervalSet& IntervalSet::operator=(const IntervalSet& other) {
|
35
|
-
_intervals = other._intervals;
|
36
|
-
return *this;
|
37
|
-
}
|
38
|
-
|
39
|
-
IntervalSet& IntervalSet::operator=(IntervalSet&& other) {
|
40
|
-
_intervals = move(other._intervals);
|
41
|
-
return *this;
|
42
|
-
}
|
43
|
-
|
44
|
-
IntervalSet IntervalSet::of(ssize_t a) {
|
45
|
-
return IntervalSet({ Interval(a, a) });
|
46
|
-
}
|
47
|
-
|
48
|
-
IntervalSet IntervalSet::of(ssize_t a, ssize_t b) {
|
49
|
-
return IntervalSet({ Interval(a, b) });
|
50
|
-
}
|
51
|
-
|
52
|
-
void IntervalSet::clear() {
|
53
|
-
_intervals.clear();
|
54
|
-
}
|
55
|
-
|
56
|
-
void IntervalSet::add(ssize_t el) {
|
57
|
-
add(el, el);
|
58
|
-
}
|
59
|
-
|
60
|
-
void IntervalSet::add(ssize_t a, ssize_t b) {
|
61
|
-
add(Interval(a, b));
|
62
|
-
}
|
63
|
-
|
64
|
-
void IntervalSet::add(const Interval &addition) {
|
65
|
-
if (addition.b < addition.a) {
|
66
|
-
return;
|
67
|
-
}
|
68
|
-
|
69
|
-
// find position in list
|
70
|
-
for (auto iterator = _intervals.begin(); iterator != _intervals.end(); ++iterator) {
|
71
|
-
Interval r = *iterator;
|
72
|
-
if (addition == r) {
|
73
|
-
return;
|
74
|
-
}
|
75
|
-
|
76
|
-
if (addition.adjacent(r) || !addition.disjoint(r)) {
|
77
|
-
// next to each other, make a single larger interval
|
78
|
-
Interval bigger = addition.Union(r);
|
79
|
-
*iterator = bigger;
|
80
|
-
|
81
|
-
// make sure we didn't just create an interval that
|
82
|
-
// should be merged with next interval in list
|
83
|
-
while (iterator + 1 != _intervals.end()) {
|
84
|
-
Interval next = *++iterator;
|
85
|
-
if (!bigger.adjacent(next) && bigger.disjoint(next)) {
|
86
|
-
break;
|
87
|
-
}
|
88
|
-
|
89
|
-
// if we bump up against or overlap next, merge
|
90
|
-
iterator = _intervals.erase(iterator);// remove this one
|
91
|
-
--iterator; // move backwards to what we just set
|
92
|
-
*iterator = bigger.Union(next); // set to 3 merged ones
|
93
|
-
// ml: no need to advance iterator, we do that in the next round anyway. ++iterator; // first call to next after previous duplicates the result
|
94
|
-
}
|
95
|
-
return;
|
96
|
-
}
|
97
|
-
|
98
|
-
if (addition.startsBeforeDisjoint(r)) {
|
99
|
-
// insert before r
|
100
|
-
//--iterator;
|
101
|
-
_intervals.insert(iterator, addition);
|
102
|
-
return;
|
103
|
-
}
|
104
|
-
|
105
|
-
// if disjoint and after r, a future iteration will handle it
|
106
|
-
}
|
107
|
-
|
108
|
-
// ok, must be after last interval (and disjoint from last interval)
|
109
|
-
// just add it
|
110
|
-
_intervals.push_back(addition);
|
111
|
-
}
|
112
|
-
|
113
|
-
IntervalSet IntervalSet::Or(const std::vector<IntervalSet> &sets) {
|
114
|
-
IntervalSet result;
|
115
|
-
for (auto &s : sets) {
|
116
|
-
result.addAll(s);
|
117
|
-
}
|
118
|
-
return result;
|
119
|
-
}
|
120
|
-
|
121
|
-
IntervalSet& IntervalSet::addAll(const IntervalSet &set) {
|
122
|
-
// walk set and add each interval
|
123
|
-
for (auto const& interval : set._intervals) {
|
124
|
-
add(interval);
|
125
|
-
}
|
126
|
-
return *this;
|
127
|
-
}
|
128
|
-
|
129
|
-
IntervalSet IntervalSet::complement(ssize_t minElement, ssize_t maxElement) const {
|
130
|
-
return complement(IntervalSet::of(minElement, maxElement));
|
131
|
-
}
|
132
|
-
|
133
|
-
IntervalSet IntervalSet::complement(const IntervalSet &vocabulary) const {
|
134
|
-
return vocabulary.subtract(*this);
|
135
|
-
}
|
136
|
-
|
137
|
-
IntervalSet IntervalSet::subtract(const IntervalSet &other) const {
|
138
|
-
return subtract(*this, other);
|
139
|
-
}
|
140
|
-
|
141
|
-
IntervalSet IntervalSet::subtract(const IntervalSet &left, const IntervalSet &right) {
|
142
|
-
if (left.isEmpty()) {
|
143
|
-
return IntervalSet();
|
144
|
-
}
|
145
|
-
|
146
|
-
if (right.isEmpty()) {
|
147
|
-
// right set has no elements; just return the copy of the current set
|
148
|
-
return left;
|
149
|
-
}
|
150
|
-
|
151
|
-
IntervalSet result(left);
|
152
|
-
size_t resultI = 0;
|
153
|
-
size_t rightI = 0;
|
154
|
-
while (resultI < result._intervals.size() && rightI < right._intervals.size()) {
|
155
|
-
Interval &resultInterval = result._intervals[resultI];
|
156
|
-
const Interval &rightInterval = right._intervals[rightI];
|
157
|
-
|
158
|
-
// operation: (resultInterval - rightInterval) and update indexes
|
159
|
-
|
160
|
-
if (rightInterval.b < resultInterval.a) {
|
161
|
-
rightI++;
|
162
|
-
continue;
|
163
|
-
}
|
164
|
-
|
165
|
-
if (rightInterval.a > resultInterval.b) {
|
166
|
-
resultI++;
|
167
|
-
continue;
|
168
|
-
}
|
169
|
-
|
170
|
-
Interval beforeCurrent;
|
171
|
-
Interval afterCurrent;
|
172
|
-
if (rightInterval.a > resultInterval.a) {
|
173
|
-
beforeCurrent = Interval(resultInterval.a, rightInterval.a - 1);
|
174
|
-
}
|
175
|
-
|
176
|
-
if (rightInterval.b < resultInterval.b) {
|
177
|
-
afterCurrent = Interval(rightInterval.b + 1, resultInterval.b);
|
178
|
-
}
|
179
|
-
|
180
|
-
if (beforeCurrent.a > -1) { // -1 is the default value
|
181
|
-
if (afterCurrent.a > -1) {
|
182
|
-
// split the current interval into two
|
183
|
-
result._intervals[resultI] = beforeCurrent;
|
184
|
-
result._intervals.insert(result._intervals.begin() + resultI + 1, afterCurrent);
|
185
|
-
resultI++;
|
186
|
-
rightI++;
|
187
|
-
} else {
|
188
|
-
// replace the current interval
|
189
|
-
result._intervals[resultI] = beforeCurrent;
|
190
|
-
resultI++;
|
191
|
-
}
|
192
|
-
} else {
|
193
|
-
if (afterCurrent.a > -1) {
|
194
|
-
// replace the current interval
|
195
|
-
result._intervals[resultI] = afterCurrent;
|
196
|
-
rightI++;
|
197
|
-
} else {
|
198
|
-
// remove the current interval (thus no need to increment resultI)
|
199
|
-
result._intervals.erase(result._intervals.begin() + resultI);
|
200
|
-
}
|
201
|
-
}
|
202
|
-
}
|
203
|
-
|
204
|
-
// If rightI reached right.intervals.size(), no more intervals to subtract from result.
|
205
|
-
// If resultI reached result.intervals.size(), we would be subtracting from an empty set.
|
206
|
-
// Either way, we are done.
|
207
|
-
return result;
|
208
|
-
}
|
209
|
-
|
210
|
-
IntervalSet IntervalSet::Or(const IntervalSet &a) const {
|
211
|
-
IntervalSet result;
|
212
|
-
result.addAll(*this);
|
213
|
-
result.addAll(a);
|
214
|
-
return result;
|
215
|
-
}
|
216
|
-
|
217
|
-
IntervalSet IntervalSet::And(const IntervalSet &other) const {
|
218
|
-
IntervalSet intersection;
|
219
|
-
size_t i = 0;
|
220
|
-
size_t j = 0;
|
221
|
-
|
222
|
-
// iterate down both interval lists looking for nondisjoint intervals
|
223
|
-
while (i < _intervals.size() && j < other._intervals.size()) {
|
224
|
-
Interval mine = _intervals[i];
|
225
|
-
Interval theirs = other._intervals[j];
|
226
|
-
|
227
|
-
if (mine.startsBeforeDisjoint(theirs)) {
|
228
|
-
// move this iterator looking for interval that might overlap
|
229
|
-
i++;
|
230
|
-
} else if (theirs.startsBeforeDisjoint(mine)) {
|
231
|
-
// move other iterator looking for interval that might overlap
|
232
|
-
j++;
|
233
|
-
} else if (mine.properlyContains(theirs)) {
|
234
|
-
// overlap, add intersection, get next theirs
|
235
|
-
intersection.add(mine.intersection(theirs));
|
236
|
-
j++;
|
237
|
-
} else if (theirs.properlyContains(mine)) {
|
238
|
-
// overlap, add intersection, get next mine
|
239
|
-
intersection.add(mine.intersection(theirs));
|
240
|
-
i++;
|
241
|
-
} else if (!mine.disjoint(theirs)) {
|
242
|
-
// overlap, add intersection
|
243
|
-
intersection.add(mine.intersection(theirs));
|
244
|
-
|
245
|
-
// Move the iterator of lower range [a..b], but not
|
246
|
-
// the upper range as it may contain elements that will collide
|
247
|
-
// with the next iterator. So, if mine=[0..115] and
|
248
|
-
// theirs=[115..200], then intersection is 115 and move mine
|
249
|
-
// but not theirs as theirs may collide with the next range
|
250
|
-
// in thisIter.
|
251
|
-
// move both iterators to next ranges
|
252
|
-
if (mine.startsAfterNonDisjoint(theirs)) {
|
253
|
-
j++;
|
254
|
-
} else if (theirs.startsAfterNonDisjoint(mine)) {
|
255
|
-
i++;
|
256
|
-
}
|
257
|
-
}
|
258
|
-
}
|
259
|
-
|
260
|
-
return intersection;
|
261
|
-
}
|
262
|
-
|
263
|
-
bool IntervalSet::contains(size_t el) const {
|
264
|
-
return contains(symbolToNumeric(el));
|
265
|
-
}
|
266
|
-
|
267
|
-
bool IntervalSet::contains(ssize_t el) const {
|
268
|
-
if (_intervals.empty())
|
269
|
-
return false;
|
270
|
-
|
271
|
-
if (el < _intervals[0].a) // list is sorted and el is before first interval; not here
|
272
|
-
return false;
|
273
|
-
|
274
|
-
for (auto &interval : _intervals) {
|
275
|
-
if (el >= interval.a && el <= interval.b) {
|
276
|
-
return true; // found in this interval
|
277
|
-
}
|
278
|
-
}
|
279
|
-
return false;
|
280
|
-
}
|
281
|
-
|
282
|
-
bool IntervalSet::isEmpty() const {
|
283
|
-
return _intervals.empty();
|
284
|
-
}
|
285
|
-
|
286
|
-
ssize_t IntervalSet::getSingleElement() const {
|
287
|
-
if (_intervals.size() == 1) {
|
288
|
-
if (_intervals[0].a == _intervals[0].b) {
|
289
|
-
return _intervals[0].a;
|
290
|
-
}
|
291
|
-
}
|
292
|
-
|
293
|
-
return Token::INVALID_TYPE; // XXX: this value is 0, but 0 is a valid interval range, how can that work?
|
294
|
-
}
|
295
|
-
|
296
|
-
ssize_t IntervalSet::getMaxElement() const {
|
297
|
-
if (_intervals.empty()) {
|
298
|
-
return Token::INVALID_TYPE;
|
299
|
-
}
|
300
|
-
|
301
|
-
return _intervals.back().b;
|
302
|
-
}
|
303
|
-
|
304
|
-
ssize_t IntervalSet::getMinElement() const {
|
305
|
-
if (_intervals.empty()) {
|
306
|
-
return Token::INVALID_TYPE;
|
307
|
-
}
|
308
|
-
|
309
|
-
return _intervals[0].a;
|
310
|
-
}
|
311
|
-
|
312
|
-
std::vector<Interval> const& IntervalSet::getIntervals() const {
|
313
|
-
return _intervals;
|
314
|
-
}
|
315
|
-
|
316
|
-
size_t IntervalSet::hashCode() const {
|
317
|
-
size_t hash = MurmurHash::initialize();
|
318
|
-
for (auto &interval : _intervals) {
|
319
|
-
hash = MurmurHash::update(hash, interval.a);
|
320
|
-
hash = MurmurHash::update(hash, interval.b);
|
321
|
-
}
|
322
|
-
|
323
|
-
return MurmurHash::finish(hash, _intervals.size() * 2);
|
324
|
-
}
|
325
|
-
|
326
|
-
bool IntervalSet::operator == (const IntervalSet &other) const {
|
327
|
-
if (_intervals.empty() && other._intervals.empty())
|
328
|
-
return true;
|
329
|
-
|
330
|
-
if (_intervals.size() != other._intervals.size())
|
331
|
-
return false;
|
332
|
-
|
333
|
-
return std::equal(_intervals.begin(), _intervals.end(), other._intervals.begin());
|
334
|
-
}
|
335
|
-
|
336
|
-
std::string IntervalSet::toString() const {
|
337
|
-
return toString(false);
|
338
|
-
}
|
339
|
-
|
340
|
-
std::string IntervalSet::toString(bool elemAreChar) const {
|
341
|
-
if (_intervals.empty()) {
|
342
|
-
return "{}";
|
343
|
-
}
|
344
|
-
|
345
|
-
std::stringstream ss;
|
346
|
-
size_t effectiveSize = size();
|
347
|
-
if (effectiveSize > 1) {
|
348
|
-
ss << "{";
|
349
|
-
}
|
350
|
-
|
351
|
-
bool firstEntry = true;
|
352
|
-
for (auto &interval : _intervals) {
|
353
|
-
if (!firstEntry)
|
354
|
-
ss << ", ";
|
355
|
-
firstEntry = false;
|
356
|
-
|
357
|
-
ssize_t a = interval.a;
|
358
|
-
ssize_t b = interval.b;
|
359
|
-
if (a == b) {
|
360
|
-
if (a == -1) {
|
361
|
-
ss << "<EOF>";
|
362
|
-
} else if (elemAreChar) {
|
363
|
-
ss << "'" << static_cast<char>(a) << "'";
|
364
|
-
} else {
|
365
|
-
ss << a;
|
366
|
-
}
|
367
|
-
} else {
|
368
|
-
if (elemAreChar) {
|
369
|
-
ss << "'" << static_cast<char>(a) << "'..'" << static_cast<char>(b) << "'";
|
370
|
-
} else {
|
371
|
-
ss << a << ".." << b;
|
372
|
-
}
|
373
|
-
}
|
374
|
-
}
|
375
|
-
if (effectiveSize > 1) {
|
376
|
-
ss << "}";
|
377
|
-
}
|
378
|
-
|
379
|
-
return ss.str();
|
380
|
-
}
|
381
|
-
|
382
|
-
std::string IntervalSet::toString(const std::vector<std::string> &tokenNames) const {
|
383
|
-
return toString(dfa::Vocabulary::fromTokenNames(tokenNames));
|
384
|
-
}
|
385
|
-
|
386
|
-
std::string IntervalSet::toString(const dfa::Vocabulary &vocabulary) const {
|
387
|
-
if (_intervals.empty()) {
|
388
|
-
return "{}";
|
389
|
-
}
|
390
|
-
|
391
|
-
std::stringstream ss;
|
392
|
-
size_t effectiveSize = size();
|
393
|
-
if (effectiveSize > 1) {
|
394
|
-
ss << "{";
|
395
|
-
}
|
396
|
-
|
397
|
-
bool firstEntry = true;
|
398
|
-
for (auto &interval : _intervals) {
|
399
|
-
if (!firstEntry)
|
400
|
-
ss << ", ";
|
401
|
-
firstEntry = false;
|
402
|
-
|
403
|
-
ssize_t a = interval.a;
|
404
|
-
ssize_t b = interval.b;
|
405
|
-
if (a == b) {
|
406
|
-
ss << elementName(vocabulary, a);
|
407
|
-
} else {
|
408
|
-
for (ssize_t i = a; i <= b; i++) {
|
409
|
-
if (i > a) {
|
410
|
-
ss << ", ";
|
411
|
-
}
|
412
|
-
ss << elementName(vocabulary, i);
|
413
|
-
}
|
414
|
-
}
|
415
|
-
}
|
416
|
-
if (effectiveSize > 1) {
|
417
|
-
ss << "}";
|
418
|
-
}
|
419
|
-
|
420
|
-
return ss.str();
|
421
|
-
}
|
422
|
-
|
423
|
-
std::string IntervalSet::elementName(const std::vector<std::string> &tokenNames, ssize_t a) const {
|
424
|
-
return elementName(dfa::Vocabulary::fromTokenNames(tokenNames), a);
|
425
|
-
}
|
426
|
-
|
427
|
-
std::string IntervalSet::elementName(const dfa::Vocabulary &vocabulary, ssize_t a) const {
|
428
|
-
if (a == -1) {
|
429
|
-
return "<EOF>";
|
430
|
-
} else if (a == -2) {
|
431
|
-
return "<EPSILON>";
|
432
|
-
} else {
|
433
|
-
return vocabulary.getDisplayName(a);
|
434
|
-
}
|
435
|
-
}
|
436
|
-
|
437
|
-
size_t IntervalSet::size() const {
|
438
|
-
size_t result = 0;
|
439
|
-
for (auto &interval : _intervals) {
|
440
|
-
result += size_t(interval.b - interval.a + 1);
|
441
|
-
}
|
442
|
-
return result;
|
443
|
-
}
|
444
|
-
|
445
|
-
std::vector<ssize_t> IntervalSet::toList() const {
|
446
|
-
std::vector<ssize_t> result;
|
447
|
-
for (auto &interval : _intervals) {
|
448
|
-
ssize_t a = interval.a;
|
449
|
-
ssize_t b = interval.b;
|
450
|
-
for (ssize_t v = a; v <= b; v++) {
|
451
|
-
result.push_back(v);
|
452
|
-
}
|
453
|
-
}
|
454
|
-
return result;
|
455
|
-
}
|
456
|
-
|
457
|
-
std::set<ssize_t> IntervalSet::toSet() const {
|
458
|
-
std::set<ssize_t> result;
|
459
|
-
for (auto &interval : _intervals) {
|
460
|
-
ssize_t a = interval.a;
|
461
|
-
ssize_t b = interval.b;
|
462
|
-
for (ssize_t v = a; v <= b; v++) {
|
463
|
-
result.insert(v);
|
464
|
-
}
|
465
|
-
}
|
466
|
-
return result;
|
467
|
-
}
|
468
|
-
|
469
|
-
ssize_t IntervalSet::get(size_t i) const {
|
470
|
-
size_t index = 0;
|
471
|
-
for (auto &interval : _intervals) {
|
472
|
-
ssize_t a = interval.a;
|
473
|
-
ssize_t b = interval.b;
|
474
|
-
for (ssize_t v = a; v <= b; v++) {
|
475
|
-
if (index == i) {
|
476
|
-
return v;
|
477
|
-
}
|
478
|
-
index++;
|
479
|
-
}
|
480
|
-
}
|
481
|
-
return -1;
|
482
|
-
}
|
483
|
-
|
484
|
-
void IntervalSet::remove(size_t el) {
|
485
|
-
remove(symbolToNumeric(el));
|
486
|
-
}
|
487
|
-
|
488
|
-
void IntervalSet::remove(ssize_t el) {
|
489
|
-
for (size_t i = 0; i < _intervals.size(); ++i) {
|
490
|
-
Interval &interval = _intervals[i];
|
491
|
-
ssize_t a = interval.a;
|
492
|
-
ssize_t b = interval.b;
|
493
|
-
if (el < a) {
|
494
|
-
break; // list is sorted and el is before this interval; not here
|
495
|
-
}
|
496
|
-
|
497
|
-
// if whole interval x..x, rm
|
498
|
-
if (el == a && el == b) {
|
499
|
-
_intervals.erase(_intervals.begin() + (long)i);
|
500
|
-
break;
|
501
|
-
}
|
502
|
-
// if on left edge x..b, adjust left
|
503
|
-
if (el == a) {
|
504
|
-
interval.a++;
|
505
|
-
break;
|
506
|
-
}
|
507
|
-
// if on right edge a..x, adjust right
|
508
|
-
if (el == b) {
|
509
|
-
interval.b--;
|
510
|
-
break;
|
511
|
-
}
|
512
|
-
// if in middle a..x..b, split interval
|
513
|
-
if (el > a && el < b) { // found in this interval
|
514
|
-
ssize_t oldb = interval.b;
|
515
|
-
interval.b = el - 1; // [a..x-1]
|
516
|
-
add(el + 1, oldb); // add [x+1..b]
|
517
|
-
|
518
|
-
break; // ml: not in the Java code but I believe we also should stop searching here, as we found x.
|
519
|
-
}
|
520
|
-
}
|
521
|
-
}
|