Exception: ANTLR3::Error::RecognitionError
- Inherits:
-
StandardError
- Object
- StandardError
- ANTLR3::Error::RecognitionError
- Includes:
- Constants
- Defined in:
- lib/antlr3/error.rb
Overview
The base class of the variety of syntax errors that can occur during the recognition process. These errors all typically concern an expectation built in to the recognizer by the rules of a grammar and an input symbol which failed to fit the expectation.
Direct Known Subclasses
EarlyExit, FailedPredicate, MismatchedRange, MismatchedSet, MismatchedToken, MismatchedTreeNode, NoViableAlternative
Constant Summary
Constant Summary
Constants included from Constants
Constants::BUILT_IN_TOKEN_NAMES, Constants::DEFAULT, Constants::DOWN, Constants::EOF, Constants::EOF_TOKEN, Constants::EOR_TOKEN_TYPE, Constants::HIDDEN, Constants::INVALID_TOKEN, Constants::INVALID_TOKEN_TYPE, Constants::MEMO_RULE_FAILED, Constants::MEMO_RULE_UNKNOWN, Constants::MIN_TOKEN_TYPE, Constants::SKIP_TOKEN, Constants::UP
Instance Attribute Summary (collapse)
-
- (Object) column
Returns the value of attribute column.
-
- (Object) index
Returns the value of attribute index.
-
- (Object) input
Returns the value of attribute input.
-
- (Object) line
Returns the value of attribute line.
-
- (Object) source_name
Returns the value of attribute source_name.
-
- (Object) symbol
Returns the value of attribute symbol.
-
- (Object) token
Returns the value of attribute token.
Instance Method Summary (collapse)
- - (Boolean) approximate_line_info?
-
- (RecognitionError) initialize(input = nil)
constructor
A new instance of RecognitionError.
- - (Object) location
- - (Object) unexpected_type
Constructor Details
- (RecognitionError) initialize(input = nil)
A new instance of RecognitionError
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/antlr3/error.rb', line 109 def initialize( input = nil ) @index = @line = @column = nil @approximate_line_info = false if @input = input @index = input.index @source_name = @input.source_name rescue nil case @input when TokenStream @token = @symbol = input.look @line = @symbol.line @column = @symbol.column when CharacterStream @token = @symbol = input.peek || EOF @line = @input.line @column = @input.column when AST::TreeNodeStream @symbol = @input.look if @symbol.respond_to?( :line ) and @symbol.respond_to?( :column ) @line, @column = @symbol.line, @symbol.column else extract_from_node_stream( @input ) end else @symbol = @input.look if @symbol.respond_to?( :line ) and @symbol.respond_to?( :column ) @line, @column = @symbol.line, @symbol.column elsif @input.respond_to?( :line ) and @input.respond_to?( :column ) @line, @column = @input.line, @input.column end end end super( ) end |
Instance Attribute Details
- (Object) column
Returns the value of attribute column
107 108 109 |
# File 'lib/antlr3/error.rb', line 107 def column @column end |
- (Object) index
Returns the value of attribute index
107 108 109 |
# File 'lib/antlr3/error.rb', line 107 def index @index end |
- (Object) input
Returns the value of attribute input
107 108 109 |
# File 'lib/antlr3/error.rb', line 107 def input @input end |
- (Object) line
Returns the value of attribute line
107 108 109 |
# File 'lib/antlr3/error.rb', line 107 def line @line end |
- (Object) source_name
Returns the value of attribute source_name
107 108 109 |
# File 'lib/antlr3/error.rb', line 107 def source_name @source_name end |
- (Object) symbol
Returns the value of attribute symbol
107 108 109 |
# File 'lib/antlr3/error.rb', line 107 def symbol @symbol end |
- (Object) token
Returns the value of attribute token
107 108 109 |
# File 'lib/antlr3/error.rb', line 107 def token @token end |
Instance Method Details
- (Boolean) approximate_line_info?
143 144 145 |
# File 'lib/antlr3/error.rb', line 143 def approximate_line_info? @approximate_line_info end |
- (Object) location
159 160 161 162 163 |
# File 'lib/antlr3/error.rb', line 159 def location if @source_name then "in #@source_name @ line #@line:#@column" else "line #@line:#@column" end end |
- (Object) unexpected_type
147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/antlr3/error.rb', line 147 def unexpected_type case @input when TokenStream @symbol.type when AST::TreeNodeStream adaptor = @input.adaptor return adaptor.type( @symbol ) else return @symbol end end |