-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathparseAt0.py
More file actions
35 lines (26 loc) · 956 Bytes
/
parseAt0.py
File metadata and controls
35 lines (26 loc) · 956 Bytes
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))