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