# HG changeset patch # User Atul Varma # Date 1271968700 25200 # Node ID ce894f57b30ce9900a2a62aeb3ca65ff65407ae2 # Parent f82ff2c61c06dd9964fe33b012f9ed202ade3dbb added jsrequires diff -r f82ff2c61c06 -r ce894f57b30c jsrequires.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jsrequires.py Thu Apr 22 13:38:20 2010 -0700 @@ -0,0 +1,32 @@ +from jsscan import Tokenizer + +if __name__ == '__main__': + import os + import sys + + text = open(os.path.expanduser(sys.argv[1]), 'r').read() + + t = Tokenizer(text) + try: + tokens = t.tokenize(ignore='whitespace') + for token in tokens: + if token[:2] == ('name', 'require'): + lparen = tokens.next()[:2] + modname = tokens.next() + rparen = tokens.next()[:2] + if (lparen == ('literal', '(') and + rparen == ('literal', ')') and + modname[0] == 'string'): + print "%s required at line %d, character %d" % ( + modname[1], + token[2][0], + token[2][1] + ) + else: + print ("unusual require() found at " + "line %d, character %d" % (token[2][0], + token[2][1])) + + except TokenizationError, e: + print e + sys.exit(1) diff -r f82ff2c61c06 -r ce894f57b30c jsscan.py --- a/jsscan.py Thu Apr 22 13:18:09 2010 -0700 +++ b/jsscan.py Thu Apr 22 13:38:20 2010 -0700 @@ -81,18 +81,3 @@ def __str__(self): return '%s @ line %d, char %d' % (self.args[0], self.line, self.char) - -if __name__ == '__main__': - import os - import sys - - text = open(os.path.expanduser(sys.argv[1]), 'r').read() - t = Tokenizer(text) - try: - tokens = t.tokenize() - for token in tokens: - if token[:2] == ('name', 'require'): - print token - except TokenizationError, e: - print e - sys.exit(1)