Class: Ibex::Frontend::DSL::PrecedenceBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/ibex/frontend/dsl.rb

Overview

Collects ordered associativity levels.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(grammar) ⇒ PrecedenceBuilder

Returns a new instance of PrecedenceBuilder.



204
205
206
207
# File 'lib/ibex/frontend/dsl.rb', line 204

def initialize(grammar)
  @grammar = grammar
  @levels = [] #: Array[AST::PrecedenceLevel]
end

Instance Attribute Details

#levelsObject (readonly)

: Array



199
200
201
# File 'lib/ibex/frontend/dsl.rb', line 199

def levels
  @levels
end

Instance Method Details

#left(*symbols) ⇒ Object



210
# File 'lib/ibex/frontend/dsl.rb', line 210

def left(*symbols) = add_level(:left, symbols)

#nonassoc(*symbols) ⇒ Object



216
# File 'lib/ibex/frontend/dsl.rb', line 216

def nonassoc(*symbols) = add_level(:nonassoc, symbols)

#right(*symbols) ⇒ Object



213
# File 'lib/ibex/frontend/dsl.rb', line 213

def right(*symbols) = add_level(:right, symbols)