Sha256: 58e87b7bfaaee6c5f01c0916c4be62d667b263d0d361fd2b10931f1630b91502
Contents?: true
Size: 733 Bytes
Versions: 4
Compression:
Stored size: 733 Bytes
Contents
module Pione module Transformer # BlockTransformer is a transformer for syntax tree of blocks. module BlockTransformer include TransformerModule # Transform +:flow_block+ as Model::FlowBlock. rule(:flow_block => sequence(:elements)) { FlowBlock.new(*elements) } # Transform +:action_block+ as Model::ActionBlock. rule(:action_block => { :key => simple(:keyword_Action), :content => simple(:content) } ) { val = content.str ActionBlock.new(val).tap do |x| x.set_line_and_column(keyword_Action.line_and_column) end } rule(:empty_block => simple(:any)) { EmptyBlock.instance } end end end
Version data entries
4 entries across 4 versions & 1 rubygems