Class: Lrama::Lexer::Token

Inherits:
Struct
  • Object
show all
Defined in:
lib/lrama/lexer.rb

Overview

s_value is semantic value

Defined Under Namespace

Classes: Type

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#columnObject

Returns the value of attribute column.



13
14
15
# File 'lib/lrama/lexer.rb', line 13

def column
  @column
end

#lineObject

Returns the value of attribute line.



13
14
15
# File 'lib/lrama/lexer.rb', line 13

def line
  @line
end

#referencesObject

For User_code



15
16
17
# File 'lib/lrama/lexer.rb', line 15

def references
  @references
end

#referredObject

Returns the value of attribute referred.



13
14
15
# File 'lib/lrama/lexer.rb', line 13

def referred
  @referred
end

#s_valueObject

Returns the value of attribute s_value

Returns:

  • (Object)

    the current value of s_value



10
11
12
# File 'lib/lrama/lexer.rb', line 10

def s_value
  @s_value
end

#typeObject

Returns the value of attribute type

Returns:

  • (Object)

    the current value of type



10
11
12
# File 'lib/lrama/lexer.rb', line 10

def type
  @type
end

Class Method Details

.define_type(name) ⇒ Object



24
25
26
27
28
29
# File 'lib/lrama/lexer.rb', line 24

def self.define_type(name)
  type = Type.new(id: @i, name: name.to_s)
  const_set(name, type)
  @types << type
  @i += 1
end

Instance Method Details

#to_sObject



17
18
19
# File 'lib/lrama/lexer.rb', line 17

def to_s
  "#{super} line: #{line}, column: #{column}"
end