Sha256: 58a985b3bfd18e7be6a795ade5ed57720ad4609490e948919a6bb308d134d75c
Contents?: true
Size: 690 Bytes
Versions: 15
Compression:
Stored size: 690 Bytes
Contents
# frozen_string_literal: true class Language class Atom class Aka < Atom def initialize(name:, parent:) @name = name @parent = parent end def parse(parser) clone = Parser.new(root: self, input: parser.input, cursor: parser.cursor) @parent.parse(clone) if clone.output? parser.output = Output.new(@name => clone.output) else parser.output[@name] = Output.new(clone.buffer) parser.buffer = "" end parser.cursor = clone.cursor end def to_s @parent ? "#{@parent}.aka(#{@name.inspect})" : "aka(#{@name.inspect})" end end end end
Version data entries
15 entries across 15 versions & 1 rubygems