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  |