Mercurial > js-scanner
comparison jsscan.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 | 815520476fbb |
comparison
equal
deleted
inserted
replaced
3:ce894f57b30c | 4:30c1f55eff96 |
---|---|
1 import re | 1 import re |
2 | 2 |
3 class Tokenizer(object): | 3 class Tokenizer(object): |
4 TOKENS = dict( | 4 TOKENS = dict( |
5 whitespace=(r'\s+', re.MULTILINE), | 5 whitespace=(r'\s+', re.MULTILINE), |
6 string=(r'(".*(?<!\\)")' | 6 string=(r'(".*?(?<!\\)")' |
7 r'|' | 7 r'|' |
8 r"('.*(?<!\\)')"), | 8 r"('.*?(?<!\\)')"), |
9 c_comment=(r'\/\*.*\*\/', re.MULTILINE | re.DOTALL), | 9 c_comment=(r'\/\*.*\*\/', re.MULTILINE | re.DOTALL), |
10 cpp_comment=r'\/\/.*', | 10 cpp_comment=r'\/\/.*', |
11 name=r'[A-Za-z$_][\w]*', | 11 name=r'[A-Za-z$_][\w]*', |
12 digits=r'[0-9]+', | 12 digits=r'[0-9]+', |
13 ) | 13 ) |