Class: RLTK::Parser::Environment
- Inherits:
-
Object
- Object
- RLTK::Parser::Environment
- Defined in:
- lib/rltk/parser.rb
Overview
All actions passed to Parser.producation and Parser.clause are evaluated inside an instance of the Environment class or its subclass (which must have the same name).
Instance Attribute Summary collapse
-
#errors ⇒ Array<Object>
readonly
A list of all objects added using the error method.
-
#he ⇒ Boolean
Indicates if an error was encountered and handled.
Instance Method Summary collapse
-
#error(o) ⇒ void
Adds an object to the list of errors.
-
#initialize ⇒ Environment
constructor
Instantiate a new Environment object.
-
#pos(n) ⇒ StreamPosition
Returns a StreamPosition object for the symbol at location n, indexed from zero.
-
#reset ⇒ void
Reset any variables that need to be re-initialized between parse calls.
-
#set_positions(positions) ⇒ Array<StreamPosition>
Setter for the positions array.
Constructor Details
#initialize ⇒ Environment
Instantiate a new Environment object.
1303 1304 1305 |
# File 'lib/rltk/parser.rb', line 1303 def initialize self.reset end |
Instance Attribute Details
#errors ⇒ Array<Object> (readonly)
A list of all objects added using the error method.
1300 1301 1302 |
# File 'lib/rltk/parser.rb', line 1300 def errors @errors end |
#he ⇒ Boolean
Indicates if an error was encountered and handled.
1295 1296 1297 |
# File 'lib/rltk/parser.rb', line 1295 def he @he end |
Instance Method Details
#error(o) ⇒ void
This method returns an undefined value.
Adds an object to the list of errors.
1310 1311 1312 |
# File 'lib/rltk/parser.rb', line 1310 def error(o) @errors << o end |
#pos(n) ⇒ StreamPosition
Returns a StreamPosition object for the symbol at location n, indexed from zero.
1320 1321 1322 |
# File 'lib/rltk/parser.rb', line 1320 def pos(n) @positions[n] end |
#reset ⇒ void
This method returns an undefined value.
Reset any variables that need to be re-initialized between parse calls.
1328 1329 1330 1331 |
# File 'lib/rltk/parser.rb', line 1328 def reset @errors = Array.new @he = false end |
#set_positions(positions) ⇒ Array<StreamPosition>
Setter for the positions array.
1338 1339 1340 |
# File 'lib/rltk/parser.rb', line 1338 def set_positions(positions) @positions = positions end |