module Rucc::Parser::Label
Private Instance Methods
read_label(tok)
click to toggle source
@param [Token] tok @return [Node]
# File lib/rucc/parser/label.rb, line 9 def read_label(tok) label = tok.sval if @labels[label] Util.errort!(tok, "duplicate label: #{tok}") end r = Node.ast_label(label) @labels[label] = r read_label_tail(r) end
read_label_tail(label)
click to toggle source
@param [Node] label @return [Node]
# File lib/rucc/parser/label.rb, line 21 def read_label_tail(label) stmt = read_stmt v = [label] if stmt v.push(stmt) end Node.ast_compound_stmt(v) end