Sha256: bdc4c98e08fbbc9ff35ae5cdad7022a4f232deee6594beb5c693e5fe9d2e23a6
Contents?: true
Size: 1.01 KB
Versions: 1
Compression:
Stored size: 1.01 KB
Contents
module Liquidscript module Compiler class ICR < Base module Functions def compile_property(prop) shift :prop ref = if prop.type == :identifier ref(prop) else prop end property = action do |ident| code :property, ref, ident end code = expect :identifier => property expect :lparen => action { compile_call(code) }, :equal => action { compile_assignment(code) }, :prop => action { compile_property(code) }, :_ => action { code } end def compile_call(subject) shift :lparen arguments = [] loop do expect :comma => action.shift, :rparen => action.end_loop, :_ => action { arguments << compile_expression } end code :call, subject, *arguments end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
liquidscript-0.0.1 | lib/liquidscript/compiler/icr/functions.rb |