def float_grammar_with_range(start, end): float_grammar = extend_grammar(FLOAT_GRAMMAR) set_opts(float_grammar, "<float>", "<_float>", opts(pre=lambda: start + random.random() * (end - start))) return float_grammar
def set_prob(grammar, symbol, expansion, prob): """Set the probability of the given expansion of grammar[symbol]""" set_opts(grammar, symbol, expansion, opts(prob=prob))
def int_grammar_with_range(start, end): int_grammar = extend_grammar(INT_GRAMMAR) set_opts(int_grammar, "<int>", "<_int>", opts(pre=lambda: random.randint(start, end))) return int_grammar