annotate test_jsscan.py @ 2:f82ff2c61c06

added ignore kwarg
author Atul Varma <avarma@mozilla.com>
date Thu, 22 Apr 2010 13:18:09 -0700
parents daa1c6d996f3
children 30c1f55eff96
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
1 """
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
2 C-style comments:
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
3
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
4 >>> tokenize('/* hello */')
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
5 ('c_comment', '/* hello */', (1, 0))
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
6
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
7 C++-style comments:
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
8
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
9 >>> tokenize('// hello')
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
10 ('cpp_comment', '// hello', (1, 0))
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
11
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
12 Variable definitions:
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
13
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
14 >>> tokenize(' var k = 1;')
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
15 ('name', 'var', (1, 2))
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
16 ('name', 'k', (1, 6))
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
17 ('whitespace', ' ', (1, 7))
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
18 ('literal', '=', (1, 8))
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
19 ('whitespace', ' ', (1, 9))
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
20 ('digits', '1', (1, 10))
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
21 ('literal', ';', (1, 11))
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
22
2
f82ff2c61c06 added ignore kwarg
Atul Varma <avarma@mozilla.com>
parents: 0
diff changeset
23 Filtering:
f82ff2c61c06 added ignore kwarg
Atul Varma <avarma@mozilla.com>
parents: 0
diff changeset
24
f82ff2c61c06 added ignore kwarg
Atul Varma <avarma@mozilla.com>
parents: 0
diff changeset
25 >>> tokenize(' k', ignore='whitespace')
f82ff2c61c06 added ignore kwarg
Atul Varma <avarma@mozilla.com>
parents: 0
diff changeset
26 ('name', 'k', (1, 2))
f82ff2c61c06 added ignore kwarg
Atul Varma <avarma@mozilla.com>
parents: 0
diff changeset
27
0
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
28 Escaped double-quoted strings:
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
29
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
30 >>> tokenize(r'"i say \\"tomato\\""')
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
31 ('string', '"i say \\\\"tomato\\\\""', (1, 0))
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
32
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
33 Unterminated double-quoted strings:
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
34
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
35 >>> tokenize(r'"i say \\"tomato\\"')
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
36 Traceback (most recent call last):
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
37 ...
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
38 TokenizationError: unrecognized token '"' @ line 1, char 0
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
39 """
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
40
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
41 import doctest
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
42
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
43 from jsscan import *
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
44
2
f82ff2c61c06 added ignore kwarg
Atul Varma <avarma@mozilla.com>
parents: 0
diff changeset
45 def tokenize(string, ignore=None):
f82ff2c61c06 added ignore kwarg
Atul Varma <avarma@mozilla.com>
parents: 0
diff changeset
46 for token in Tokenizer(string).tokenize(ignore=ignore):
0
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
47 print token
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
48
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
49 if __name__ == '__main__':
daa1c6d996f3 Origination.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
50 doctest.testmod(verbose=True)