3
|
1 from jsscan import Tokenizer
|
|
2
|
|
3 if __name__ == '__main__':
|
|
4 import os
|
|
5 import sys
|
|
6
|
|
7 text = open(os.path.expanduser(sys.argv[1]), 'r').read()
|
|
8
|
|
9 t = Tokenizer(text)
|
|
10 try:
|
|
11 tokens = t.tokenize(ignore='whitespace')
|
|
12 for token in tokens:
|
|
13 if token[:2] == ('name', 'require'):
|
|
14 lparen = tokens.next()[:2]
|
|
15 modname = tokens.next()
|
|
16 rparen = tokens.next()[:2]
|
|
17 if (lparen == ('literal', '(') and
|
|
18 rparen == ('literal', ')') and
|
|
19 modname[0] == 'string'):
|
|
20 print "%s required at line %d, character %d" % (
|
|
21 modname[1],
|
|
22 token[2][0],
|
|
23 token[2][1]
|
|
24 )
|
|
25 else:
|
|
26 print ("unusual require() found at "
|
|
27 "line %d, character %d" % (token[2][0],
|
|
28 token[2][1]))
|
|
29
|
|
30 except TokenizationError, e:
|
|
31 print e
|
|
32 sys.exit(1)
|