Sha256: 33c27d947c0cea91bdd3a28698499d57921bbb5c30c9abc09195bf904a3db205
Contents?: true
Size: 1.94 KB
Versions: 2
Compression:
Stored size: 1.94 KB
Contents
module Pione module Transformer module LiteralTransformer include TransformerModule # boolean rule(:boolean => simple(:s)) do line_and_column = s.line_and_column val = (s == "true") Model::PioneBoolean.new(val) do set_line_and_column(line_and_column) end end # string rule(:string => simple(:s)) do line_and_column = s.line_and_column Model::PioneString.new(s.str.gsub(/\\(.)/){$1}) do set_line_and_column(line_and_column) end end # integer rule(:integer => simple(:i)) do line_and_column = i.line_and_column Model::PioneInteger.new(i.to_i) do set_line_and_column(line_and_column) end end # float rule(:float => simple(:f)) do line_and_column = f.line_and_column Model::PioneFloat.new(f.to_f) do set_line_and_column(line_and_column) end end # variable rule(:variable => simple(:v)) do line_and_column = v.line_and_column Model::Variable.new(v) do set_line_and_column(line_and_column) end end # data_name # escape characters are substituted rule(:data_name => simple(:name)) do line_and_column = name.line_and_column Model::DataExpr.new(name.str.gsub(/\\(.)/) {$1}) do set_line_and_column(line_and_column) end end # package_name rule(:package_name => simple(:name)) do line_and_column = name.line_and_column Model::Package.new(name) do set_line_and_column(line_and_column) end end # rule_name rule(:rule_name => simple(:name)) do line_and_column = name.line_and_column RuleExpr.new( Package.new(Thread.current[:current_package_name]), name ) do set_line_and_column(line_and_column) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pione-0.1.1 | lib/pione/transformer/literal-transformer.rb |
pione-0.1.0 | lib/pione/transformer/literal-transformer.rb |