-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparse_reverse.py
More file actions
executable file
·38 lines (33 loc) · 1.12 KB
/
parse_reverse.py
File metadata and controls
executable file
·38 lines (33 loc) · 1.12 KB
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
36
37
38
#!/usr/bin/env python2
from pyparsing import Forward, nestedExpr, Word, alphanums
import tree_parser
import sys
from parse import traverse, traverse_parent
def main():
f = open('data/train_trees')
frequencies = dict()
for i, line in enumerate(f):
l = tree_parser.get_tree(line) # charity from Patrick de Kok
for t in traverse(l[1]): # skip TOP
if t[0] in frequencies:
if t[1:] in frequencies[t[0]]:
frequencies[t[0]][t[1:]] += 1
else:
frequencies[t[0]][t[1:]] = 1
else:
frequencies[t[0]] = {t[1:]: 1}
print frequencies
def main():
f = open('data/train_trees')
frequencies = dict()
for line in f:
l = tree_parser.get_tree(line) # charity from Patrick de Kok
for t in traverse_parent('TOP', l[1]): # skip TOP
if t[1:] in frequencies:
if not t[0] in frequencies[t[1:]]:
frequencies[t[1:]].append(t[0])
else:
frequencies[t[1:]] = [t[0]]
print frequencies
if __name__ == '__main__':
main()