Mercurial > js-scanner
changeset 3:ce894f57b30c
added jsrequires
author | Atul Varma <avarma@mozilla.com> |
---|---|
date | Thu, 22 Apr 2010 13:38:20 -0700 |
parents | f82ff2c61c06 |
children | 30c1f55eff96 |
files | jsrequires.py jsscan.py |
diffstat | 2 files changed, 32 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- /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)
--- 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)