-
Notifications
You must be signed in to change notification settings - Fork 1
/
parseAt0.py
35 lines (26 loc) · 956 Bytes
/
parseAt0.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from __future__ import division
import sys
import cPickle as pickle
from gzip import GzipFile
from AIMA import DefaultDict
from topdownParser import Grammar, Rule, Parser, normalizeTree, treeToStr
from DBGrammar import DBGrammar
from HierGrammar import HierGrammar
if __name__ == "__main__":
inf = sys.argv[1]
print >>sys.stderr, "loading grammar", inf
grammar = HierGrammar(inf)
print >>sys.stderr, "done"
debug = ["index", "pop", "push", "threshold"]
parser = Parser(grammar, top="ROOT_0", mode="lex",
queueLimit=5e5,
verbose=["index",])
# sent = "The stocks fell ."
sent = "The government 's plan is stupid ."
# sent = "John Smith and Mary Roe are friends ."
final = parser.parse(sent.split())
print final
print list(final.derivation())
print treeToStr(final.tree())
print treeToStr(normalizeTree(final.tree()))
print treeToStr(final.tree(True))