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 racc/grammar.rb, line 608 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 racc/grammar.rb, line 687 def ==(other) other.kind_of?(Rule) and @ident == other.ident end
                              [](idx)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 691 def [](idx) @symbols[idx] end
                              accept?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 707 def accept? if tok = @symbols[-1] tok.anchor? else false end end
                              each(&block)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 715 def each(&block) @symbols.each(&block) end
                              each_rule() { |self| ... }
                              click to toggle source
                            
                            # File racc/grammar.rb, line 636 def each_rule(&block) yield self @alternatives.each(&block) end
                              empty?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 699 def empty? @symbols.empty? end
                              hash=(n)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 646 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 racc/grammar.rb, line 683 def inspect "#<Racc::Rule id=#{@ident} (#{@target})>" end
                              null=(n)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 678 def null=(n) @null = n end
                              nullable?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 677 def nullable?() @null end
                              prec(sym, &block)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 664 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 racc/grammar.rb, line 656 def precedence @specified_prec || @precedence end
                              precedence=(sym)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 660 def precedence=(sym) @precedence ||= sym end
                              replace(src, dest)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 719 def replace(src, dest) @target = dest @symbols = @symbols.map {|s| s == src ? dest : s } end
                              rule()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 632 def rule self end
                              size()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 695 def size @symbols.size end
                              to_s()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 703 def to_s "#<rule#{@ident}>" end
                              useless=(u)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 681 def useless=(u) @useless = u end
                              useless?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 680 def useless?() @useless end
                              |(x)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 627 def |(x) @alternatives.push x.rule self end