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)