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,32 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
class ATN
|
|
4
|
+
INVALID_ALT_NUMBER: Integer
|
|
5
|
+
|
|
6
|
+
attr_reader decision_to_state: Array[DecisionState]
|
|
7
|
+
attr_reader grammar_type: Symbol
|
|
8
|
+
attr_accessor lexer_actions: Array[_LexerAction]
|
|
9
|
+
attr_reader max_token_type: Integer
|
|
10
|
+
attr_reader mode_name_to_start_state: Hash[String, TokensStartState]
|
|
11
|
+
attr_reader mode_to_start_state: Array[TokensStartState]
|
|
12
|
+
attr_accessor rule_to_start_state: Array[RuleStartState]
|
|
13
|
+
attr_accessor rule_to_stop_state: Array[RuleStopState]
|
|
14
|
+
attr_accessor rule_to_token_type: Array[Integer]
|
|
15
|
+
attr_reader states: Array[ATNState]
|
|
16
|
+
|
|
17
|
+
def add_state: (ATNState?) -> void
|
|
18
|
+
|
|
19
|
+
def define_decision_state: (DecisionState) -> Integer
|
|
20
|
+
|
|
21
|
+
def get_decision_state: (Integer) -> DecisionState
|
|
22
|
+
|
|
23
|
+
def get_expected_tokens: (Integer, RuleContext) -> RangeSet[Integer]
|
|
24
|
+
|
|
25
|
+
def get_number_of_decisions: -> Integer
|
|
26
|
+
|
|
27
|
+
def next_tokens: (ATNState, RuleContext?) -> RangeSet[Integer]
|
|
28
|
+
def initialize: (Symbol, Integer) -> void
|
|
29
|
+
|
|
30
|
+
def remove_state: (ATNState) -> void
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
class ATNDeserializationOptions
|
|
4
|
+
@@default_options: ATNDeserializationOptions
|
|
5
|
+
|
|
6
|
+
def self.get_default_options: -> ATNDeserializationOptions
|
|
7
|
+
|
|
8
|
+
attr_reader generate_rule_bypass_transitions: bool
|
|
9
|
+
attr_reader verify_atn: bool
|
|
10
|
+
|
|
11
|
+
def is_generate_rule_bypass_transitions?: -> bool
|
|
12
|
+
|
|
13
|
+
def is_read_only?: -> bool
|
|
14
|
+
|
|
15
|
+
def is_verify_atn?: -> bool
|
|
16
|
+
|
|
17
|
+
def make_read_only: (bool) -> void
|
|
18
|
+
|
|
19
|
+
def set_generate_rule_bypass_transitions: (bool) -> void
|
|
20
|
+
|
|
21
|
+
def set_verify_atn: (bool) -> void
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
|
|
25
|
+
attr_reader read_only: bool
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
class ATNDeserializer
|
|
4
|
+
SERIALIZED_VERSION: Integer
|
|
5
|
+
|
|
6
|
+
def check_condition: (bool, String?) -> void
|
|
7
|
+
|
|
8
|
+
def deserialize: (Array[Integer]) -> ATN
|
|
9
|
+
|
|
10
|
+
def edge_factory: (ATN, Integer, Integer, Integer,Integer,Integer,Integer,Array[RangeSet[Integer]]) -> Transition
|
|
11
|
+
|
|
12
|
+
def lexer_action_factory: (Symbol, Integer, Integer) -> _LexerAction
|
|
13
|
+
|
|
14
|
+
def mark_precedence_decisions: (ATN) -> void
|
|
15
|
+
|
|
16
|
+
def state_factory: (Integer, Integer) -> ATNState
|
|
17
|
+
|
|
18
|
+
def verify_atn: (ATN) -> void
|
|
19
|
+
|
|
20
|
+
private
|
|
21
|
+
|
|
22
|
+
attr_reader deserialization_options: ATNDeserializationOptions
|
|
23
|
+
|
|
24
|
+
def deserialize_sets: (Array[Integer], Integer, Array[RangeSet[Integer]]) -> Integer
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
# @abstract
|
|
4
|
+
class ATNSimulator
|
|
5
|
+
ERROR: DFAState
|
|
6
|
+
|
|
7
|
+
attr_reader atn: ATN
|
|
8
|
+
attr_reader shared_context_cache: PredictionContextCache
|
|
9
|
+
|
|
10
|
+
def clear_dfa: -> void
|
|
11
|
+
|
|
12
|
+
def get_cached_context: (PredictionContext) -> PredictionContext
|
|
13
|
+
|
|
14
|
+
def get_shared_context_cache: -> PredictionContextCache
|
|
15
|
+
|
|
16
|
+
def reset: -> void
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
class ATNConfig
|
|
4
|
+
SUPPRESS_PRECEDENCE_FILTER: Integer
|
|
5
|
+
|
|
6
|
+
attr_reader alt: Integer
|
|
7
|
+
attr_accessor context: PredictionContext
|
|
8
|
+
attr_accessor reaches_into_outer_context: Integer
|
|
9
|
+
attr_reader semantic_context: SemanticContext
|
|
10
|
+
attr_reader state: ATNState
|
|
11
|
+
|
|
12
|
+
def get_outer_context_depth: -> Integer
|
|
13
|
+
|
|
14
|
+
def is_precedence_filter_suppressed: -> bool
|
|
15
|
+
|
|
16
|
+
def set_precedence_filter_suppressed: (bool) -> void
|
|
17
|
+
|
|
18
|
+
def eql?: (Object) -> bool
|
|
19
|
+
def to_s: (recognizer: Recognizer[untyped, untyped]?, show_alt: bool) -> String
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
class LexerATNConfig < ATNConfig
|
|
4
|
+
|
|
5
|
+
def initialize: (state: ATNState, alt:Integer?, context: PredictionContext?,
|
|
6
|
+
config: LexerATNConfig?, executor: LexerActionExecutor?) -> void
|
|
7
|
+
def self.check_non_greedy_decision: (LexerATNConfig, ATNState) -> bool
|
|
8
|
+
|
|
9
|
+
attr_reader passed_through_non_greedy_decision: bool
|
|
10
|
+
|
|
11
|
+
def get_lexer_action_executor: -> LexerActionExecutor
|
|
12
|
+
|
|
13
|
+
def has_passed_through_non_greedy_decision?: -> bool
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
attr_reader lexer_action_executor: LexerActionExecutor
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
class ArrayPredictionContext < PredictionContext
|
|
4
|
+
attr_reader parents: Array[PredictionContext]
|
|
5
|
+
attr_reader return_states: Array[Integer]
|
|
6
|
+
|
|
7
|
+
def initialize: (context: SingletonPredictionContext?,
|
|
8
|
+
parents: Array[PredictionContext],
|
|
9
|
+
return_states: Array[Integer]) -> void
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
# @abstract
|
|
4
|
+
class PredictionContext
|
|
5
|
+
EMPTY_RETURN_STATE: Integer
|
|
6
|
+
INITIAL_HASH: Integer
|
|
7
|
+
|
|
8
|
+
@@global_node_count: Integer
|
|
9
|
+
|
|
10
|
+
def self.calculate_empty_hash_code: -> Integer
|
|
11
|
+
|
|
12
|
+
def self.calculate_hash_code: (parent: PredictionContext?, parents: Array[PredictionContext], return_state: Integer, return_states: Array[Integer]) -> Integer
|
|
13
|
+
|
|
14
|
+
def self.combine_common_parents: (Array[PredictionContext]) -> void
|
|
15
|
+
|
|
16
|
+
def self.from_rule_context: (ATN, RuleContext) -> PredictionContext
|
|
17
|
+
|
|
18
|
+
def self.get_all_context_nodes: (PredictionContext) -> Array[PredictionContext]
|
|
19
|
+
|
|
20
|
+
def self.get_all_context_nodes_: (PredictionContext, Array[PredictionContext], Hash[PredictionContext, PredictionContext]) -> void
|
|
21
|
+
|
|
22
|
+
def self.get_cached_context: (PredictionContext, PredictionContextCache, Hash[Integer, PredictionContext]) -> PredictionContext
|
|
23
|
+
|
|
24
|
+
def self.merge: (PredictionContext, PredictionContext, bool, Hash[PredictionContext, Hash[PredictionContext, PredictionContext]]) -> PredictionContext
|
|
25
|
+
|
|
26
|
+
def self.merge_arrays: (ArrayPredictionContext, ArrayPredictionContext, bool, Hash[PredictionContext, Hash[PredictionContext, PredictionContext]]) -> PredictionContext
|
|
27
|
+
|
|
28
|
+
def self.merge_root: (SingletonPredictionContext, SingletonPredictionContext, bool) -> PredictionContext
|
|
29
|
+
|
|
30
|
+
def self.merge_singletons: (SingletonPredictionContext, SingletonPredictionContext, bool, Hash[PredictionContext, Hash[PredictionContext, PredictionContext]]) -> PredictionContext
|
|
31
|
+
|
|
32
|
+
def self.to_dot_string: (PredictionContext) -> String
|
|
33
|
+
|
|
34
|
+
attr_reader cached_hash_code: Integer
|
|
35
|
+
attr_reader id: Integer
|
|
36
|
+
|
|
37
|
+
def initialize: (Integer) -> void
|
|
38
|
+
|
|
39
|
+
def get_parent: (Integer) -> PredictionContext?
|
|
40
|
+
|
|
41
|
+
def get_return_state: (Integer) -> Integer
|
|
42
|
+
|
|
43
|
+
def has_empty_path?: -> bool
|
|
44
|
+
|
|
45
|
+
def is_empty?: -> bool
|
|
46
|
+
|
|
47
|
+
def size: -> Integer
|
|
48
|
+
|
|
49
|
+
def to_s: (Recognizer[untyped, untyped]) -> String
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
class PredictionContextCache
|
|
4
|
+
attr_reader cache: Hash[PredictionContext, PredictionContext]
|
|
5
|
+
|
|
6
|
+
def add: (PredictionContext) -> PredictionContext
|
|
7
|
+
|
|
8
|
+
def get: (PredictionContext) -> PredictionContext
|
|
9
|
+
|
|
10
|
+
def size: -> Integer
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
# @abstract
|
|
4
|
+
class SemanticContext
|
|
5
|
+
def self.and: (SemanticContext, SemanticContext) -> SemanticContext
|
|
6
|
+
|
|
7
|
+
def self.or: (SemanticContext, SemanticContext) -> SemanticContext
|
|
8
|
+
|
|
9
|
+
def eval_precedence: (Recognizer[untyped, untyped], RuleContext) -> SemanticContext
|
|
10
|
+
def eval: (Recognizer[untyped, untyped], RuleContext) -> bool
|
|
11
|
+
|
|
12
|
+
class Empty < SemanticContext
|
|
13
|
+
INSTANCE: Empty
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
class Predicate < SemanticContext
|
|
17
|
+
|
|
18
|
+
attr_reader is_ctx_dependent: bool
|
|
19
|
+
attr_reader pred_index: Integer
|
|
20
|
+
attr_reader rule_index: Integer
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
class PrecedencePredicate < SemanticContext
|
|
24
|
+
# todo
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
class Operator < SemanticContext
|
|
28
|
+
def get_operands: -> Array[SemanticContext]
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
private
|
|
33
|
+
|
|
34
|
+
def filter_precedence_predicates: (Array[SemanticContext]) -> Array[PrecedencePredicate]
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
class SingletonPredictionContext < PredictionContext
|
|
4
|
+
def self.create: (PredictionContext, Integer) -> SingletonPredictionContext
|
|
5
|
+
|
|
6
|
+
attr_reader parent: PredictionContext
|
|
7
|
+
attr_reader return_state: Integer
|
|
8
|
+
|
|
9
|
+
def initialize: (PredictionContext?, Integer) -> void
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
module Antlr4ruby
|
|
4
|
+
class AcceptStateInfo
|
|
5
|
+
attr_reader lexer_action_executor: LexerActionExecutor
|
|
6
|
+
|
|
7
|
+
private
|
|
8
|
+
|
|
9
|
+
attr_reader prediction: Integer
|
|
10
|
+
|
|
11
|
+
def get_lexer_action_executor: -> LexerActionExecutor
|
|
12
|
+
|
|
13
|
+
def get_prediction: -> Integer
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
class DecisionEventInfo
|
|
4
|
+
attr_reader configs: ATNConfigSet
|
|
5
|
+
attr_reader decision: Integer
|
|
6
|
+
attr_reader full_ctx: bool
|
|
7
|
+
attr_reader input: _TokenStream
|
|
8
|
+
attr_reader start_index: Integer
|
|
9
|
+
attr_reader stop_index: Integer
|
|
10
|
+
|
|
11
|
+
def initialize: (Integer, ATNConfigSet, _TokenStream, Integer, Integer, bool) -> void
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
class DecisionInfo
|
|
4
|
+
attr_reader ambiguities: Array[AmbiguityInfo]
|
|
5
|
+
attr_reader context_sensitivities: Array[ContextSensitivityInfo]
|
|
6
|
+
attr_reader decision: Integer
|
|
7
|
+
|
|
8
|
+
attr_reader errors: Array[ErrorInfo]
|
|
9
|
+
attr_accessor invocations: Integer
|
|
10
|
+
|
|
11
|
+
attr_accessor ll_atn_transitions: Integer
|
|
12
|
+
attr_accessor ll_dfa_transitions: Integer
|
|
13
|
+
attr_accessor ll_fallback: Integer
|
|
14
|
+
attr_accessor ll_max_look: Integer
|
|
15
|
+
attr_accessor ll_max_look_event: LookaheadEventInfo
|
|
16
|
+
attr_accessor ll_min_look: Integer
|
|
17
|
+
attr_accessor ll_total_look: Integer
|
|
18
|
+
attr_reader predicate_evals: Array[PredicateEvalInfo]
|
|
19
|
+
attr_accessor sll_atn_transitions: Integer
|
|
20
|
+
attr_accessor sll_dfa_transitions: Integer
|
|
21
|
+
attr_accessor sll_max_look: Integer
|
|
22
|
+
attr_accessor sll_max_look_event: LookaheadEventInfo
|
|
23
|
+
attr_accessor sll_min_look: Integer
|
|
24
|
+
attr_accessor sll_total_look: Integer
|
|
25
|
+
attr_accessor time_in_prediction: Integer
|
|
26
|
+
|
|
27
|
+
def initialize: (Integer, ATNConfigSet, _TokenStream, Integer, Integer, bool) -> void
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
class LexerATNSimulator < ATNSimulator
|
|
4
|
+
MAX_DFA_EDGE: Integer
|
|
5
|
+
MIN_DFA_EDGE: Integer
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SimState
|
|
12
|
+
|
|
13
|
+
attr_accessor char_pos: Integer
|
|
14
|
+
attr_accessor dfa_state: DFAState?
|
|
15
|
+
attr_accessor index: Integer
|
|
16
|
+
attr_accessor line: Integer
|
|
17
|
+
def reset: -> void
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
@@debug: bool
|
|
21
|
+
|
|
22
|
+
@@dfa_debug: bool
|
|
23
|
+
|
|
24
|
+
def self.debug: -> bool
|
|
25
|
+
|
|
26
|
+
attr_accessor char_position_in_line: Integer
|
|
27
|
+
attr_accessor decision_to_dfa: Array[DFA]
|
|
28
|
+
attr_accessor line: Integer
|
|
29
|
+
attr_accessor mode: Integer
|
|
30
|
+
attr_accessor prev_accept: SimState
|
|
31
|
+
attr_reader recognizer: Lexer
|
|
32
|
+
attr_accessor start_index: Integer
|
|
33
|
+
|
|
34
|
+
def accept: (_CharStream, LexerActionExecutor, Integer, Integer, Integer, Integer) -> void
|
|
35
|
+
|
|
36
|
+
def add_dfa_edge: (DFAState, Integer, ATNConfigSet | DFAState) -> DFAState?
|
|
37
|
+
|
|
38
|
+
def add_dfa_state: (ATNConfigSet) -> DFAState
|
|
39
|
+
|
|
40
|
+
def capture_sim_state: (SimState, _CharStream, DFAState) -> void
|
|
41
|
+
|
|
42
|
+
def closure: (_CharStream, LexerATNConfig, ATNConfigSet, bool, bool, bool) -> bool
|
|
43
|
+
|
|
44
|
+
def compute_start_state: (_CharStream, ATNState) -> ATNConfigSet
|
|
45
|
+
|
|
46
|
+
def compute_target_state: (_CharStream, DFAState, Integer) -> DFAState
|
|
47
|
+
|
|
48
|
+
def consume: (_CharStream) -> void
|
|
49
|
+
|
|
50
|
+
def evaluate_predicate: (_CharStream, Integer, Integer, bool) -> bool
|
|
51
|
+
|
|
52
|
+
def exec_atn: (_CharStream) -> Integer
|
|
53
|
+
|
|
54
|
+
def fail_or_accept: (SimState, _CharStream, ATNConfigSet, Integer) -> Integer
|
|
55
|
+
|
|
56
|
+
def get_char_position_in_line: -> Integer
|
|
57
|
+
|
|
58
|
+
def get_dfa: (Integer) -> DFA
|
|
59
|
+
|
|
60
|
+
def get_epsilon_target: (_CharStream, LexerATNConfig, Transition, ATNConfigSet, bool, bool) -> LexerATNConfig
|
|
61
|
+
|
|
62
|
+
def get_existing_target_state: (DFAState, Integer) -> DFAState
|
|
63
|
+
|
|
64
|
+
def get_line: -> Integer
|
|
65
|
+
|
|
66
|
+
def get_reachable_config_set: (_CharStream, ATNConfigSet, ATNConfigSet, Integer) -> void
|
|
67
|
+
|
|
68
|
+
def get_reachable_target: (Transition, Integer) -> ATNState
|
|
69
|
+
|
|
70
|
+
def get_text: (_CharStream) -> String
|
|
71
|
+
|
|
72
|
+
def get_token_name: (Integer) -> String
|
|
73
|
+
|
|
74
|
+
def match: (_CharStream, Integer) -> Integer
|
|
75
|
+
|
|
76
|
+
def match_atn: (_CharStream) -> Integer
|
|
77
|
+
|
|
78
|
+
def set_char_position_in_line: (Integer) -> void
|
|
79
|
+
|
|
80
|
+
def set_line: (Integer) -> void
|
|
81
|
+
|
|
82
|
+
end
|
|
83
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Antlr4ruby
|
|
2
|
+
|
|
3
|
+
# @abstract
|
|
4
|
+
class ATNState
|
|
5
|
+
BASIC: Integer
|
|
6
|
+
BLOCK_END: Integer
|
|
7
|
+
BLOCK_START: Integer
|
|
8
|
+
INITIAL_NUM_TRANSITIONS: Integer
|
|
9
|
+
|
|
10
|
+
INVALID_STATE_NUMBER: Integer
|
|
11
|
+
INVALID_TYPE: Integer
|
|
12
|
+
|
|
13
|
+
LOOP_END: Integer
|
|
14
|
+
PLUS_BLOCK_START: Integer
|
|
15
|
+
PLUS_LOOP_BACK: Integer
|
|
16
|
+
RULE_START: Integer
|
|
17
|
+
|
|
18
|
+
RULE_STOP: Integer
|
|
19
|
+
STAR_BLOCK_START: Integer
|
|
20
|
+
|
|
21
|
+
STAR_LOOP_BACK: Integer
|
|
22
|
+
STAR_LOOP_ENTRY: Integer
|
|
23
|
+
TOKEN_START: Integer
|
|
24
|
+
|
|
25
|
+
@@serialization_names: Array[String]
|
|
26
|
+
|
|
27
|
+
attr_accessor atn: ATN?
|
|
28
|
+
attr_accessor epsilon_only_transitions: bool
|
|
29
|
+
attr_accessor next_token_within_rule: RangeSet[Integer]
|
|
30
|
+
attr_accessor rule_index: Integer
|
|
31
|
+
attr_accessor state_number: Integer
|
|
32
|
+
attr_reader transitions: Array[Transition]
|
|
33
|
+
|
|
34
|
+
def add_transition: (Transition, Integer) -> void
|
|
35
|
+
|
|
36
|
+
def get_number_of_transitions: -> Integer
|
|
37
|
+
|
|
38
|
+
def get_state_type: -> Integer
|
|
39
|
+
|
|
40
|
+
def get_transition: (Integer) -> Transition?
|
|
41
|
+
|
|
42
|
+
def only_has_epsilon_transitions?: -> bool
|
|
43
|
+
|
|
44
|
+
def remove_transition: (Integer) -> Transition
|
|
45
|
+
|
|
46
|
+
def set_rule_index: (Integer) -> void
|
|
47
|
+
|
|
48
|
+
def set_transition: (Integer, Transition) -> void
|
|
49
|
+
end
|
|
50
|
+
end
|