new tester; all tests categorized

This commit is contained in:
Araq 2014-01-13 02:10:03 +01:00
commit 20b5f31c03
481 changed files with 794 additions and 2506 deletions

33
tests/macros/tdumpast.nim Normal file
View 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