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.



1211
1212
1213
# File 'lib/rltk/parser.rb', line 1211

def initialize
	self.reset
end

Instance Attribute Details

#errorsArray<Object> (readonly)

A list of all objects added using the error method.

Returns:



1208
1209
1210
# File 'lib/rltk/parser.rb', line 1208

def errors
  @errors
end

#heBoolean

Indicates if an error was encountered and handled.

Returns:

  • (Boolean)


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.

Parameters:

  • n (Integer)

    Index for symbol position.

Returns:



1228
1229
1230
# File 'lib/rltk/parser.rb', line 1228

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.



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.

Parameters:

Returns:



1246
1247
1248
# File 'lib/rltk/parser.rb', line 1246

def set_positions(positions)
	@positions = positions
end