Sha256: 16d0d05a4be1f87ce440bcae9dec2ce18a0b4a6b3eeb4e3c0c340af63e318bc5
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
module Soroban class Formula < Treetop::Runtime::SyntaxNode def rewrite(value) value.gsub(/^= */, '') end end class Identifier < Treetop::Runtime::SyntaxNode def rewrite(value) "@#{value}.get" end def extract(value) value.to_sym end end class IntegerValue < Treetop::Runtime::SyntaxNode def rewrite(value) "#{value.to_f}" end end class FloatValue < Treetop::Runtime::SyntaxNode def rewrite(value) "#{value.to_f}" end end class Function < Treetop::Runtime::SyntaxNode def rewrite(value) match = /^([^(]*)(.*)$/.match(value) "func_#{match[1].downcase}#{match[2]}" end end class Pow < Treetop::Runtime::SyntaxNode def rewrite(value) "**" end end class Equal < Treetop::Runtime::SyntaxNode def rewrite(value) "==" end end class NotEqual < Treetop::Runtime::SyntaxNode def rewrite(value) "!=" end end class Label < Treetop::Runtime::SyntaxNode def rewrite(value) value.gsub('$', '') end end class Range < Treetop::Runtime::SyntaxNode def rewrite(value) "'#{value}'" end def extract(value) LabelWalker.new(value).map { |label| "#{label}".to_sym } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
soroban-0.5.4 | lib/soroban/parser/nodes.rb |