Module: GenMachine::Helpers::General
- Included in:
- Generators::RubyGenerator
- Defined in:
- lib/genmachine/generators/general_helper.rb
Instance Method Summary collapse
- #accumulates?(states) ⇒ Boolean
- #accumulators(states) ⇒ Object
- #eof_clause?(clauses) ⇒ Boolean
- #eof_state?(states) ⇒ Boolean
- #makes_calls?(states) ⇒ Boolean
Instance Method Details
#accumulates?(states) ⇒ Boolean
18 19 20 21 22 23 24 25 26 27 |
# 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) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# 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) ⇒ Boolean
56 57 58 59 |
# 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) ⇒ Boolean
51 52 53 54 |
# 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) ⇒ Boolean
46 47 48 49 |
# File 'lib/genmachine/generators/general_helper.rb', line 46 def makes_calls?(states) # TODO: implement false end |