lib/lrama/grammar.rb in lrama-0.5.4 vs lib/lrama/grammar.rb in lrama-0.5.5
- old
+ new
@@ -101,10 +101,14 @@
def add_right(sym, precedence)
set_precedence(sym, Precedence.new(type: :right, precedence: precedence))
end
+ def add_precedence(sym, precedence)
+ set_precedence(sym, Precedence.new(type: :precedence, precedence: precedence))
+ end
+
def set_precedence(sym, precedence)
raise "" if sym.nterm?
sym.precedence = precedence
end
@@ -308,11 +312,10 @@
nterms.find do |nterm|
nterm.id == id
end || (raise "Nterm not found: #{id}")
end
-
def append_special_symbols
# YYEMPTY (token_id: -2, number: -2) is added when a template is evaluated
# term = add_term(id: Token.new(Token::Ident, "YYEMPTY"), token_id: -2)
# term.number = -2
# @empty_symbol = term
@@ -510,10 +513,10 @@
sym.token_id = 9
when "\\v"
sym.token_id = 11
when "\""
sym.token_id = 34
- when "\'"
+ when "'"
sym.token_id = 39
when "\\\\"
sym.token_id = 92
when /\A\\(\d+)\z/
sym.token_id = Integer($1, 8)