summaryrefslogtreecommitdiff
path: root/tests/lex_many_tokens.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lex_many_tokens.py')
-rw-r--r--tests/lex_many_tokens.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/lex_many_tokens.py b/tests/lex_many_tokens.py
new file mode 100644
index 0000000..02e3a11
--- /dev/null
+++ b/tests/lex_many_tokens.py
@@ -0,0 +1,25 @@
+# lex_many_tokens.py
+#
+# Test lex's ability to handle a large number of tokens (beyond the
+# 100-group limit of the re module)
+
+import sys
+import ply.lex as lex
+
+tokens = ["TOK%d" % i for i in range(1000)]
+
+for tok in tokens:
+ if sys.version_info[0] < 3:
+ exec("t_%s = '%s:'" % (tok,tok))
+ else:
+ exec("t_%s = '%s:'" % (tok,tok), globals())
+
+t_ignore = " \t"
+
+def t_error(t):
+ pass
+
+lex.lex()
+lex.runmain(data="TOK34: TOK143: TOK269: TOK372: TOK452: TOK561: TOK999:")
+
+