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.



1283
1284
1285
# File 'lib/rltk/parser.rb', line 1283

def initialize
	self.reset
end

Instance Attribute Details

#errorsArray<Object> (readonly)

A list of all objects added using the error method.

Returns:

  • (Array<Object>)


1280
1281
1282
# File 'lib/rltk/parser.rb', line 1280

def errors
  @errors
end

#heBoolean

Indicates if an error was encountered and handled.

Returns:

  • (Boolean)


1275
1276
1277
# File 'lib/rltk/parser.rb', line 1275

def he
  @he
end

Instance Method Details

#error(o) ⇒ void

This method returns an undefined value.

Adds an object to the list of errors.



1290
1291
1292
# File 'lib/rltk/parser.rb', line 1290

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:



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

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.



1308
1309
1310
1311
# File 'lib/rltk/parser.rb', line 1308

def reset
	@errors	= Array.new
	@he		= false
end

#set_positions(positions) ⇒ Array<StreamPosition>

Setter for the positions array.

Parameters:

Returns:



1318
1319
1320
# File 'lib/rltk/parser.rb', line 1318

def set_positions(positions)
	@positions = positions
end