class Racc::LocationPointer
A set of rule and position in it’s RHS. Note that the number of pointers is more than rule’s RHS array, because pointer points right edge of the final symbol when reducing.
Attributes
              dereference[R]
            
            
              hash[R]
            
            
              ident[R]
            
            
              index[R]
            
            
              reduce[R]
            
            
              reduce?[R]
            
            
              rule[R]
            
            
              symbol[R]
            
            Public Class Methods
                              new(rule, i, sym)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 814 def initialize(rule, i, sym) @rule = rule @index = i @symbol = sym @ident = @rule.hash + i @reduce = sym.nil? end
Public Instance Methods
                              before(len)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 856 def before(len) @rule.ptrs[@index - len] or ptr_bug! end
                              eql?(ot)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 840 def eql?(ot) @hash == ot.hash end
                              Also aliased as: ==
                            
                          
                              head?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 846 def head? @index == 0 end
                              next()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 850 def next @rule.ptrs[@index + 1] or ptr_bug! end
                              Also aliased as: increment
                            
                          
                              to_s()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 833 def to_s sprintf('(%d,%d %s)', @rule.ident, @index, (reduce?() ? '#' : @symbol.to_s)) end
                              Also aliased as: inspect
                            
                          Private Instance Methods
                              ptr_bug!()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 862 def ptr_bug! raise "racc: fatal: pointer not exist: self: #{to_s}" end