antlr4ruby 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/.standard.yml +3 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +12 -0
- data/Gemfile.lock +65 -0
- data/LICENSE +21 -0
- data/LICENSE.txt +21 -0
- data/README.md +39 -0
- data/Rakefile +10 -0
- data/lib/antlr4ruby/atn/action/lexer_action_executor.rb +75 -0
- data/lib/antlr4ruby/atn/action/lexer_action_type.rb +6 -0
- data/lib/antlr4ruby/atn/action/lexer_channel_action.rb +41 -0
- data/lib/antlr4ruby/atn/action/lexer_custom_action.rb +43 -0
- data/lib/antlr4ruby/atn/action/lexer_indexed_custom_action.rb +43 -0
- data/lib/antlr4ruby/atn/action/lexer_mode_action.rb +45 -0
- data/lib/antlr4ruby/atn/action/lexer_more_action.rb +34 -0
- data/lib/antlr4ruby/atn/action/lexer_pop_mode_action.rb +32 -0
- data/lib/antlr4ruby/atn/action/lexer_push_mode_action.rb +43 -0
- data/lib/antlr4ruby/atn/action/lexer_skip_action.rb +33 -0
- data/lib/antlr4ruby/atn/action/lexer_type_action.rb +42 -0
- data/lib/antlr4ruby/atn/atn.rb +43 -0
- data/lib/antlr4ruby/atn/atn_deserialization_options.rb +49 -0
- data/lib/antlr4ruby/atn/atn_deserializer.rb +429 -0
- data/lib/antlr4ruby/atn/atn_serializer.rb +4 -0
- data/lib/antlr4ruby/atn/atn_simulator.rb +36 -0
- data/lib/antlr4ruby/atn/atn_type.rb +6 -0
- data/lib/antlr4ruby/atn/config/atn_config.rb +46 -0
- data/lib/antlr4ruby/atn/config/atn_config_set.rb +5 -0
- data/lib/antlr4ruby/atn/config/lexer_atn_config.rb +47 -0
- data/lib/antlr4ruby/atn/config/ordered_atn_config_set.rb +4 -0
- data/lib/antlr4ruby/atn/context/array_prediction_context.rb +29 -0
- data/lib/antlr4ruby/atn/context/empty_prediction_context.rb +36 -0
- data/lib/antlr4ruby/atn/context/prediction_context.rb +111 -0
- data/lib/antlr4ruby/atn/context/prediction_context_cache.rb +17 -0
- data/lib/antlr4ruby/atn/context/semantic_context.rb +74 -0
- data/lib/antlr4ruby/atn/context/singleton_prediction_context.rb +36 -0
- data/lib/antlr4ruby/atn/info/accept_state_info.rb +26 -0
- data/lib/antlr4ruby/atn/info/ambiguity_info.rb +13 -0
- data/lib/antlr4ruby/atn/info/conflict_info.rb +39 -0
- data/lib/antlr4ruby/atn/info/context_sensitivity_info.rb +10 -0
- data/lib/antlr4ruby/atn/info/decision_event_info.rb +14 -0
- data/lib/antlr4ruby/atn/info/decision_info.rb +25 -0
- data/lib/antlr4ruby/atn/info/error_info.rb +9 -0
- data/lib/antlr4ruby/atn/info/lookahead_event_info.rb +12 -0
- data/lib/antlr4ruby/atn/info/parse_info.rb +18 -0
- data/lib/antlr4ruby/atn/info/predicate_eval_info.rb +5 -0
- data/lib/antlr4ruby/atn/lexer_atn_simulator.rb +150 -0
- data/lib/antlr4ruby/atn/ll1_analyzer.rb +4 -0
- data/lib/antlr4ruby/atn/parser_atn_simulator.rb +4 -0
- data/lib/antlr4ruby/atn/prediction_mode.rb +5 -0
- data/lib/antlr4ruby/atn/profiling_atn_simulator.rb +5 -0
- data/lib/antlr4ruby/atn/state/atn_state.rb +109 -0
- data/lib/antlr4ruby/atn/state/basic_block_start_state.rb +12 -0
- data/lib/antlr4ruby/atn/state/basic_state.rb +13 -0
- data/lib/antlr4ruby/atn/state/block_end_state.rb +13 -0
- data/lib/antlr4ruby/atn/state/block_start_state.rb +14 -0
- data/lib/antlr4ruby/atn/state/decision_state.rb +17 -0
- data/lib/antlr4ruby/atn/state/invalid_state.rb +12 -0
- data/lib/antlr4ruby/atn/state/loop_end_state.rb +14 -0
- data/lib/antlr4ruby/atn/state/plus_block_start_state.rb +11 -0
- data/lib/antlr4ruby/atn/state/plus_loopback_state.rb +10 -0
- data/lib/antlr4ruby/atn/state/rule_start_state.rb +10 -0
- data/lib/antlr4ruby/atn/state/rule_stop_state.rb +9 -0
- data/lib/antlr4ruby/atn/state/simulator_state.rb +17 -0
- data/lib/antlr4ruby/atn/state/star_block_start_state.rb +8 -0
- data/lib/antlr4ruby/atn/state/star_loop_entry_state.rb +15 -0
- data/lib/antlr4ruby/atn/state/star_loopback_state.rb +10 -0
- data/lib/antlr4ruby/atn/state/tokens_start_state.rb +10 -0
- data/lib/antlr4ruby/atn/transition/abstract_predicate_transition.rb +11 -0
- data/lib/antlr4ruby/atn/transition/action_transition.rb +36 -0
- data/lib/antlr4ruby/atn/transition/atom_transition.rb +29 -0
- data/lib/antlr4ruby/atn/transition/code_point_transitions.rb +7 -0
- data/lib/antlr4ruby/atn/transition/epsilon_transition.rb +35 -0
- data/lib/antlr4ruby/atn/transition/not_set_transition.rb +23 -0
- data/lib/antlr4ruby/atn/transition/precedence_predicate_transition.rb +34 -0
- data/lib/antlr4ruby/atn/transition/predicate_transition.rb +29 -0
- data/lib/antlr4ruby/atn/transition/range_transition.rb +30 -0
- data/lib/antlr4ruby/atn/transition/rule_transition.rb +29 -0
- data/lib/antlr4ruby/atn/transition/set_transition.rb +31 -0
- data/lib/antlr4ruby/atn/transition/transition.rb +63 -0
- data/lib/antlr4ruby/atn/transition/wildcard_transition.rb +21 -0
- data/lib/antlr4ruby/bail_error_strategy.rb +28 -0
- data/lib/antlr4ruby/base_error_listener.rb +14 -0
- data/lib/antlr4ruby/buffered_token_stream.rb +115 -0
- data/lib/antlr4ruby/char_streams.rb +34 -0
- data/lib/antlr4ruby/code_point_buffer.rb +31 -0
- data/lib/antlr4ruby/code_point_char_stream.rb +88 -0
- data/lib/antlr4ruby/common_token.rb +113 -0
- data/lib/antlr4ruby/common_token_factory.rb +39 -0
- data/lib/antlr4ruby/common_token_stream.rb +62 -0
- data/lib/antlr4ruby/console_error_listener.rb +10 -0
- data/lib/antlr4ruby/default_error_strategy.rb +108 -0
- data/lib/antlr4ruby/dfa/dfa.rb +67 -0
- data/lib/antlr4ruby/dfa/dfa_serializer.rb +28 -0
- data/lib/antlr4ruby/dfa/dfa_state.rb +80 -0
- data/lib/antlr4ruby/dfa/lexer_dfa_serializer.rb +12 -0
- data/lib/antlr4ruby/diagnostic_error_listener.rb +18 -0
- data/lib/antlr4ruby/exception/failed_predicate_exception.rb +27 -0
- data/lib/antlr4ruby/exception/input_mismatch_exception.rb +16 -0
- data/lib/antlr4ruby/exception/lexer_no_viable_alt_exception.rb +36 -0
- data/lib/antlr4ruby/exception/no_viable_alt_exception.rb +29 -0
- data/lib/antlr4ruby/exception/parse_cancellation_exception.rb +10 -0
- data/lib/antlr4ruby/exception/recognition_exception.rb +55 -0
- data/lib/antlr4ruby/int_stream.rb +11 -0
- data/lib/antlr4ruby/interpreter_rule_context.rb +19 -0
- data/lib/antlr4ruby/lexer.rb +180 -0
- data/lib/antlr4ruby/lexer_interpreter.rb +5 -0
- data/lib/antlr4ruby/list_token_source.rb +6 -0
- data/lib/antlr4ruby/misc/bit_set.rb +9 -0
- data/lib/antlr4ruby/misc/double_key_map.rb +28 -0
- data/lib/antlr4ruby/misc/integer_stack.rb +9 -0
- data/lib/antlr4ruby/misc/murmur_hash.rb +75 -0
- data/lib/antlr4ruby/misc/pair.rb +18 -0
- data/lib/antlr4ruby/misc/range_set.rb +223 -0
- data/lib/antlr4ruby/parser.rb +225 -0
- data/lib/antlr4ruby/parser_interpreter.rb +25 -0
- data/lib/antlr4ruby/parser_rule_context.rb +161 -0
- data/lib/antlr4ruby/proxy_error_listener.rb +33 -0
- data/lib/antlr4ruby/recognizer.rb +133 -0
- data/lib/antlr4ruby/rule_context.rb +109 -0
- data/lib/antlr4ruby/rule_context_with_alt_num.rb +22 -0
- data/lib/antlr4ruby/runtime_meta_data.rb +40 -0
- data/lib/antlr4ruby/token.rb +10 -0
- data/lib/antlr4ruby/token_stream_rewriter.rb +5 -0
- data/lib/antlr4ruby/tree/abstract_parse_tree_visitor.rb +56 -0
- data/lib/antlr4ruby/tree/error_node.rb +15 -0
- data/lib/antlr4ruby/tree/iterative_parse_tree_walker.rb +10 -0
- data/lib/antlr4ruby/tree/parse_tree_property.rb +6 -0
- data/lib/antlr4ruby/tree/parse_tree_walker.rb +38 -0
- data/lib/antlr4ruby/tree/terminal_node.rb +79 -0
- data/lib/antlr4ruby/tree/trees.rb +161 -0
- data/lib/antlr4ruby/unbuffered_char_stream.rb +7 -0
- data/lib/antlr4ruby/unbuffered_token_stream.rb +8 -0
- data/lib/antlr4ruby/version.rb +5 -0
- data/lib/antlr4ruby/vocabulary.rb +73 -0
- data/lib/antlr4ruby.rb +8 -0
- data/lib/example/Hello.g4 +9 -0
- data/lib/example/hello_lexer.rb +80 -0
- data/lib/example/hello_lexer.rbs +37 -0
- data/lib/main.rb +14 -0
- data/sig/antlr4ruby/antlr_error_listener.rbs +23 -0
- data/sig/antlr4ruby/antlr_error_strategy.rbs +13 -0
- data/sig/antlr4ruby/atn/action/lexer_action.rbs +10 -0
- data/sig/antlr4ruby/atn/action/lexer_action_executor.rbs +22 -0
- data/sig/antlr4ruby/atn/action/lexer_action_type.rbs +6 -0
- data/sig/antlr4ruby/atn/action/lexer_channel_action.rbs +15 -0
- data/sig/antlr4ruby/atn/action/lexer_custom_action.rbs +17 -0
- data/sig/antlr4ruby/atn/action/lexer_indexed_custom_action.rbs +19 -0
- data/sig/antlr4ruby/atn/action/lexer_mode_action.rbs +16 -0
- data/sig/antlr4ruby/atn/action/lexer_more_action.rbs +9 -0
- data/sig/antlr4ruby/atn/action/lexer_pop_mode_action.rbs +10 -0
- data/sig/antlr4ruby/atn/action/lexer_push_mode_action.rbs +16 -0
- data/sig/antlr4ruby/atn/action/lexer_skip_action.rbs +10 -0
- data/sig/antlr4ruby/atn/action/lexer_type_action.rbs +12 -0
- data/sig/antlr4ruby/atn/atn.rbs +32 -0
- data/sig/antlr4ruby/atn/atn_deserialization_options.rbs +27 -0
- data/sig/antlr4ruby/atn/atn_deserializer.rbs +26 -0
- data/sig/antlr4ruby/atn/atn_serializer.rbs +5 -0
- data/sig/antlr4ruby/atn/atn_simulator.rbs +19 -0
- data/sig/antlr4ruby/atn/atn_type.rbs +7 -0
- data/sig/antlr4ruby/atn/config/atn_config.rbs +21 -0
- data/sig/antlr4ruby/atn/config/atn_config_set.rbs +5 -0
- data/sig/antlr4ruby/atn/config/lexer_atn_config.rbs +19 -0
- data/sig/antlr4ruby/atn/config/ordered_atn_config_set.rbs +5 -0
- data/sig/antlr4ruby/atn/context/array_prediction_context.rbs +11 -0
- data/sig/antlr4ruby/atn/context/empty_prediction_context.rbs +6 -0
- data/sig/antlr4ruby/atn/context/prediction_context.rbs +52 -0
- data/sig/antlr4ruby/atn/context/prediction_context_cache.rbs +12 -0
- data/sig/antlr4ruby/atn/context/semantic_context.rbs +36 -0
- data/sig/antlr4ruby/atn/context/singleton_prediction_context.rbs +11 -0
- data/sig/antlr4ruby/atn/info/accept_state_info.rbs +15 -0
- data/sig/antlr4ruby/atn/info/ambiguity_info.rbs +8 -0
- data/sig/antlr4ruby/atn/info/conflict_info.rbs +16 -0
- data/sig/antlr4ruby/atn/info/context_sensitivity_info.rbs +5 -0
- data/sig/antlr4ruby/atn/info/decision_event_info.rbs +14 -0
- data/sig/antlr4ruby/atn/info/decision_info.rbs +29 -0
- data/sig/antlr4ruby/atn/info/error_info.rbs +5 -0
- data/sig/antlr4ruby/atn/info/lookahead_event_info.rbs +8 -0
- data/sig/antlr4ruby/atn/info/parse_info.rbs +8 -0
- data/sig/antlr4ruby/atn/info/predicate_eval_info.rbs +6 -0
- data/sig/antlr4ruby/atn/lexer_atn_simulator.rbs +83 -0
- data/sig/antlr4ruby/atn/ll1_analyzer.rbs +5 -0
- data/sig/antlr4ruby/atn/parser_atn_simulator.rbs +5 -0
- data/sig/antlr4ruby/atn/prediction_mode.rbs +6 -0
- data/sig/antlr4ruby/atn/profiling_atn_simulator.rbs +6 -0
- data/sig/antlr4ruby/atn/state/atn_state.rbs +50 -0
- data/sig/antlr4ruby/atn/state/basic_block_start_state.rbs +6 -0
- data/sig/antlr4ruby/atn/state/basic_state.rbs +7 -0
- data/sig/antlr4ruby/atn/state/block_end_state.rbs +7 -0
- data/sig/antlr4ruby/atn/state/block_start_state.rbs +8 -0
- data/sig/antlr4ruby/atn/state/decision_state.rbs +14 -0
- data/sig/antlr4ruby/atn/state/invalid_state.rbs +7 -0
- data/sig/antlr4ruby/atn/state/loop_end_state.rbs +7 -0
- data/sig/antlr4ruby/atn/state/plus_block_start_state.rbs +6 -0
- data/sig/antlr4ruby/atn/state/plus_loopback_state.rbs +6 -0
- data/sig/antlr4ruby/atn/state/rule_start_state.rbs +7 -0
- data/sig/antlr4ruby/atn/state/rule_stop_state.rbs +6 -0
- data/sig/antlr4ruby/atn/state/simulator_state.rbs +12 -0
- data/sig/antlr4ruby/atn/state/star_block_start_state.rbs +6 -0
- data/sig/antlr4ruby/atn/state/star_loop_entry_state.rbs +8 -0
- data/sig/antlr4ruby/atn/state/star_loopback_state.rbs +5 -0
- data/sig/antlr4ruby/atn/state/tokens_start_state.rbs +6 -0
- data/sig/antlr4ruby/atn/transition/abstract_predicate_transition.rbs +10 -0
- data/sig/antlr4ruby/atn/transition/action_transition.rbs +15 -0
- data/sig/antlr4ruby/atn/transition/atom_transition.rbs +10 -0
- data/sig/antlr4ruby/atn/transition/code_point_transitions.rbs +5 -0
- data/sig/antlr4ruby/atn/transition/epsilon_transition.rbs +12 -0
- data/sig/antlr4ruby/atn/transition/not_set_transition.rbs +7 -0
- data/sig/antlr4ruby/atn/transition/precedence_predicate_transition.rbs +10 -0
- data/sig/antlr4ruby/atn/transition/predicate_transition.rbs +11 -0
- data/sig/antlr4ruby/atn/transition/range_transition.rbs +8 -0
- data/sig/antlr4ruby/atn/transition/rule_transition.rbs +10 -0
- data/sig/antlr4ruby/atn/transition/set_transition.rbs +8 -0
- data/sig/antlr4ruby/atn/transition/transition.rbs +40 -0
- data/sig/antlr4ruby/atn/transition/wildcard_transition.rbs +5 -0
- data/sig/antlr4ruby/bail_error_strategy.rbs +7 -0
- data/sig/antlr4ruby/base_error_listener.rbs +6 -0
- data/sig/antlr4ruby/buffered_token_stream.rbs +48 -0
- data/sig/antlr4ruby/char_stream.rbs +9 -0
- data/sig/antlr4ruby/char_streams.rbs +14 -0
- data/sig/antlr4ruby/code_point_buffer.rbs +20 -0
- data/sig/antlr4ruby/code_point_char_stream.rbs +19 -0
- data/sig/antlr4ruby/common_token.rbs +35 -0
- data/sig/antlr4ruby/common_token_factory.rbs +12 -0
- data/sig/antlr4ruby/common_token_stream.rbs +9 -0
- data/sig/antlr4ruby/console_error_listener.rbs +6 -0
- data/sig/antlr4ruby/default_error_strategy.rbs +56 -0
- data/sig/antlr4ruby/dfa/dfa.rbs +29 -0
- data/sig/antlr4ruby/dfa/dfa_serializer.rbs +11 -0
- data/sig/antlr4ruby/dfa/dfa_state.rbs +50 -0
- data/sig/antlr4ruby/dfa/lexer_dfa_serializer.rbs +5 -0
- data/sig/antlr4ruby/diagnostic_error_listener.rbs +10 -0
- data/sig/antlr4ruby/exception/failed_predicate_exception.rbs +23 -0
- data/sig/antlr4ruby/exception/input_mismatch_exception.rbs +7 -0
- data/sig/antlr4ruby/exception/lexer_no_viable_alt_exception.rbs +15 -0
- data/sig/antlr4ruby/exception/no_viable_alt_exception.rbs +14 -0
- data/sig/antlr4ruby/exception/recognition_exception.rbs +30 -0
- data/sig/antlr4ruby/int_stream.rbs +19 -0
- data/sig/antlr4ruby/interpreter_rule_context.rbs +6 -0
- data/sig/antlr4ruby/lexer.rbs +88 -0
- data/sig/antlr4ruby/lexer_interpreter.rbs +5 -0
- data/sig/antlr4ruby/list_token_source.rbs +6 -0
- data/sig/antlr4ruby/misc/bit_set.rbs +6 -0
- data/sig/antlr4ruby/misc/double_key_map.rbs +11 -0
- data/sig/antlr4ruby/misc/equality_comparator.rbs +7 -0
- data/sig/antlr4ruby/misc/int_set.rbs +29 -0
- data/sig/antlr4ruby/misc/integer_stack.rbs +9 -0
- data/sig/antlr4ruby/misc/murmur_hash.rbs +13 -0
- data/sig/antlr4ruby/misc/pair.rbs +15 -0
- data/sig/antlr4ruby/misc/predicate.rbs +7 -0
- data/sig/antlr4ruby/misc/range_set.rbs +49 -0
- data/sig/antlr4ruby/parser.rbs +109 -0
- data/sig/antlr4ruby/parser_interpreter.rbs +24 -0
- data/sig/antlr4ruby/parser_rule_context.rbs +53 -0
- data/sig/antlr4ruby/proxy_error_listener.rbs +10 -0
- data/sig/antlr4ruby/recognizer.rbs +76 -0
- data/sig/antlr4ruby/rule_context.rbs +31 -0
- data/sig/antlr4ruby/rule_context_with_alt_num.rbs +8 -0
- data/sig/antlr4ruby/runtime_meta_data.rbs +12 -0
- data/sig/antlr4ruby/token.rbs +26 -0
- data/sig/antlr4ruby/token_factory.rbs +10 -0
- data/sig/antlr4ruby/token_source.rbs +12 -0
- data/sig/antlr4ruby/token_stream.rbs +13 -0
- data/sig/antlr4ruby/token_stream_rewriter.rbs +5 -0
- data/sig/antlr4ruby/tree/abstract_parse_tree_visitor.rbs +14 -0
- data/sig/antlr4ruby/tree/error_node.rbs +13 -0
- data/sig/antlr4ruby/tree/iterative_parse_tree_walker.rbs +7 -0
- data/sig/antlr4ruby/tree/parse_tree.rbs +21 -0
- data/sig/antlr4ruby/tree/parse_tree_listener.rbs +13 -0
- data/sig/antlr4ruby/tree/parse_tree_property.rbs +5 -0
- data/sig/antlr4ruby/tree/parse_tree_visitor.rbs +12 -0
- data/sig/antlr4ruby/tree/parse_tree_walker.rbs +12 -0
- data/sig/antlr4ruby/tree/rule_node.rbs +8 -0
- data/sig/antlr4ruby/tree/syntax_tree.rbs +8 -0
- data/sig/antlr4ruby/tree/terminal_node.rbs +20 -0
- data/sig/antlr4ruby/tree/tree.rbs +15 -0
- data/sig/antlr4ruby/tree/trees.rbs +32 -0
- data/sig/antlr4ruby/unbuffered_char_stream.rbs +6 -0
- data/sig/antlr4ruby/unbuffered_token_stream.rbs +6 -0
- data/sig/antlr4ruby/vocabulary.rbs +36 -0
- data/sig/antlr4ruby/writable_token.rbs +13 -0
- data/sig/antlr4ruby.rbs +4 -0
- metadata +328 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
module Antlr4ruby
|
|
3
|
+
class LexerNoViableAltException < RecognitionException
|
|
4
|
+
attr_reader start_index: Integer
|
|
5
|
+
attr_reader dead_end_configs: ATNConfigSet
|
|
6
|
+
|
|
7
|
+
def initialize: (Lexer, _CharStream, Integer, ATNConfigSet) -> void
|
|
8
|
+
|
|
9
|
+
def get_dead_end_configs: -> ATNConfigSet
|
|
10
|
+
|
|
11
|
+
def get_start_index: -> Integer
|
|
12
|
+
|
|
13
|
+
def get_input_stream: -> _CharStream
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
module Antlr4ruby
|
|
3
|
+
class NoViableAltException < RecognitionException
|
|
4
|
+
attr_reader start_token: _Token
|
|
5
|
+
attr_reader dead_end_configs: ATNConfigSet?
|
|
6
|
+
|
|
7
|
+
def initialize: (Parser, _TokenStream?, _Token?, _Token?, ATNConfigSet?, ParserRuleContext?) -> void
|
|
8
|
+
|
|
9
|
+
def get_dead_end_configs: -> ATNConfigSet?
|
|
10
|
+
|
|
11
|
+
def get_start_token: -> _Token
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
|
|
2
|
+
module Antlr4ruby
|
|
3
|
+
# todo 继承运行时异常
|
|
4
|
+
class RecognitionException
|
|
5
|
+
attr_reader ctx: RuleContext
|
|
6
|
+
|
|
7
|
+
attr_reader input: _IntStream
|
|
8
|
+
attr_accessor offending_state: Integer
|
|
9
|
+
attr_accessor offending_token: _Token
|
|
10
|
+
attr_reader recognizer: Recognizer[untyped, untyped]
|
|
11
|
+
|
|
12
|
+
def initialize: (Recognizer[untyped, untyped], _IntStream, ParserRuleContext?, String) -> void
|
|
13
|
+
|
|
14
|
+
def get_ctx: -> RuleContext
|
|
15
|
+
|
|
16
|
+
def get_expected_tokens: -> RangeSet[Integer]
|
|
17
|
+
|
|
18
|
+
def get_input_stream: -> _IntStream
|
|
19
|
+
|
|
20
|
+
def get_offending_state: -> Integer
|
|
21
|
+
|
|
22
|
+
def get_offending_token: -> _Token
|
|
23
|
+
|
|
24
|
+
def get_recognizer: -> Recognizer[untyped, untyped]
|
|
25
|
+
|
|
26
|
+
def set_offending_state: (Integer) -> void
|
|
27
|
+
|
|
28
|
+
def set_offending_token: (_Token) -> void
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
module Antlr4ruby
|
|
3
|
+
module IntStream
|
|
4
|
+
EOF: Integer
|
|
5
|
+
UNKNOWN_SOURCE_NAME: String
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
interface _IntStream
|
|
9
|
+
def consume: -> void
|
|
10
|
+
def la: (Integer) -> Integer
|
|
11
|
+
def mark: -> Integer
|
|
12
|
+
def release: (Integer) -> void
|
|
13
|
+
def index: -> Integer
|
|
14
|
+
def seek: (Integer) -> void
|
|
15
|
+
def size: -> Integer
|
|
16
|
+
|
|
17
|
+
def get_source_name: -> String
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
|
|
2
|
+
module Antlr4ruby
|
|
3
|
+
# @abstract
|
|
4
|
+
class Lexer < Recognizer[Integer, LexerATNSimulator]
|
|
5
|
+
include _TokenSource
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
DEFAULT_MODE: Integer
|
|
9
|
+
DEFAULT_TOKEN_CHANNEL: Integer
|
|
10
|
+
HIDDEN: Integer
|
|
11
|
+
MAX_CHAR_VALUE: Integer
|
|
12
|
+
MIN_CHAR_VALUE: Integer
|
|
13
|
+
MORE: Integer
|
|
14
|
+
|
|
15
|
+
SKIP: Integer
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@token_factory_source_pair: Pair[_TokenSource, _CharStream]
|
|
20
|
+
|
|
21
|
+
attr_accessor channel: Integer
|
|
22
|
+
attr_accessor factory: _TokenFactory[untyped]
|
|
23
|
+
attr_accessor hit_eof: bool
|
|
24
|
+
attr_accessor input: _CharStream
|
|
25
|
+
attr_accessor mode: Integer
|
|
26
|
+
attr_accessor mode_stack: IntegerStack
|
|
27
|
+
attr_accessor text: String
|
|
28
|
+
attr_accessor token: _Token
|
|
29
|
+
|
|
30
|
+
attr_accessor token_factory_source_pair: Pair[_TokenSource, _CharStream]
|
|
31
|
+
attr_accessor token_start_char_index: Integer
|
|
32
|
+
|
|
33
|
+
attr_accessor token_start_line: Integer
|
|
34
|
+
attr_accessor type: Integer
|
|
35
|
+
|
|
36
|
+
def initialize: (_CharStream?) -> void
|
|
37
|
+
|
|
38
|
+
def emit: (_Token?) -> _Token?
|
|
39
|
+
|
|
40
|
+
def emit_eof: -> _Token
|
|
41
|
+
|
|
42
|
+
def get_all_tokens: -> Array[_Token]
|
|
43
|
+
|
|
44
|
+
def get_channel: -> Integer
|
|
45
|
+
|
|
46
|
+
def get_channel_names: -> Array[String]
|
|
47
|
+
|
|
48
|
+
def get_char_error_display: (Integer) -> String
|
|
49
|
+
|
|
50
|
+
def get_char_index: -> Integer
|
|
51
|
+
|
|
52
|
+
def get_error_display: (String | Integer) -> String
|
|
53
|
+
|
|
54
|
+
def get_mode_names: -> Array[String]
|
|
55
|
+
|
|
56
|
+
def get_text: -> String
|
|
57
|
+
|
|
58
|
+
def get_token: -> _Token
|
|
59
|
+
|
|
60
|
+
def get_type: -> Integer
|
|
61
|
+
|
|
62
|
+
def more: -> void
|
|
63
|
+
|
|
64
|
+
def notify_listeners: (LexerNoViableAltException) -> void
|
|
65
|
+
|
|
66
|
+
def pop_mode: -> Integer
|
|
67
|
+
|
|
68
|
+
def push_mode: (Integer) -> void
|
|
69
|
+
|
|
70
|
+
def recover: (LexerNoViableAltException | RecognitionException) -> void
|
|
71
|
+
|
|
72
|
+
def reset: -> void
|
|
73
|
+
|
|
74
|
+
def set_channel: (Integer) -> void
|
|
75
|
+
|
|
76
|
+
def set_char_position_in_line: (Integer) -> void
|
|
77
|
+
|
|
78
|
+
def set_line: (Integer) -> void
|
|
79
|
+
|
|
80
|
+
def set_text: (String) -> void
|
|
81
|
+
|
|
82
|
+
def set_token: (_Token) -> void
|
|
83
|
+
|
|
84
|
+
def set_type: (Integer) -> void
|
|
85
|
+
|
|
86
|
+
def skip: -> void
|
|
87
|
+
end
|
|
88
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
interface _IntSet
|
|
4
|
+
def add: (Integer) -> void
|
|
5
|
+
|
|
6
|
+
def add_all: (_IntSet) -> _IntSet
|
|
7
|
+
|
|
8
|
+
def and: (_IntSet) -> _IntSet
|
|
9
|
+
|
|
10
|
+
def complement: (_IntSet) -> _IntSet
|
|
11
|
+
|
|
12
|
+
def or: (_IntSet) -> _IntSet
|
|
13
|
+
|
|
14
|
+
def substract: (_IntSet) -> _IntSet
|
|
15
|
+
|
|
16
|
+
def size: -> Integer
|
|
17
|
+
|
|
18
|
+
# def nil?: -> bool
|
|
19
|
+
|
|
20
|
+
def contains: (Integer) -> bool
|
|
21
|
+
|
|
22
|
+
def remove: (Integer) -> void
|
|
23
|
+
|
|
24
|
+
def to_list: -> Array[Integer]
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
class MurmurHash
|
|
3
|
+
DEFAULT_SEED: Integer
|
|
4
|
+
|
|
5
|
+
def self.finish: (Integer, Integer) -> Integer
|
|
6
|
+
|
|
7
|
+
def self.init: (Integer) -> Integer
|
|
8
|
+
|
|
9
|
+
def self.update: (Integer, Object) -> Integer
|
|
10
|
+
|
|
11
|
+
def self.hash: (Array[untyped], Integer) -> untyped
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
class RangeSet[T]
|
|
3
|
+
attr_accessor data: Array[Range[T]]
|
|
4
|
+
|
|
5
|
+
def &: (RangeSet[T]) -> RangeSet[T]
|
|
6
|
+
|
|
7
|
+
def +: (RangeSet[T]) -> RangeSet[T]
|
|
8
|
+
|
|
9
|
+
def -: (RangeSet[T]) -> RangeSet[T]
|
|
10
|
+
|
|
11
|
+
def add: (Range[T]) -> void
|
|
12
|
+
|
|
13
|
+
def add_all: (Enumerable[Range[T]] | RangeSet[T]) -> void
|
|
14
|
+
|
|
15
|
+
def clear: -> void
|
|
16
|
+
|
|
17
|
+
def complement: (RangeSet[T]) -> RangeSet[T]
|
|
18
|
+
|
|
19
|
+
def cover?: (Range[T]) -> bool
|
|
20
|
+
|
|
21
|
+
def delete: (Range[T]) -> void
|
|
22
|
+
|
|
23
|
+
def delete_all: (Enumerable[Range[T]] | RangeSet[T]) -> void
|
|
24
|
+
|
|
25
|
+
def empty?: -> bool
|
|
26
|
+
|
|
27
|
+
def include?: (Integer) -> bool
|
|
28
|
+
|
|
29
|
+
def merge: (RangeSet[T]) -> void
|
|
30
|
+
|
|
31
|
+
def start: -> Integer?
|
|
32
|
+
|
|
33
|
+
def stop: -> Integer?
|
|
34
|
+
|
|
35
|
+
def to_a: -> Array[Range[T]]
|
|
36
|
+
|
|
37
|
+
def to_set: -> Set[Range[T]]
|
|
38
|
+
|
|
39
|
+
def |: (RangeSet[T]) -> RangeSet[T]
|
|
40
|
+
|
|
41
|
+
def ~: -> RangeSet[T]
|
|
42
|
+
|
|
43
|
+
def initialize: (Array[Range[T]]) -> void
|
|
44
|
+
|
|
45
|
+
def eql?: (RangeSet[T]?) -> bool
|
|
46
|
+
|
|
47
|
+
def == :(RangeSet[T]) -> bool
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
|
|
2
|
+
module Antlr4ruby
|
|
3
|
+
class Parser < Recognizer[_Token, ParserATNSimulator]
|
|
4
|
+
|
|
5
|
+
class TraceListener
|
|
6
|
+
include _ParseTreeListener
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class TrimToSizeListener
|
|
10
|
+
include _ParseTreeListener
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
attr_accessor build_parse_trees: bool
|
|
14
|
+
attr_accessor ctx: ParserRuleContext
|
|
15
|
+
attr_accessor err_handler: _ANTLRErrorStrategy
|
|
16
|
+
attr_accessor input: _TokenStream?
|
|
17
|
+
attr_accessor matched_eof: bool
|
|
18
|
+
attr_accessor parse_listeners: Array[_ParseTreeListener]
|
|
19
|
+
attr_reader precedence_stack: IntegerStack
|
|
20
|
+
|
|
21
|
+
attr_accessor syntax_errors: Integer
|
|
22
|
+
|
|
23
|
+
def add_contex_to_parse_tree: -> void
|
|
24
|
+
|
|
25
|
+
def add_parse_listener: (_ParseTreeListener) -> void
|
|
26
|
+
|
|
27
|
+
def consume: -> _Token
|
|
28
|
+
|
|
29
|
+
def create_terminal_node: (ParserRuleContext, _Token) -> _TerminalNode
|
|
30
|
+
|
|
31
|
+
def dump_dfa: -> void
|
|
32
|
+
|
|
33
|
+
def enter_recursion_rule: (ParserRuleContext, Integer, Integer, Integer) -> void
|
|
34
|
+
|
|
35
|
+
def enter_rule: (ParserRuleContext?, Integer?, Integer?) -> void
|
|
36
|
+
|
|
37
|
+
def get_atn_with_bypass_alts: -> ATN
|
|
38
|
+
|
|
39
|
+
def get_build_parse_tree: -> bool
|
|
40
|
+
|
|
41
|
+
def get_context: -> ParserRuleContext
|
|
42
|
+
|
|
43
|
+
def get_current_token: -> _Token
|
|
44
|
+
|
|
45
|
+
def get_dfa_strings: -> Array[String]
|
|
46
|
+
|
|
47
|
+
def get_error_handler: -> _ANTLRErrorStrategy
|
|
48
|
+
|
|
49
|
+
def get_expected_tokens: -> IntervalSet
|
|
50
|
+
|
|
51
|
+
def get_expected_tokens_within_current_rule: -> IntervalSet
|
|
52
|
+
|
|
53
|
+
def get_invoking_context: (Integer) -> ParserRuleContext
|
|
54
|
+
|
|
55
|
+
def get_parse_listeners: -> Array[_ParseTreeListener]
|
|
56
|
+
|
|
57
|
+
def get_precedence: -> Integer
|
|
58
|
+
|
|
59
|
+
def get_rule_context: -> ParserRuleContext
|
|
60
|
+
|
|
61
|
+
def get_rule_index: (String) -> Integer
|
|
62
|
+
|
|
63
|
+
def get_rule_invocation_stack: (RuleContext?) -> Array[String]
|
|
64
|
+
|
|
65
|
+
def get_source_name: -> String
|
|
66
|
+
|
|
67
|
+
def get_syntax_error_count: -> Integer
|
|
68
|
+
|
|
69
|
+
def get_token_stream: -> _TokenStream
|
|
70
|
+
|
|
71
|
+
def is_expected_token: (Integer) -> bool
|
|
72
|
+
|
|
73
|
+
def is_matched_eof?: -> bool
|
|
74
|
+
|
|
75
|
+
def match: (Integer) -> _Token
|
|
76
|
+
|
|
77
|
+
def match_wildcard: -> _Token
|
|
78
|
+
|
|
79
|
+
def notify_error_listeners: (String, _Token?, RecognitionException?) -> void
|
|
80
|
+
|
|
81
|
+
def push_new_recursion_context: (ParserRuleContext, Integer, Integer) -> void
|
|
82
|
+
|
|
83
|
+
def remove_parse_listener: (_ParseTreeListener) -> void
|
|
84
|
+
|
|
85
|
+
def remove_parse_listeners: -> void
|
|
86
|
+
|
|
87
|
+
def reset: -> void
|
|
88
|
+
|
|
89
|
+
def set_build_parse_tree: (bool) -> void
|
|
90
|
+
|
|
91
|
+
def set_context: (ParserRuleContext) -> void
|
|
92
|
+
|
|
93
|
+
def set_error_handler: (_ANTLRErrorStrategy) -> void
|
|
94
|
+
|
|
95
|
+
def set_profile: (bool) -> void
|
|
96
|
+
|
|
97
|
+
def set_token_stream: (_TokenStream) -> void
|
|
98
|
+
|
|
99
|
+
def trigger_enter_rule_event: -> void
|
|
100
|
+
|
|
101
|
+
def trigger_exit_rule_event: -> void
|
|
102
|
+
|
|
103
|
+
def unroll_recursion_contexts: (ParserRuleContext) -> void
|
|
104
|
+
|
|
105
|
+
private
|
|
106
|
+
|
|
107
|
+
attr_accessor bypass_alt_atn_cache: ATN
|
|
108
|
+
end
|
|
109
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
module Antlr4ruby
|
|
3
|
+
class ParserInterpreter < Parser
|
|
4
|
+
attr_reader atn: ATN
|
|
5
|
+
attr_reader decision_to_dfa: Array[DFA]
|
|
6
|
+
attr_reader grammar_file_name: String
|
|
7
|
+
|
|
8
|
+
attr_accessor override_decision: Integer
|
|
9
|
+
attr_accessor override_decision_alt: Integer
|
|
10
|
+
attr_accessor override_decision_input_index: Integer
|
|
11
|
+
attr_accessor override_decision_reached: bool
|
|
12
|
+
attr_accessor override_decision_root: InterpreterRuleContext?
|
|
13
|
+
# attr_accessor override_decision_root: InterpreterRuleContext
|
|
14
|
+
attr_reader parent_context_stack: Vocabulary
|
|
15
|
+
attr_accessor root_context: InterpreterRuleContext
|
|
16
|
+
attr_reader rule_names: Array[String]
|
|
17
|
+
attr_reader shared_context_cache: PredictionContextCache
|
|
18
|
+
|
|
19
|
+
attr_reader vocabulary: Vocabulary
|
|
20
|
+
|
|
21
|
+
def initialize: (String, Vocabulary, Array[String], ATN, _TokenStream) -> void
|
|
22
|
+
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
|
|
2
|
+
module Antlr4ruby
|
|
3
|
+
class ParserRuleContext < RuleContext
|
|
4
|
+
EMPTY: ParserRuleContext
|
|
5
|
+
|
|
6
|
+
@children: Array[_ParseTree]
|
|
7
|
+
@start: _Token
|
|
8
|
+
@stop: _Token
|
|
9
|
+
@exception: RecognitionException
|
|
10
|
+
|
|
11
|
+
attr_accessor children: Array[_ParseTree]
|
|
12
|
+
|
|
13
|
+
attr_accessor exception: RecognitionException
|
|
14
|
+
attr_accessor start: _Token
|
|
15
|
+
|
|
16
|
+
attr_accessor stop: _Token
|
|
17
|
+
|
|
18
|
+
def initialize: (ParserRuleContext?, Integer) -> void
|
|
19
|
+
|
|
20
|
+
def add_any_child: (untyped) -> _ParseTree
|
|
21
|
+
|
|
22
|
+
def add_child: (RuleContext | TerminalNode) -> (RuleContext | TerminalNode)
|
|
23
|
+
|
|
24
|
+
def add_error_node: (ErrorNode) -> ErrorNode
|
|
25
|
+
|
|
26
|
+
def copy_from: (ParserRuleContext) -> void
|
|
27
|
+
|
|
28
|
+
# def enter_rule: (_ParseTreeListener) -> void
|
|
29
|
+
|
|
30
|
+
# def exit_rule: (_ParseTreeListener) -> void
|
|
31
|
+
|
|
32
|
+
def get_start: -> _Token
|
|
33
|
+
|
|
34
|
+
def get_stop: -> _Token
|
|
35
|
+
|
|
36
|
+
def get_token: (Integer, Integer) -> TerminalNode?
|
|
37
|
+
|
|
38
|
+
def get_tokens: (Integer) -> Array[TerminalNode]
|
|
39
|
+
|
|
40
|
+
def remove_last_child: -> void
|
|
41
|
+
|
|
42
|
+
def to_info_string: (Parser) -> String
|
|
43
|
+
|
|
44
|
+
def get_parent: -> ParserRuleContext
|
|
45
|
+
|
|
46
|
+
def get_child: (Integer, Class?) -> _ParseTree?
|
|
47
|
+
|
|
48
|
+
def get_rule_context: (Class, Integer) -> RuleContext?
|
|
49
|
+
|
|
50
|
+
def get_rule_contexts: (Class) -> Array[RuleContext]
|
|
51
|
+
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
|
|
2
|
+
module Antlr4ruby
|
|
3
|
+
# @abstract
|
|
4
|
+
class Recognizer[Symbol, ATNInterpreter]
|
|
5
|
+
EOF: Integer
|
|
6
|
+
|
|
7
|
+
@@token_type_map_cache: Hash[Vocabulary, Hash[String, Integer]]
|
|
8
|
+
@@rule_index_map_cache: Hash[Array[String], Hash[String, Integer]]
|
|
9
|
+
@listeners: Array[_ANTLRErrorListener]
|
|
10
|
+
|
|
11
|
+
attr_accessor interpreter: ATNInterpreter
|
|
12
|
+
|
|
13
|
+
attr_accessor state_number: Integer
|
|
14
|
+
|
|
15
|
+
def action: (RuleContext?, Integer, Integer) -> void
|
|
16
|
+
|
|
17
|
+
def add_error_listener: (_ANTLRErrorListener) -> void
|
|
18
|
+
|
|
19
|
+
def get_atn: -> ATN
|
|
20
|
+
|
|
21
|
+
def get_error_header: (RecognitionException) -> String
|
|
22
|
+
|
|
23
|
+
def get_error_listener_dispatch: -> _ANTLRErrorListener
|
|
24
|
+
|
|
25
|
+
def get_error_listeners: -> Array[_ANTLRErrorListener]
|
|
26
|
+
|
|
27
|
+
def get_grammar_file_name: -> String
|
|
28
|
+
|
|
29
|
+
def get_input_stream: -> _IntStream
|
|
30
|
+
|
|
31
|
+
def get_interpreter: -> ATNInterpreter
|
|
32
|
+
|
|
33
|
+
def get_parse_info: -> ParseInfo?
|
|
34
|
+
|
|
35
|
+
def get_rule_index_map: -> Hash[String, Integer]
|
|
36
|
+
|
|
37
|
+
def get_rule_names: -> Array[String]
|
|
38
|
+
|
|
39
|
+
def get_serialized_atn: -> String
|
|
40
|
+
|
|
41
|
+
def get_state: -> Integer
|
|
42
|
+
|
|
43
|
+
def get_token_factory: -> _TokenFactory[untyped]
|
|
44
|
+
|
|
45
|
+
def get_token_names: -> Array[String]
|
|
46
|
+
|
|
47
|
+
def get_token_type: -> Integer
|
|
48
|
+
|
|
49
|
+
def get_token_type_map: -> Hash[String, Integer]
|
|
50
|
+
|
|
51
|
+
def get_vocabulary: -> Vocabulary
|
|
52
|
+
|
|
53
|
+
def precpred: (RuleContext, Integer) -> bool
|
|
54
|
+
|
|
55
|
+
def remove_error_listener: (_ANTLRErrorListener) -> void
|
|
56
|
+
|
|
57
|
+
def remove_error_listeners: -> void
|
|
58
|
+
|
|
59
|
+
def sempred: (RuleContext, Integer, Integer) -> bool
|
|
60
|
+
|
|
61
|
+
def set_input_stream: (_IntStream) -> void
|
|
62
|
+
|
|
63
|
+
def set_interpreter: (ATNInterpreter) -> void
|
|
64
|
+
|
|
65
|
+
def set_state: (Integer) -> void
|
|
66
|
+
|
|
67
|
+
def set_token_factory: (_TokenFactory[untyped]) -> void
|
|
68
|
+
|
|
69
|
+
private
|
|
70
|
+
|
|
71
|
+
attr_accessor listeners: Array[_ANTLRErrorListener]
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
|
|
2
|
+
module Antlr4ruby
|
|
3
|
+
class RuleContext
|
|
4
|
+
include _RuleNode
|
|
5
|
+
@parent: RuleContext?
|
|
6
|
+
@invoking_state: Integer
|
|
7
|
+
|
|
8
|
+
attr_accessor invoking_state: Integer
|
|
9
|
+
attr_accessor parent: RuleContext
|
|
10
|
+
|
|
11
|
+
def initialize: (RuleContext?, Integer) -> void
|
|
12
|
+
|
|
13
|
+
def depth: -> Integer
|
|
14
|
+
|
|
15
|
+
def enter_rule: (_ParseTreeListener) -> void
|
|
16
|
+
|
|
17
|
+
def exit_rule: (_ParseTreeListener) -> void
|
|
18
|
+
|
|
19
|
+
def get_alt_number: -> Integer
|
|
20
|
+
|
|
21
|
+
def get_rule_index: -> Integer
|
|
22
|
+
|
|
23
|
+
def is_empty?: -> bool
|
|
24
|
+
|
|
25
|
+
def set_alt_number: (Integer) -> void
|
|
26
|
+
|
|
27
|
+
def to_s: (recognizer: Recognizer[untyped, untyped]?, rule_names: Array[String], stop: RuleContext?) -> String
|
|
28
|
+
|
|
29
|
+
# def get_rule_context: (Class, Integer?) -> RuleContext?
|
|
30
|
+
end
|
|
31
|
+
end
|