home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 1.5)
-
- ENDMARKER = 0
- NAME = 1
- NUMBER = 2
- STRING = 3
- NEWLINE = 4
- INDENT = 5
- DEDENT = 6
- LPAR = 7
- RPAR = 8
- LSQB = 9
- RSQB = 10
- COLON = 11
- COMMA = 12
- SEMI = 13
- PLUS = 14
- MINUS = 15
- STAR = 16
- SLASH = 17
- VBAR = 18
- AMPER = 19
- LESS = 20
- GREATER = 21
- EQUAL = 22
- DOT = 23
- PERCENT = 24
- BACKQUOTE = 25
- LBRACE = 26
- RBRACE = 27
- EQEQUAL = 28
- NOTEQUAL = 29
- LESSEQUAL = 30
- GREATEREQUAL = 31
- TILDE = 32
- CIRCUMFLEX = 33
- LEFTSHIFT = 34
- RIGHTSHIFT = 35
- DOUBLESTAR = 36
- OP = 37
- ERRORTOKEN = 38
- N_TOKENS = 39
- NT_OFFSET = 256
- tok_name = { }
- for _name, _value in globals().items():
- pass
-
-
- def ISTERMINAL(x):
- return x < NT_OFFSET
-
-
- def ISNONTERMINAL(x):
- return x >= NT_OFFSET
-
-
- def ISEOF(x):
- return x == ENDMARKER
-
-
- def main():
- import re
- import string
- import sys
- args = sys.argv[1:]
- if not args and args[0]:
- pass
- inFileName = 'Include/token.h'
- outFileName = 'Lib/token.py'
- if len(args) > 1:
- outFileName = args[1]
-
-
- try:
- fp = open(inFileName)
- except IOError:
- err = None
- sys.stdout.write('I/O error: %s\n' % str(err))
- sys.exit(1)
-
- lines = string.splitfields(fp.read(), '\n')
- fp.close()
- prog = re.compile('#define[ \t][ \t]*([A-Z][A-Z_]*)[ \t][ \t]*([0-9][0-9]*)', re.IGNORECASE)
- tokens = { }
- for line in lines:
- match = prog.match(line)
-
- keys = tokens.keys()
- keys.sort()
-
- try:
- fp = open(outFileName)
- except IOError:
- None if match else lines
- err = None if match else lines
- sys.stderr.write('I/O error: %s\n' % str(err))
- sys.exit(2)
- except:
- None if match else lines
-
- format = string.splitfields(fp.read(), '\n')
- fp.close()
-
- try:
- start = format.index('#--start constants--') + 1
- end = format.index('#--end constants--')
- except ValueError:
- None if match else lines
- None if match else lines
- sys.stderr.write('target does not contain format markers')
- sys.exit(3)
- except:
- None if match else lines
-
- lines = []
- for val in keys:
- lines.append('%s = %d' % (tokens[val], val))
-
- format[start:end] = lines
-
- try:
- fp = open(outFileName, 'w')
- except IOError:
- 0
- err = 0
- keys
- sys.stderr.write('I/O error: %s\n' % str(err))
- sys.exit(4)
- except:
- None if match else lines
-
- fp.write(string.joinfields(format, '\n'))
- fp.close()
-
- if __name__ == '__main__':
- main()
-
-