class SFRP::Flat::MatchExp::Pattern
Public Instance Methods
alpha_convert(table, serial)
click to toggle source
# File lib/sfrp/flat/expression.rb, line 59 def alpha_convert(table, serial) new_ref_var_str = ref_var_str && (table[ref_var_str] = "_alpha#{serial.shift}") new_args = args.map { |a| a.alpha_convert(table, serial) } Pattern.new(vconst_str, new_ref_var_str, new_args) end
duplicated_var_check()
click to toggle source
# File lib/sfrp/flat/expression.rb, line 70 def duplicated_var_check vstrs = var_strs vstrs.each do |s| raise DuplicatedVariableError.new(s) if vstrs.count(s) > 1 end end
to_poly()
click to toggle source
# File lib/sfrp/flat/expression.rb, line 77 def to_poly Poly::Pattern.new(vconst_str, ref_var_str, args.map(&:to_poly)) end
var_strs()
click to toggle source
# File lib/sfrp/flat/expression.rb, line 66 def var_strs [ref_var_str, *args.flat_map(&:var_strs)].reject(&:nil?) end