summary refs log tree commit diff stats
path: root/tests/lexer/mlexerutils.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2021-03-24 14:46:19 +0100
committerGitHub <noreply@github.com>2021-03-24 14:46:19 +0100
commit5f5a92379fab59db0e7e3da5a9cec2a11be45ed8 (patch)
tree1bce47645068dd814f992c221d14e56bb0b2c932 /tests/lexer/mlexerutils.nim
parent7366a3da37605b230823dd4b6db07abb70dbd40b (diff)
downloadNim-5f5a92379fab59db0e7e3da5a9cec2a11be45ed8.tar.gz
custom integer literals (#17489)
* user defined integer literals; refs #17020
* updated renderer.nim
* use mlexerutils helper
* imported all test cases from https://github.com/nim-lang/Nim/pull/17020
* final grammar updated
Diffstat (limited to 'tests/lexer/mlexerutils.nim')
-rw-r--r--tests/lexer/mlexerutils.nim9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/lexer/mlexerutils.nim b/tests/lexer/mlexerutils.nim
new file mode 100644
index 000000000..eae7a0006
--- /dev/null
+++ b/tests/lexer/mlexerutils.nim
@@ -0,0 +1,9 @@
+import macros
+
+macro lispReprStr*(a: untyped): untyped = newLit(a.lispRepr)
+
+macro assertAST*(expected: string, struct: untyped): untyped =
+  var ast = newLit(struct.treeRepr)
+  result = quote do:
+    if `ast` != `expected`:
+      doAssert false, "\nGot:\n" & `ast`.indent(2) & "\nExpected:\n" & `expected`.indent(2)
\ No newline at end of file