def main(): g = grammar.grammar(grammar.rules_from_file(sys.argv[1])) l = lexicon.lexicon(lexicon.lexemes_from_file(sys.argv[2])) for i in range(10): print g.gen_random_sentence(l)
try: rules.append(rule.rule(line.strip())) line_num += 1 except: raise BadFileError("Rule file is invalid (line %d) '%s'" % (line_num, line)) return rules, terminals if __name__ == "__main__": rules = [ rule.rule("S > NP VP"), rule.rule("NP > Art N"), rule.rule("VP > V"), ] lexemes = [ lexeme("a", ["Art"]), lexeme("the", ["Art"]), lexeme("child", ["N"]), lexeme("man", ["N"]), lexeme("laughs", ["V"]), lexeme("eats", ["V"]), ] lex = lexicon(lexemes) g = grammar((rules, map(constituent, ["N", "V", "Art"]))) print g.gen_random_sentence(lex)