expressir 0.2.5-x64-mingw32 → 0.2.7-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 +84 -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/cli/ui.rb +36 -36
- data/lib/expressir/cli.rb +27 -27
- data/lib/expressir/config.rb +23 -23
- 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.rb +11 -11
- 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 +1449 -1449
- data/lib/expressir/express_exp/parser.rb +40 -35
- data/lib/expressir/express_exp/visitor.rb +2463 -2450
- data/lib/expressir/express_parser.rb +30 -30
- data/lib/expressir/model/attribute.rb +26 -26
- data/lib/expressir/model/constant.rb +16 -16
- data/lib/expressir/model/entity.rb +45 -45
- data/lib/expressir/model/enumeration_item.rb +10 -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 +25 -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 +61 -61
- data/lib/expressir/model/identifier.rb +9 -8
- 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/parameter.rb +16 -16
- data/lib/expressir/model/procedure.rb +59 -59
- data/lib/expressir/model/renamed_ref.rb +12 -12
- data/lib/expressir/model/repository.rb +18 -18
- data/lib/expressir/model/rule.rb +61 -61
- data/lib/expressir/model/schema.rb +66 -66
- data/lib/expressir/model/scope.rb +16 -16
- data/lib/expressir/model/statements/alias.rb +25 -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 +33 -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 +26 -26
- data/lib/expressir/model/type.rb +23 -23
- data/lib/expressir/model/types/aggregate.rb +16 -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 +12 -12
- data/lib/expressir/model/types/generic_entity.rb +12 -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 +14 -14
- data/lib/expressir/model/variable.rb +16 -16
- data/lib/expressir/model/where.rb +14 -14
- data/lib/expressir/model.rb +64 -64
- data/lib/expressir/parser/owl_parser.rb +8 -8
- data/lib/expressir/parser.rb +6 -6
- data/lib/expressir/version.rb +3 -3
- data/lib/expressir.rb +21 -21
- 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 +146 -145
- data/original/examples/syntax/remark_formatted.exp +174 -173
- data/original/examples/syntax/syntax.exp +311 -310
- data/original/examples/syntax/syntax_formatted.exp +1190 -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/parse_remark_spec.rb +346 -345
- data/spec/expressir/express_exp/parse_syntax_spec.rb +3003 -2998
- data/spec/expressir/model/find_spec.rb +110 -110
- data/spec/expressr_spec.rb +5 -5
- data/spec/spec_helper.rb +17 -17
- data/spec/support/console_helper.rb +29 -29
- metadata +32 -370
- 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,293 +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
|
-
namespace antlr4 {
|
9
|
-
|
10
|
-
/**
|
11
|
-
* Useful for rewriting out a buffered input token stream after doing some
|
12
|
-
* augmentation or other manipulations on it.
|
13
|
-
*
|
14
|
-
* <p>
|
15
|
-
* You can insert stuff, replace, and delete chunks. Note that the operations
|
16
|
-
* are done lazily--only if you convert the buffer to a {@link String} with
|
17
|
-
* {@link TokenStream#getText()}. This is very efficient because you are not
|
18
|
-
* moving data around all the time. As the buffer of tokens is converted to
|
19
|
-
* strings, the {@link #getText()} method(s) scan the input token stream and
|
20
|
-
* check to see if there is an operation at the current index. If so, the
|
21
|
-
* operation is done and then normal {@link String} rendering continues on the
|
22
|
-
* buffer. This is like having multiple Turing machine instruction streams
|
23
|
-
* (programs) operating on a single input tape. :)</p>
|
24
|
-
*
|
25
|
-
* <p>
|
26
|
-
* This rewriter makes no modifications to the token stream. It does not ask the
|
27
|
-
* stream to fill itself up nor does it advance the input cursor. The token
|
28
|
-
* stream {@link TokenStream#index()} will return the same value before and
|
29
|
-
* after any {@link #getText()} call.</p>
|
30
|
-
*
|
31
|
-
* <p>
|
32
|
-
* The rewriter only works on tokens that you have in the buffer and ignores the
|
33
|
-
* current input cursor. If you are buffering tokens on-demand, calling
|
34
|
-
* {@link #getText()} halfway through the input will only do rewrites for those
|
35
|
-
* tokens in the first half of the file.</p>
|
36
|
-
*
|
37
|
-
* <p>
|
38
|
-
* Since the operations are done lazily at {@link #getText}-time, operations do
|
39
|
-
* not screw up the token index values. That is, an insert operation at token
|
40
|
-
* index {@code i} does not change the index values for tokens
|
41
|
-
* {@code i}+1..n-1.</p>
|
42
|
-
*
|
43
|
-
* <p>
|
44
|
-
* Because operations never actually alter the buffer, you may always get the
|
45
|
-
* original token stream back without undoing anything. Since the instructions
|
46
|
-
* are queued up, you can easily simulate transactions and roll back any changes
|
47
|
-
* if there is an error just by removing instructions. For example,</p>
|
48
|
-
*
|
49
|
-
* <pre>
|
50
|
-
* CharStream input = new ANTLRFileStream("input");
|
51
|
-
* TLexer lex = new TLexer(input);
|
52
|
-
* CommonTokenStream tokens = new CommonTokenStream(lex);
|
53
|
-
* T parser = new T(tokens);
|
54
|
-
* TokenStreamRewriter rewriter = new TokenStreamRewriter(tokens);
|
55
|
-
* parser.startRule();
|
56
|
-
* </pre>
|
57
|
-
*
|
58
|
-
* <p>
|
59
|
-
* Then in the rules, you can execute (assuming rewriter is visible):</p>
|
60
|
-
*
|
61
|
-
* <pre>
|
62
|
-
* Token t,u;
|
63
|
-
* ...
|
64
|
-
* rewriter.insertAfter(t, "text to put after t");}
|
65
|
-
* rewriter.insertAfter(u, "text after u");}
|
66
|
-
* System.out.println(rewriter.getText());
|
67
|
-
* </pre>
|
68
|
-
*
|
69
|
-
* <p>
|
70
|
-
* You can also have multiple "instruction streams" and get multiple rewrites
|
71
|
-
* from a single pass over the input. Just name the instruction streams and use
|
72
|
-
* that name again when printing the buffer. This could be useful for generating
|
73
|
-
* a C file and also its header file--all from the same buffer:</p>
|
74
|
-
*
|
75
|
-
* <pre>
|
76
|
-
* rewriter.insertAfter("pass1", t, "text to put after t");}
|
77
|
-
* rewriter.insertAfter("pass2", u, "text after u");}
|
78
|
-
* System.out.println(rewriter.getText("pass1"));
|
79
|
-
* System.out.println(rewriter.getText("pass2"));
|
80
|
-
* </pre>
|
81
|
-
*
|
82
|
-
* <p>
|
83
|
-
* If you don't use named rewrite streams, a "default" stream is used as the
|
84
|
-
* first example shows.</p>
|
85
|
-
*/
|
86
|
-
class ANTLR4CPP_PUBLIC TokenStreamRewriter {
|
87
|
-
public:
|
88
|
-
static const std::string DEFAULT_PROGRAM_NAME;
|
89
|
-
static const size_t PROGRAM_INIT_SIZE = 100;
|
90
|
-
static const size_t MIN_TOKEN_INDEX = 0;
|
91
|
-
|
92
|
-
TokenStreamRewriter(TokenStream *tokens);
|
93
|
-
virtual ~TokenStreamRewriter();
|
94
|
-
|
95
|
-
TokenStream *getTokenStream();
|
96
|
-
|
97
|
-
virtual void rollback(size_t instructionIndex);
|
98
|
-
|
99
|
-
/// Rollback the instruction stream for a program so that
|
100
|
-
/// the indicated instruction (via instructionIndex) is no
|
101
|
-
/// longer in the stream. UNTESTED!
|
102
|
-
virtual void rollback(const std::string &programName, size_t instructionIndex);
|
103
|
-
|
104
|
-
virtual void deleteProgram();
|
105
|
-
|
106
|
-
/// Reset the program so that no instructions exist.
|
107
|
-
virtual void deleteProgram(const std::string &programName);
|
108
|
-
virtual void insertAfter(Token *t, const std::string& text);
|
109
|
-
virtual void insertAfter(size_t index, const std::string& text);
|
110
|
-
virtual void insertAfter(const std::string &programName, Token *t, const std::string& text);
|
111
|
-
virtual void insertAfter(const std::string &programName, size_t index, const std::string& text);
|
112
|
-
|
113
|
-
virtual void insertBefore(Token *t, const std::string& text);
|
114
|
-
virtual void insertBefore(size_t index, const std::string& text);
|
115
|
-
virtual void insertBefore(const std::string &programName, Token *t, const std::string& text);
|
116
|
-
virtual void insertBefore(const std::string &programName, size_t index, const std::string& text);
|
117
|
-
|
118
|
-
virtual void replace(size_t index, const std::string& text);
|
119
|
-
virtual void replace(size_t from, size_t to, const std::string& text);
|
120
|
-
virtual void replace(Token *indexT, const std::string& text);
|
121
|
-
virtual void replace(Token *from, Token *to, const std::string& text);
|
122
|
-
virtual void replace(const std::string &programName, size_t from, size_t to, const std::string& text);
|
123
|
-
virtual void replace(const std::string &programName, Token *from, Token *to, const std::string& text);
|
124
|
-
|
125
|
-
virtual void Delete(size_t index);
|
126
|
-
virtual void Delete(size_t from, size_t to);
|
127
|
-
virtual void Delete(Token *indexT);
|
128
|
-
virtual void Delete(Token *from, Token *to);
|
129
|
-
virtual void Delete(const std::string &programName, size_t from, size_t to);
|
130
|
-
virtual void Delete(const std::string &programName, Token *from, Token *to);
|
131
|
-
|
132
|
-
virtual size_t getLastRewriteTokenIndex();
|
133
|
-
|
134
|
-
/// Return the text from the original tokens altered per the
|
135
|
-
/// instructions given to this rewriter.
|
136
|
-
virtual std::string getText();
|
137
|
-
|
138
|
-
/** Return the text from the original tokens altered per the
|
139
|
-
* instructions given to this rewriter in programName.
|
140
|
-
*/
|
141
|
-
std::string getText(std::string programName);
|
142
|
-
|
143
|
-
/// Return the text associated with the tokens in the interval from the
|
144
|
-
/// original token stream but with the alterations given to this rewriter.
|
145
|
-
/// The interval refers to the indexes in the original token stream.
|
146
|
-
/// We do not alter the token stream in any way, so the indexes
|
147
|
-
/// and intervals are still consistent. Includes any operations done
|
148
|
-
/// to the first and last token in the interval. So, if you did an
|
149
|
-
/// insertBefore on the first token, you would get that insertion.
|
150
|
-
/// The same is true if you do an insertAfter the stop token.
|
151
|
-
virtual std::string getText(const misc::Interval &interval);
|
152
|
-
|
153
|
-
virtual std::string getText(const std::string &programName, const misc::Interval &interval);
|
154
|
-
|
155
|
-
protected:
|
156
|
-
class RewriteOperation {
|
157
|
-
public:
|
158
|
-
/// What index into rewrites List are we?
|
159
|
-
size_t index;
|
160
|
-
std::string text;
|
161
|
-
|
162
|
-
/// Token buffer index.
|
163
|
-
size_t instructionIndex;
|
164
|
-
|
165
|
-
RewriteOperation(TokenStreamRewriter *outerInstance, size_t index);
|
166
|
-
RewriteOperation(TokenStreamRewriter *outerInstance, size_t index, const std::string& text);
|
167
|
-
virtual ~RewriteOperation();
|
168
|
-
|
169
|
-
/// Execute the rewrite operation by possibly adding to the buffer.
|
170
|
-
/// Return the index of the next token to operate on.
|
171
|
-
|
172
|
-
virtual size_t execute(std::string *buf);
|
173
|
-
virtual std::string toString();
|
174
|
-
|
175
|
-
private:
|
176
|
-
TokenStreamRewriter *const outerInstance;
|
177
|
-
void InitializeInstanceFields();
|
178
|
-
};
|
179
|
-
|
180
|
-
class InsertBeforeOp : public RewriteOperation {
|
181
|
-
private:
|
182
|
-
TokenStreamRewriter *const outerInstance;
|
183
|
-
|
184
|
-
public:
|
185
|
-
InsertBeforeOp(TokenStreamRewriter *outerInstance, size_t index, const std::string& text);
|
186
|
-
|
187
|
-
virtual size_t execute(std::string *buf) override;
|
188
|
-
};
|
189
|
-
|
190
|
-
class ReplaceOp : public RewriteOperation {
|
191
|
-
private:
|
192
|
-
TokenStreamRewriter *const outerInstance;
|
193
|
-
|
194
|
-
public:
|
195
|
-
size_t lastIndex;
|
196
|
-
|
197
|
-
ReplaceOp(TokenStreamRewriter *outerInstance, size_t from, size_t to, const std::string& text);
|
198
|
-
virtual size_t execute(std::string *buf) override;
|
199
|
-
virtual std::string toString() override;
|
200
|
-
|
201
|
-
private:
|
202
|
-
void InitializeInstanceFields();
|
203
|
-
};
|
204
|
-
|
205
|
-
/// Our source stream
|
206
|
-
TokenStream *const tokens;
|
207
|
-
|
208
|
-
/// You may have multiple, named streams of rewrite operations.
|
209
|
-
/// I'm calling these things "programs."
|
210
|
-
/// Maps String (name) -> rewrite (List)
|
211
|
-
std::map<std::string, std::vector<RewriteOperation*>> _programs;
|
212
|
-
|
213
|
-
/// <summary>
|
214
|
-
/// Map String (program name) -> Integer index </summary>
|
215
|
-
std::map<std::string, size_t> _lastRewriteTokenIndexes;
|
216
|
-
virtual size_t getLastRewriteTokenIndex(const std::string &programName);
|
217
|
-
virtual void setLastRewriteTokenIndex(const std::string &programName, size_t i);
|
218
|
-
virtual std::vector<RewriteOperation*>& getProgram(const std::string &name);
|
219
|
-
|
220
|
-
/// <summary>
|
221
|
-
/// We need to combine operations and report invalid operations (like
|
222
|
-
/// overlapping replaces that are not completed nested). Inserts to
|
223
|
-
/// same index need to be combined etc... Here are the cases:
|
224
|
-
///
|
225
|
-
/// I.i.u I.j.v leave alone, nonoverlapping
|
226
|
-
/// I.i.u I.i.v combine: Iivu
|
227
|
-
///
|
228
|
-
/// R.i-j.u R.x-y.v | i-j in x-y delete first R
|
229
|
-
/// R.i-j.u R.i-j.v delete first R
|
230
|
-
/// R.i-j.u R.x-y.v | x-y in i-j ERROR
|
231
|
-
/// R.i-j.u R.x-y.v | boundaries overlap ERROR
|
232
|
-
///
|
233
|
-
/// Delete special case of replace (text==null):
|
234
|
-
/// D.i-j.u D.x-y.v | boundaries overlap combine to max(min)..max(right)
|
235
|
-
///
|
236
|
-
/// I.i.u R.x-y.v | i in (x+1)-y delete I (since insert before
|
237
|
-
/// we're not deleting i)
|
238
|
-
/// I.i.u R.x-y.v | i not in (x+1)-y leave alone, nonoverlapping
|
239
|
-
/// R.x-y.v I.i.u | i in x-y ERROR
|
240
|
-
/// R.x-y.v I.x.u R.x-y.uv (combine, delete I)
|
241
|
-
/// R.x-y.v I.i.u | i not in x-y leave alone, nonoverlapping
|
242
|
-
///
|
243
|
-
/// I.i.u = insert u before op @ index i
|
244
|
-
/// R.x-y.u = replace x-y indexed tokens with u
|
245
|
-
///
|
246
|
-
/// First we need to examine replaces. For any replace op:
|
247
|
-
///
|
248
|
-
/// 1. wipe out any insertions before op within that range.
|
249
|
-
/// 2. Drop any replace op before that is contained completely within
|
250
|
-
/// that range.
|
251
|
-
/// 3. Throw exception upon boundary overlap with any previous replace.
|
252
|
-
///
|
253
|
-
/// Then we can deal with inserts:
|
254
|
-
///
|
255
|
-
/// 1. for any inserts to same index, combine even if not adjacent.
|
256
|
-
/// 2. for any prior replace with same left boundary, combine this
|
257
|
-
/// insert with replace and delete this replace.
|
258
|
-
/// 3. throw exception if index in same range as previous replace
|
259
|
-
///
|
260
|
-
/// Don't actually delete; make op null in list. Easier to walk list.
|
261
|
-
/// Later we can throw as we add to index -> op map.
|
262
|
-
///
|
263
|
-
/// Note that I.2 R.2-2 will wipe out I.2 even though, technically, the
|
264
|
-
/// inserted stuff would be before the replace range. But, if you
|
265
|
-
/// add tokens in front of a method body '{' and then delete the method
|
266
|
-
/// body, I think the stuff before the '{' you added should disappear too.
|
267
|
-
///
|
268
|
-
/// Return a map from token index to operation.
|
269
|
-
/// </summary>
|
270
|
-
virtual std::unordered_map<size_t, RewriteOperation*> reduceToSingleOperationPerIndex(std::vector<RewriteOperation*> &rewrites);
|
271
|
-
|
272
|
-
virtual std::string catOpText(std::string *a, std::string *b);
|
273
|
-
|
274
|
-
/// Get all operations before an index of a particular kind.
|
275
|
-
template <typename T>
|
276
|
-
std::vector<T *> getKindOfOps(std::vector<RewriteOperation *> rewrites, size_t before) {
|
277
|
-
std::vector<T *> ops;
|
278
|
-
for (size_t i = 0; i < before && i < rewrites.size(); i++) {
|
279
|
-
T *op = dynamic_cast<T *>(rewrites[i]);
|
280
|
-
if (op == nullptr) { // ignore deleted or non matching entries
|
281
|
-
continue;
|
282
|
-
}
|
283
|
-
ops.push_back(op);
|
284
|
-
}
|
285
|
-
return ops;
|
286
|
-
}
|
287
|
-
|
288
|
-
private:
|
289
|
-
std::vector<RewriteOperation *>& initializeProgram(const std::string &name);
|
290
|
-
|
291
|
-
};
|
292
|
-
|
293
|
-
} // namespace antlr4
|
@@ -1,211 +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
|
-
#include "Exceptions.h"
|
8
|
-
#include "support/StringUtils.h"
|
9
|
-
|
10
|
-
#include "UnbufferedCharStream.h"
|
11
|
-
|
12
|
-
using namespace antlrcpp;
|
13
|
-
using namespace antlr4;
|
14
|
-
using namespace antlr4::misc;
|
15
|
-
|
16
|
-
UnbufferedCharStream::UnbufferedCharStream(std::wistream &input) : _input(input) {
|
17
|
-
InitializeInstanceFields();
|
18
|
-
|
19
|
-
// The vector's size is what used to be n in Java code.
|
20
|
-
fill(1); // prime
|
21
|
-
}
|
22
|
-
|
23
|
-
void UnbufferedCharStream::consume() {
|
24
|
-
if (LA(1) == EOF) {
|
25
|
-
throw IllegalStateException("cannot consume EOF");
|
26
|
-
}
|
27
|
-
|
28
|
-
// buf always has at least data[p==0] in this method due to ctor
|
29
|
-
_lastChar = _data[_p]; // track last char for LA(-1)
|
30
|
-
|
31
|
-
if (_p == _data.size() - 1 && _numMarkers == 0) {
|
32
|
-
size_t capacity = _data.capacity();
|
33
|
-
_data.clear();
|
34
|
-
_data.reserve(capacity);
|
35
|
-
|
36
|
-
_p = 0;
|
37
|
-
_lastCharBufferStart = _lastChar;
|
38
|
-
} else {
|
39
|
-
_p++;
|
40
|
-
}
|
41
|
-
|
42
|
-
_currentCharIndex++;
|
43
|
-
sync(1);
|
44
|
-
}
|
45
|
-
|
46
|
-
void UnbufferedCharStream::sync(size_t want) {
|
47
|
-
if (_p + want <= _data.size()) // Already enough data loaded?
|
48
|
-
return;
|
49
|
-
|
50
|
-
fill(_p + want - _data.size());
|
51
|
-
}
|
52
|
-
|
53
|
-
size_t UnbufferedCharStream::fill(size_t n) {
|
54
|
-
for (size_t i = 0; i < n; i++) {
|
55
|
-
if (_data.size() > 0 && _data.back() == 0xFFFF) {
|
56
|
-
return i;
|
57
|
-
}
|
58
|
-
|
59
|
-
try {
|
60
|
-
char32_t c = nextChar();
|
61
|
-
add(c);
|
62
|
-
#if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 190023026
|
63
|
-
} catch (IOException &ioe) {
|
64
|
-
// throw_with_nested is not available before VS 2015.
|
65
|
-
throw ioe;
|
66
|
-
#else
|
67
|
-
} catch (IOException & /*ioe*/) {
|
68
|
-
std::throw_with_nested(RuntimeException());
|
69
|
-
#endif
|
70
|
-
}
|
71
|
-
}
|
72
|
-
|
73
|
-
return n;
|
74
|
-
}
|
75
|
-
|
76
|
-
char32_t UnbufferedCharStream::nextChar() {
|
77
|
-
wchar_t result = 0;
|
78
|
-
_input >> result;
|
79
|
-
return result;
|
80
|
-
}
|
81
|
-
|
82
|
-
void UnbufferedCharStream::add(char32_t c) {
|
83
|
-
_data += c;
|
84
|
-
}
|
85
|
-
|
86
|
-
size_t UnbufferedCharStream::LA(ssize_t i) {
|
87
|
-
if (i == -1) { // special case
|
88
|
-
return _lastChar;
|
89
|
-
}
|
90
|
-
|
91
|
-
// We can look back only as many chars as we have buffered.
|
92
|
-
ssize_t index = static_cast<ssize_t>(_p) + i - 1;
|
93
|
-
if (index < 0) {
|
94
|
-
throw IndexOutOfBoundsException();
|
95
|
-
}
|
96
|
-
|
97
|
-
if (i > 0) {
|
98
|
-
sync(static_cast<size_t>(i)); // No need to sync if we look back.
|
99
|
-
}
|
100
|
-
if (static_cast<size_t>(index) >= _data.size()) {
|
101
|
-
return EOF;
|
102
|
-
}
|
103
|
-
|
104
|
-
if (_data[static_cast<size_t>(index)] == 0xFFFF) {
|
105
|
-
return EOF;
|
106
|
-
}
|
107
|
-
|
108
|
-
return _data[static_cast<size_t>(index)];
|
109
|
-
}
|
110
|
-
|
111
|
-
ssize_t UnbufferedCharStream::mark() {
|
112
|
-
if (_numMarkers == 0) {
|
113
|
-
_lastCharBufferStart = _lastChar;
|
114
|
-
}
|
115
|
-
|
116
|
-
ssize_t mark = -static_cast<ssize_t>(_numMarkers) - 1;
|
117
|
-
_numMarkers++;
|
118
|
-
return mark;
|
119
|
-
}
|
120
|
-
|
121
|
-
void UnbufferedCharStream::release(ssize_t marker) {
|
122
|
-
ssize_t expectedMark = -static_cast<ssize_t>(_numMarkers);
|
123
|
-
if (marker != expectedMark) {
|
124
|
-
throw IllegalStateException("release() called with an invalid marker.");
|
125
|
-
}
|
126
|
-
|
127
|
-
_numMarkers--;
|
128
|
-
if (_numMarkers == 0 && _p > 0) {
|
129
|
-
_data.erase(0, _p);
|
130
|
-
_p = 0;
|
131
|
-
_lastCharBufferStart = _lastChar;
|
132
|
-
}
|
133
|
-
}
|
134
|
-
|
135
|
-
size_t UnbufferedCharStream::index() {
|
136
|
-
return _currentCharIndex;
|
137
|
-
}
|
138
|
-
|
139
|
-
void UnbufferedCharStream::seek(size_t index) {
|
140
|
-
if (index == _currentCharIndex) {
|
141
|
-
return;
|
142
|
-
}
|
143
|
-
|
144
|
-
if (index > _currentCharIndex) {
|
145
|
-
sync(index - _currentCharIndex);
|
146
|
-
index = std::min(index, getBufferStartIndex() + _data.size() - 1);
|
147
|
-
}
|
148
|
-
|
149
|
-
// index == to bufferStartIndex should set p to 0
|
150
|
-
ssize_t i = static_cast<ssize_t>(index) - static_cast<ssize_t>(getBufferStartIndex());
|
151
|
-
if (i < 0) {
|
152
|
-
throw IllegalArgumentException(std::string("cannot seek to negative index ") + std::to_string(index));
|
153
|
-
} else if (i >= static_cast<ssize_t>(_data.size())) {
|
154
|
-
throw UnsupportedOperationException("Seek to index outside buffer: " + std::to_string(index) +
|
155
|
-
" not in " + std::to_string(getBufferStartIndex()) + ".." +
|
156
|
-
std::to_string(getBufferStartIndex() + _data.size()));
|
157
|
-
}
|
158
|
-
|
159
|
-
_p = static_cast<size_t>(i);
|
160
|
-
_currentCharIndex = index;
|
161
|
-
if (_p == 0) {
|
162
|
-
_lastChar = _lastCharBufferStart;
|
163
|
-
} else {
|
164
|
-
_lastChar = _data[_p - 1];
|
165
|
-
}
|
166
|
-
}
|
167
|
-
|
168
|
-
size_t UnbufferedCharStream::size() {
|
169
|
-
throw UnsupportedOperationException("Unbuffered stream cannot know its size");
|
170
|
-
}
|
171
|
-
|
172
|
-
std::string UnbufferedCharStream::getSourceName() const {
|
173
|
-
if (name.empty()) {
|
174
|
-
return UNKNOWN_SOURCE_NAME;
|
175
|
-
}
|
176
|
-
|
177
|
-
return name;
|
178
|
-
}
|
179
|
-
|
180
|
-
std::string UnbufferedCharStream::getText(const misc::Interval &interval) {
|
181
|
-
if (interval.a < 0 || interval.b >= interval.a - 1) {
|
182
|
-
throw IllegalArgumentException("invalid interval");
|
183
|
-
}
|
184
|
-
|
185
|
-
size_t bufferStartIndex = getBufferStartIndex();
|
186
|
-
if (!_data.empty() && _data.back() == 0xFFFF) {
|
187
|
-
if (interval.a + interval.length() > bufferStartIndex + _data.size()) {
|
188
|
-
throw IllegalArgumentException("the interval extends past the end of the stream");
|
189
|
-
}
|
190
|
-
}
|
191
|
-
|
192
|
-
if (interval.a < static_cast<ssize_t>(bufferStartIndex) || interval.b >= ssize_t(bufferStartIndex + _data.size())) {
|
193
|
-
throw UnsupportedOperationException("interval " + interval.toString() + " outside buffer: " +
|
194
|
-
std::to_string(bufferStartIndex) + ".." + std::to_string(bufferStartIndex + _data.size() - 1));
|
195
|
-
}
|
196
|
-
// convert from absolute to local index
|
197
|
-
size_t i = interval.a - bufferStartIndex;
|
198
|
-
return utf32_to_utf8(_data.substr(i, interval.length()));
|
199
|
-
}
|
200
|
-
|
201
|
-
size_t UnbufferedCharStream::getBufferStartIndex() const {
|
202
|
-
return _currentCharIndex - _p;
|
203
|
-
}
|
204
|
-
|
205
|
-
void UnbufferedCharStream::InitializeInstanceFields() {
|
206
|
-
_p = 0;
|
207
|
-
_numMarkers = 0;
|
208
|
-
_lastChar = 0;
|
209
|
-
_lastCharBufferStart = 0;
|
210
|
-
_currentCharIndex = 0;
|
211
|
-
}
|
@@ -1,123 +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 "CharStream.h"
|
9
|
-
|
10
|
-
namespace antlr4 {
|
11
|
-
|
12
|
-
/// Do not buffer up the entire char stream. It does keep a small buffer
|
13
|
-
/// for efficiency and also buffers while a mark exists (set by the
|
14
|
-
/// lookahead prediction in parser). "Unbuffered" here refers to fact
|
15
|
-
/// that it doesn't buffer all data, not that's it's on demand loading of char.
|
16
|
-
class ANTLR4CPP_PUBLIC UnbufferedCharStream : public CharStream {
|
17
|
-
public:
|
18
|
-
/// The name or source of this char stream.
|
19
|
-
std::string name;
|
20
|
-
|
21
|
-
UnbufferedCharStream(std::wistream &input);
|
22
|
-
|
23
|
-
virtual void consume() override;
|
24
|
-
virtual size_t LA(ssize_t i) override;
|
25
|
-
|
26
|
-
/// <summary>
|
27
|
-
/// Return a marker that we can release later.
|
28
|
-
/// <p/>
|
29
|
-
/// The specific marker value used for this class allows for some level of
|
30
|
-
/// protection against misuse where {@code seek()} is called on a mark or
|
31
|
-
/// {@code release()} is called in the wrong order.
|
32
|
-
/// </summary>
|
33
|
-
virtual ssize_t mark() override;
|
34
|
-
|
35
|
-
/// <summary>
|
36
|
-
/// Decrement number of markers, resetting buffer if we hit 0. </summary>
|
37
|
-
/// <param name="marker"> </param>
|
38
|
-
virtual void release(ssize_t marker) override;
|
39
|
-
virtual size_t index() override;
|
40
|
-
|
41
|
-
/// <summary>
|
42
|
-
/// Seek to absolute character index, which might not be in the current
|
43
|
-
/// sliding window. Move {@code p} to {@code index-bufferStartIndex}.
|
44
|
-
/// </summary>
|
45
|
-
virtual void seek(size_t index) override;
|
46
|
-
virtual size_t size() override;
|
47
|
-
virtual std::string getSourceName() const override;
|
48
|
-
virtual std::string getText(const misc::Interval &interval) override;
|
49
|
-
|
50
|
-
protected:
|
51
|
-
/// A moving window buffer of the data being scanned. While there's a marker,
|
52
|
-
/// we keep adding to buffer. Otherwise, <seealso cref="#consume consume()"/> resets so
|
53
|
-
/// we start filling at index 0 again.
|
54
|
-
// UTF-32 encoded.
|
55
|
-
#if defined(_MSC_VER) && _MSC_VER == 1900
|
56
|
-
i32string _data; // Custom type for VS 2015.
|
57
|
-
typedef __int32 storage_type;
|
58
|
-
#else
|
59
|
-
std::u32string _data;
|
60
|
-
typedef char32_t storage_type;
|
61
|
-
#endif
|
62
|
-
|
63
|
-
/// <summary>
|
64
|
-
/// 0..n-1 index into <seealso cref="#data data"/> of next character.
|
65
|
-
/// <p/>
|
66
|
-
/// The {@code LA(1)} character is {@code data[p]}. If {@code p == n}, we are
|
67
|
-
/// out of buffered characters.
|
68
|
-
/// </summary>
|
69
|
-
size_t _p;
|
70
|
-
|
71
|
-
/// <summary>
|
72
|
-
/// Count up with <seealso cref="#mark mark()"/> and down with
|
73
|
-
/// <seealso cref="#release release()"/>. When we {@code release()} the last mark,
|
74
|
-
/// {@code numMarkers} reaches 0 and we reset the buffer. Copy
|
75
|
-
/// {@code data[p]..data[n-1]} to {@code data[0]..data[(n-1)-p]}.
|
76
|
-
/// </summary>
|
77
|
-
size_t _numMarkers;
|
78
|
-
|
79
|
-
/// This is the {@code LA(-1)} character for the current position.
|
80
|
-
size_t _lastChar; // UTF-32
|
81
|
-
|
82
|
-
/// <summary>
|
83
|
-
/// When {@code numMarkers > 0}, this is the {@code LA(-1)} character for the
|
84
|
-
/// first character in <seealso cref="#data data"/>. Otherwise, this is unspecified.
|
85
|
-
/// </summary>
|
86
|
-
size_t _lastCharBufferStart; // UTF-32
|
87
|
-
|
88
|
-
/// <summary>
|
89
|
-
/// Absolute character index. It's the index of the character about to be
|
90
|
-
/// read via {@code LA(1)}. Goes from 0 to the number of characters in the
|
91
|
-
/// entire stream, although the stream size is unknown before the end is
|
92
|
-
/// reached.
|
93
|
-
/// </summary>
|
94
|
-
size_t _currentCharIndex;
|
95
|
-
|
96
|
-
std::wistream &_input;
|
97
|
-
|
98
|
-
/// <summary>
|
99
|
-
/// Make sure we have 'want' elements from current position <seealso cref="#p p"/>.
|
100
|
-
/// Last valid {@code p} index is {@code data.length-1}. {@code p+need-1} is
|
101
|
-
/// the char index 'need' elements ahead. If we need 1 element,
|
102
|
-
/// {@code (p+1-1)==p} must be less than {@code data.length}.
|
103
|
-
/// </summary>
|
104
|
-
virtual void sync(size_t want);
|
105
|
-
|
106
|
-
/// <summary>
|
107
|
-
/// Add {@code n} characters to the buffer. Returns the number of characters
|
108
|
-
/// actually added to the buffer. If the return value is less than {@code n},
|
109
|
-
/// then EOF was reached before {@code n} characters could be added.
|
110
|
-
/// </summary>
|
111
|
-
virtual size_t fill(size_t n);
|
112
|
-
|
113
|
-
/// Override to provide different source of characters than
|
114
|
-
/// <seealso cref="#input input"/>.
|
115
|
-
virtual char32_t nextChar();
|
116
|
-
virtual void add(char32_t c);
|
117
|
-
size_t getBufferStartIndex() const;
|
118
|
-
|
119
|
-
private:
|
120
|
-
void InitializeInstanceFields();
|
121
|
-
};
|
122
|
-
|
123
|
-
} // namespace antlr4
|