new tester; all tests categorized
This commit is contained in:
parent
51ee524109
commit
20b5f31c03
481 changed files with 794 additions and 2506 deletions
33
tests/macros/tdumpast.nim
Normal file
33
tests/macros/tdumpast.nim
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# Dump the contents of a PNimrodNode
|
||||
|
||||
import macros
|
||||
|
||||
template plus(a, b: expr): expr =
|
||||
a + b
|
||||
|
||||
macro call(e: expr): expr =
|
||||
result = newCall("foo", newStrLitNode("bar"))
|
||||
|
||||
macro dumpAST(n: stmt): stmt {.immediate.} =
|
||||
# dump AST as a side-effect and return the inner node
|
||||
let n = callsite()
|
||||
echo n.lispRepr
|
||||
echo n.treeRepr
|
||||
|
||||
var plusAst = getAst(plus(1, 2))
|
||||
echo plusAst.lispRepr
|
||||
|
||||
var callAst = getAst(call())
|
||||
echo callAst.lispRepr
|
||||
|
||||
var e = parseExpr("foo(bar + baz)")
|
||||
echo e.lispRepr
|
||||
|
||||
result = n[1]
|
||||
|
||||
dumpAST:
|
||||
proc add(x, y: int): int =
|
||||
return x + y
|
||||
|
||||
proc sub(x, y: int): int = return x - y
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue