Sha256: eb45cffc84c57b5f6596eaead5e57ae00286e89c45029b26a858d94f08277e85
Contents?: true
Size: 908 Bytes
Versions: 3
Compression:
Stored size: 908 Bytes
Contents
module Lrama class Grammar class Code class PrinterCode < Code def initialize(type:, token_code:, tag:) super(type: type, token_code: token_code) @tag = tag end private # * ($$) *yyvaluep # * (@$) *yylocationp # * ($1) error # * (@1) error def reference_to_c(ref) case when ref.type == :dollar && ref.name == "$" # $$ member = @tag.member "((*yyvaluep).#{member})" when ref.type == :at && ref.name == "$" # @$ "(*yylocationp)" when ref.type == :dollar # $n raise "$#{ref.value} can not be used in #{type}." when ref.type == :at # @n raise "@#{ref.value} can not be used in #{type}." else raise "Unexpected. #{self}, #{ref}" end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lrama-0.6.2 | lib/lrama/grammar/code/printer_code.rb |
lrama-0.6.1 | lib/lrama/grammar/code/printer_code.rb |
lrama-0.6.0 | lib/lrama/grammar/code/printer_code.rb |