# File lib/randexp/parser.rb, line 36 def self.parse_quantified(source, multiplicity) case source when /^[^()]*$/ then quantify_rhs(parse(source), multiplicity) #implied union: /...+/ when /^(\(.*\))$/ then quantify(parse(source), multiplicity) #group: /(...)?/ when /^(.*\))$/ then quantify_rhs(parse(source), multiplicity) #implied union: /...(...)?/ when /^(.*[^)]+)$/ then quantify_rhs(parse(source), multiplicity) #implied union: /...(...)...?/ else quantify(parse(source), multiplicity) end end