def on_terminals(node, compiled_grammar)
      node.children.each do |child|
        name = process(child, compiled_grammar)

        if compiled_grammar.has_terminal?(name)
          compiled_grammar.add_error(
            "The terminal #{name.inspect} has already been defined",
            child.source_line
          )
        else
          compiled_grammar.add_terminal(name, child.source_line)
        end
      end
    end
def on_terminals(node, compiled_grammar)
      node.children.each do |child|
        name = process(child, compiled_grammar)

        if compiled_grammar.has_terminal?(name)
          compiled_grammar.add_error(
            "The terminal #{name.inspect} has already been defined",
            child.source_line
          )
        else
          compiled_grammar.add_terminal(name, child.source_line)
        end
      end
    end
Processes the assignment of terminals.

 @see [#process]