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.
1240 1241 1242 |
# File 'lib/rltk/parser.rb', line 1240 def initialize self.reset end |
Instance Attribute Details
#errors ⇒ Array<Object> (readonly)
A list of all objects added using the error method.
1237 1238 1239 |
# File 'lib/rltk/parser.rb', line 1237 def errors @errors end |
#he ⇒ Boolean
Indicates if an error was encountered and handled.
1232 1233 1234 |
# File 'lib/rltk/parser.rb', line 1232 def he @he end |
Instance Method Details
#error(o) ⇒ void
This method returns an undefined value.
Adds an object to the list of errors.
1247 1248 1249 |
# File 'lib/rltk/parser.rb', line 1247 def error(o) @errors << o end |
#pos(n) ⇒ StreamPosition
Returns a StreamPosition object for the symbol at location n, indexed from zero.
1257 1258 1259 |
# File 'lib/rltk/parser.rb', line 1257 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.
1265 1266 1267 1268 |
# File 'lib/rltk/parser.rb', line 1265 def reset @errors = Array.new @he = false end |
#set_positions(positions) ⇒ Array<StreamPosition>
Setter for the positions array.
1275 1276 1277 |
# File 'lib/rltk/parser.rb', line 1275 def set_positions(positions) @positions = positions end |