module GenMachine::Helpers::General
Public Instance Methods
accumulates?(states)
click to toggle source
# File lib/genmachine/generators/general_helper.rb, line 18 def accumulates?(states) states.each do |name,clauses| clauses.each do |c| c[:exprs].each do |e| return true if e =~ /\bs\s*>>/ end end end return false end
accumulators(states)
click to toggle source
# File lib/genmachine/generators/general_helper.rb, line 29 def accumulators(states) accs = {} states.each do |name,clauses| clauses.each do |c| exprs = c[:exprs].dup exprs << c[:acc].dup exprs.each do |e| if e =~ /^([a-zA-Z_][a-zA-Z0-9_]*)?\s*>>>?\s*([a-zA-Z_][a-zA-Z0-9_]*)?$/ accs[$1]=true unless ($1.nil? or $1 == '' or $1 == 'p' or $1 == 's') accs[$3]=true unless ($3.nil? or $3 == '' or $3 == 'p' or $3 == 's') end end end end return accs.keys end
eof_clause?(clauses)
click to toggle source
# File lib/genmachine/generators/general_helper.rb, line 56 def eof_clause?(clauses) clauses.each{|c| return true if c[:cond].include?('eof')} return false end
eof_state?(states)
click to toggle source
# File lib/genmachine/generators/general_helper.rb, line 51 def eof_state?(states) states.each{|name,clauses| return true if name=='{eof}'} return false end
makes_calls?(states)
click to toggle source
# File lib/genmachine/generators/general_helper.rb, line 46 def makes_calls?(states) # TODO: implement false end