Home | Trees | Indices | Help |
|
---|
|
1 from nltk_lite.parse import cfg 2 79 frags = [] 10 if len(items) == 1: 11 if isinstance(items[0], cfg.Nonterminal): 12 for prod in grammar.productions(lhs=items[0]): 13 frags.append(_generate_all(grammar, prod.rhs())) 14 else: 15 frags.append(items[0]) 16 else: 17 for frag1 in _generate_all(grammar, [items[0]]): 18 for frag2 in _generate_all(grammar, items[1:]): 19 for frag in _multiply(frag1, frag2): 20 frags.append(frag) 21 return frags2224 frags = [] 25 if len(frag1) == 1: 26 frag1 = [frag1] 27 if len(frag2) == 1: 28 frag2 = [frag2] 29 for f1 in frag1: 30 for f2 in frag2: 31 frags.append(f1+f2) 32 return frags33 34 grammar = cfg.parse_cfg(""" 35 S -> NP VP 36 NP -> Det N 37 VP -> V NP 38 Det -> 'the' 39 Det -> 'a' 40 N -> 'man' | 'park' | 'dog' | 'telescope' 41 V -> 'saw' | 'walked' 42 P -> 'in' | 'with' 43 """) 44 45 for sent in generate(grammar): 46 print sent 47
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0beta1 on Wed May 16 22:47:38 2007 | http://epydoc.sourceforge.net |