Class: Racc::Grammar::PrecedenceDefinitionEnv
- Defined in:
- lib/racc/grammar.rb
Instance Attribute Summary collapse
-
#reverse ⇒ Object
readonly
Returns the value of attribute reverse.
Instance Method Summary collapse
- #higher ⇒ Object
-
#initialize(g) ⇒ PrecedenceDefinitionEnv
constructor
A new instance of PrecedenceDefinitionEnv.
- #left(*syms) ⇒ Object
- #lower ⇒ Object
- #nonassoc(*syms) ⇒ Object
- #right(*syms) ⇒ Object
Constructor Details
#initialize(g) ⇒ PrecedenceDefinitionEnv
Returns a new instance of PrecedenceDefinitionEnv.
366 367 368 369 370 371 |
# File 'lib/racc/grammar.rb', line 366 def initialize(g) @grammar = g @prechigh_seen = false @preclow_seen = false @reverse = false end |
Instance Attribute Details
#reverse ⇒ Object (readonly)
Returns the value of attribute reverse.
373 374 375 |
# File 'lib/racc/grammar.rb', line 373 def reverse @reverse end |
Instance Method Details
#higher ⇒ Object
375 376 377 378 379 380 |
# File 'lib/racc/grammar.rb', line 375 def higher if @prechigh_seen raise CompileError, "prechigh used twice" end @prechigh_seen = true end |
#left(*syms) ⇒ Object
392 393 394 |
# File 'lib/racc/grammar.rb', line 392 def left(*syms) @grammar.declare_precedence :Left, syms.map {|s| @grammar.intern(s) } end |
#lower ⇒ Object
382 383 384 385 386 387 388 389 390 |
# File 'lib/racc/grammar.rb', line 382 def lower if @preclow_seen raise CompileError, "preclow used twice" end if @prechigh_seen @reverse = true end @preclow_seen = true end |
#nonassoc(*syms) ⇒ Object
400 401 402 |
# File 'lib/racc/grammar.rb', line 400 def nonassoc(*syms) @grammar.declare_precedence :Nonassoc, syms.map {|s| @grammar.intern(s)} end |
#right(*syms) ⇒ Object
396 397 398 |
# File 'lib/racc/grammar.rb', line 396 def right(*syms) @grammar.declare_precedence :Right, syms.map {|s| @grammar.intern(s) } end |