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.
361 362 363 364 365 366 |
# File 'lib/racc/grammar.rb', line 361 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.
368 369 370 |
# File 'lib/racc/grammar.rb', line 368 def reverse @reverse end |
Instance Method Details
#higher ⇒ Object
370 371 372 373 374 375 |
# File 'lib/racc/grammar.rb', line 370 def higher if @prechigh_seen raise CompileError, "prechigh used twice" end @prechigh_seen = true end |
#left(*syms) ⇒ Object
387 388 389 |
# File 'lib/racc/grammar.rb', line 387 def left(*syms) @grammar.declare_precedence :Left, syms.map {|s| @grammar.intern(s) } end |
#lower ⇒ Object
377 378 379 380 381 382 383 384 385 |
# File 'lib/racc/grammar.rb', line 377 def lower if @preclow_seen raise CompileError, "preclow used twice" end if @prechigh_seen @reverse = true end @preclow_seen = true end |
#nonassoc(*syms) ⇒ Object
395 396 397 |
# File 'lib/racc/grammar.rb', line 395 def nonassoc(*syms) @grammar.declare_precedence :Nonassoc, syms.map {|s| @grammar.intern(s)} end |
#right(*syms) ⇒ Object
391 392 393 |
# File 'lib/racc/grammar.rb', line 391 def right(*syms) @grammar.declare_precedence :Right, syms.map {|s| @grammar.intern(s) } end |