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.
1211 1212 1213 |
# File 'lib/rltk/parser.rb', line 1211 def initialize self.reset end |
Instance Attribute Details
#errors ⇒ Array<Object> (readonly)
A list of all objects added using the error method.
1208 1209 1210 |
# File 'lib/rltk/parser.rb', line 1208 def errors @errors end |
#he ⇒ Boolean
Indicates if an error was encountered and handled.
1203 1204 1205 |
# File 'lib/rltk/parser.rb', line 1203 def he @he end |
Instance Method Details
#error(o) ⇒ void
This method returns an undefined value.
Adds an object to the list of errors.
1218 1219 1220 |
# File 'lib/rltk/parser.rb', line 1218 def error(o) @errors << o end |
#pos(n) ⇒ StreamPosition
Returns a StreamPosition object for the symbol at location n, indexed from zero.
1228 1229 1230 |
# File 'lib/rltk/parser.rb', line 1228 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.
1236 1237 1238 1239 |
# File 'lib/rltk/parser.rb', line 1236 def reset @errors = Array.new @he = false end |
#set_positions(positions) ⇒ Array<StreamPosition>
Setter for the positions array.
1246 1247 1248 |
# File 'lib/rltk/parser.rb', line 1246 def set_positions(positions) @positions = positions end |