]> git.saurik.com Git - cycript.git/blob - trash/Token.py
de0289db32cf7ebf0ea863fed2f2be411b306d64
[cycript.git] / trash / Token.py
1 #!/usr/bin/python
2
3 import sys
4
5 lines = sys.stdin.read().rstrip('\n').split('\n')
6
7 def data(line):
8 name = line[0].replace('&', 'Ampersand').replace('^', 'Carrot').replace('=', 'Equal').replace('!', 'Exclamation').replace('-', 'Hyphen').replace('<', 'Left').replace('%', 'Percent').replace('.', 'Period').replace('|', 'Pipe').replace('+', 'Plus').replace('>', 'Right').replace('/', 'Slash').replace('*', 'Star').replace('~', 'Tilde')
9 text = line[0].lower()
10 word = text[0].isalpha()
11 prefix = None if line[1] == '-' else line[1]
12 assign = None if len(line) < 3 or line[2] != 'A' else '' if len(line) < 4 else line[3]
13 infix = None if len(line) < 3 or line[2] != 'R' else line[3]
14 precedence = line[4] if infix != None and len(line) > 4 else None
15 postfix = infix if infix != None and precedence == None else None
16 if postfix != None:
17 infix = None
18 return name, text, word, prefix, assign, infix, precedence, postfix
19
20 for line in lines:
21 line = line.split()
22 name, text, word, prefix, assign, infix, precedence, postfix = data(line)
23 print '%%token <CYToken%(name)s> CYToken%(name)s "%(text)s"' % locals()