class Racc::Sym
Stands terminal and nonterminal symbols.
Attributes
              assoc[RW]
            
            
              expand[R]
            
            
              hash[R]
            
            
              heads[R]
            
            cache
              ident[R]
            
            
              locate[R]
            
            
              precedence[RW]
            
            
              serialized[W]
            
            
              value[R]
            
            Public Class Methods
                              new(value, dummyp)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 974 def initialize(value, dummyp) @ident = nil @value = value @dummyp = dummyp @term = nil @nterm = nil @should_terminal = false @precedence = nil case value when Symbol @to_s = value.to_s @serialized = value.inspect @string = false when String @to_s = value.inspect @serialized = value.dump @string = true when false @to_s = '$end' @serialized = 'false' @string = false when ErrorSymbolValue @to_s = 'error' @serialized = 'Object.new' @string = false else raise ArgumentError, "unknown symbol value: #{value.class}" end @heads = [] @locate = [] @snull = nil @null = nil @expand = nil @useless = nil end
                              once_writer(nm)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1013 def once_writer(nm) nm = nm.id2name module_eval(<<-EOS) def #{nm}=(v) raise 'racc: fatal: @#{nm} != nil' unless @#{nm}.nil? @#{nm} = v end EOS end
Public Instance Methods
                              dummy?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1031 def dummy? @dummyp end
                              nonterminal?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1039 def nonterminal? @nterm end
                              null=(n)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1101 def null=(n) @null = n end
                              nullable?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1097 def nullable? @null end
                              rule()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1080 def rule Rule.new(nil, [self], UserAction.empty) end
                              self_null?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1091 def self_null? @snull end
                              serialize()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1061 def serialize @serialized end
                              should_terminal()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1049 def should_terminal @should_terminal = true end
                              should_terminal?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1053 def should_terminal? @should_terminal end
                              string_symbol?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1057 def string_symbol? @string end
                              term=(t)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1043 def term=(t) raise 'racc: fatal: term= called twice' unless @term.nil? @term = t @nterm = !t end
                              terminal?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1035 def terminal? @term end
                              to_s()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1070 def to_s @to_s.dup end
                              Also aliased as: inspect
                            
                          
                              useless=(f)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1112 def useless=(f) @useless = f end
                              useless?()
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1108 def useless? @useless end
                              |(x)
                              click to toggle source
                            
                            # File racc/grammar.rb, line 1076 def |(x) rule() | x.rule end