diff options
author | Araq <rumpf_a@web.de> | 2015-04-19 14:25:16 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-04-19 14:25:16 +0200 |
commit | 9abfc60db441e6d21edbc99f0ef38075fba85f36 (patch) | |
tree | a61779753e60e219516ca74578f603e1b538d9f1 /tests/macros | |
parent | 89cbf092b23b901cd6a485ab670b1e374c31559d (diff) | |
download | Nim-9abfc60db441e6d21edbc99f0ef38075fba85f36.tar.gz |
parse 'of' branches for macros properly
Diffstat (limited to 'tests/macros')
-rw-r--r-- | tests/macros/tlexerex.nim | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/macros/tlexerex.nim b/tests/macros/tlexerex.nim new file mode 100644 index 000000000..d348a4bcc --- /dev/null +++ b/tests/macros/tlexerex.nim @@ -0,0 +1,16 @@ + +import macros + +macro match*(s: cstring|string; pos: int; sections: untyped): untyped = + for sec in sections.children: + expectKind sec, nnkOfBranch + expectLen sec, 2 + result = newStmtList() + +when isMainModule: + var input = "the input" + var pos = 0 + match input, pos: + of r"[a-zA-Z_]\w+": echo "an identifier" + of r"\d+": echo "an integer" + of r".": echo "something else" |