Mercurial > js-scanner
view jsrequires.py @ 4:30c1f55eff96
fixed greedy regexp bug
author | Atul Varma <avarma@mozilla.com> |
---|---|
date | Thu, 22 Apr 2010 17:31:32 -0700 |
parents | ce894f57b30c |
children |
line wrap: on
line source
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)