def generate_random(grammar=E_, s='S'):
    """Replace each token in s by a random entry in grammar (recursively).
    This is useful for testing a grammar, e.g. generate_random(E_)"""
    import random

    def rewrite(tokens, into):
        for token in tokens:
            if token in grammar.rules:
                rewrite(random.choice(grammar.rules[token]), into)
            elif token in grammar.lexicon:
                into.append(random.choice(grammar.lexicon[token]))
            else:
                into.append(token)
        return into

    return ' '.join(rewrite(s.split(), []))
def generate_random(grammar=E_, s='S'):
    """Replace each token in s by a random entry in grammar (recursively).
    This is useful for testing a grammar, e.g. generate_random(E_)"""
    import random

    def rewrite(tokens, into):
        for token in tokens:
            if token in grammar.rules:
                rewrite(random.choice(grammar.rules[token]), into)
            elif token in grammar.lexicon:
                into.append(random.choice(grammar.lexicon[token]))
            else:
                into.append(token)
        return into

    return ' '.join(rewrite(s.split(), []))
def generate_random ( grammar = E_ , s = 'S' ) : import random def rewrite ( tokens , into ) : for token in tokens : if token in grammar . rules : rewrite ( random . choice ( grammar . rules [ token ] ) , into ) elif token in grammar . lexicon : into . append ( random . choice ( grammar . lexicon [ token ] ) ) else : into . append ( token ) return into return ' ' . join ( rewrite ( s . split ( ) , [ ] ) )
Replace each token in s by a random entry in grammar (recursively).
    This is useful for testing a grammar, e.g. generate_random(E_)
Replace each token in s by a random entry in grammar ( recursively ) . This is useful for testing a grammar e . g . generate_random ( E_ )