class Racc::Rule
Attributes
          action[R]
        
        
          hash[R]
        
        
          ident[RW]
        
        
          ptrs[R]
        
        
          specified_prec[RW]
        
        
          symbols[R]
        
        
          target[RW]
        
        Public Class Methods
            new(target, syms, act)
            click to toggle source
          
        # File lib/racc/grammar.rb, line 610 def initialize(target, syms, act) @target = target @symbols = syms @action = act @alternatives = [] @ident = nil @hash = nil @ptrs = nil @precedence = nil @specified_prec = nil @null = nil @useless = nil end
Public Instance Methods
            ==(other)
            click to toggle source
          
        # File lib/racc/grammar.rb, line 689 def ==(other) other.kind_of?(Rule) and @ident == other.ident end
            [](idx)
            click to toggle source
          
        # File lib/racc/grammar.rb, line 693 def [](idx) @symbols[idx] end
            accept?()
            click to toggle source
          
        # File lib/racc/grammar.rb, line 709 def accept? if tok = @symbols[-1] tok.anchor? else false end end
            each(&block)
            click to toggle source
          
        # File lib/racc/grammar.rb, line 717 def each(&block) @symbols.each(&block) end
            each_rule() { |self| ... }
            click to toggle source
          
        # File lib/racc/grammar.rb, line 638 def each_rule(&block) yield self @alternatives.each(&block) end
            empty?()
            click to toggle source
          
        # File lib/racc/grammar.rb, line 701 def empty? @symbols.empty? end
            hash=(n)
            click to toggle source
          
        # File lib/racc/grammar.rb, line 648 def hash=(n) @hash = n ptrs = [] @symbols.each_with_index do |sym, idx| ptrs.push LocationPointer.new(self, idx, sym) end ptrs.push LocationPointer.new(self, @symbols.size, nil) @ptrs = ptrs end
            inspect()
            click to toggle source
          
        # File lib/racc/grammar.rb, line 685 def inspect "#<Racc::Rule id=#{@ident} (#{@target})>" end
            null=(n)
            click to toggle source
          
        # File lib/racc/grammar.rb, line 680 def null=(n) @null = n end
            nullable?()
            click to toggle source
          
        # File lib/racc/grammar.rb, line 679 def nullable?() @null end
            prec(sym, &block)
            click to toggle source
          
        # File lib/racc/grammar.rb, line 666 def prec(sym, &block) @specified_prec = sym if block unless @action.empty? raise CompileError, 'both of rule action block and prec block given' end @action = UserAction.proc(block) end self end
            precedence()
            click to toggle source
          
        # File lib/racc/grammar.rb, line 658 def precedence @specified_prec || @precedence end
            precedence=(sym)
            click to toggle source
          
        # File lib/racc/grammar.rb, line 662 def precedence=(sym) @precedence ||= sym end
            replace(src, dest)
            click to toggle source
          
        # File lib/racc/grammar.rb, line 721 def replace(src, dest) @target = dest @symbols = @symbols.map {|s| s == src ? dest : s } end
            rule()
            click to toggle source
          
        # File lib/racc/grammar.rb, line 634 def rule self end
            size()
            click to toggle source
          
        # File lib/racc/grammar.rb, line 697 def size @symbols.size end
            to_s()
            click to toggle source
          
        # File lib/racc/grammar.rb, line 705 def to_s "#<rule#{@ident}>" end
            useless=(u)
            click to toggle source
          
        # File lib/racc/grammar.rb, line 683 def useless=(u) @useless = u end
            useless?()
            click to toggle source
          
        # File lib/racc/grammar.rb, line 682 def useless?() @useless end
            |(x)
            click to toggle source
          
        # File lib/racc/grammar.rb, line 629 def |(x) @alternatives.push x.rule self end