Class: RLTK::Parser::Environment

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initializeEnvironment

Instantiate a new Environment object.



1303
1304
1305
# File 'lib/rltk/parser.rb', line 1303

def initialize
  self.reset
end

Instance Attribute Details

#errorsArray<Object> (readonly)

A list of all objects added using the error method.

Returns:

  • (Array<Object>)


1300
1301
1302
# File 'lib/rltk/parser.rb', line 1300

def errors
  @errors
end

#heBoolean

Indicates if an error was encountered and handled.

Returns:

  • (Boolean)


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.

Parameters:

  • n (Integer)

    Index for symbol position.

Returns:



1320
1321
1322
# File 'lib/rltk/parser.rb', line 1320

def pos(n)
  @positions[n]
end

#resetvoid

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.

Parameters:

Returns:



1338
1339
1340
# File 'lib/rltk/parser.rb', line 1338

def set_positions(positions)
  @positions = positions
end