summary refs log tree commit diff stats
path: root/compiler/evals.nim
Commit message (Collapse)AuthorAgeFilesLines
* Initial implementation of the parseExpr, parseStmt, getAst macro routines:Zahary Karadjov2011-09-201-1/+8
| | | | | | | | | | | | | | | | | | proc parseExpr*(s: string) : expr {.magic: "ParseExprToAst".} ## Compiles the passed string to its AST representation ## Expects a single expression proc parseStmt*(s: string) : stmt {.magic: "ParseStmtToAst".} ## Compiles the passed string to its AST representation ## Expects one or more statements proc getAst*(macroOrTemplate: expr): expr {.magic: "ExpandMacroToAst".} ## Obtains the AST nodes returned from a macro or template invocation ## example: ## macro FooMacro() = ## var ast = getAst(BarTemplate()) Handling of the node.toYaml magic moved to the evaluation engine.
* small bugfix for evalAraq2011-08-191-1/+1
|
* finally got rid of nkPassAsOpenArrayAraq2011-08-161-1/+0
|
* preparation for new 'is' operator; breaks bootstrapping again, sorry (use ↵Araq2011-07-311-3/+3
| | | | generated C code)
* bugfixes; step one for 'var T' as return type supportAraq2011-07-281-2/+3
|
* implemented write access to s[i] for macrosAraq2011-06-211-19/+34
|
* newStringOfCap implemented and used to optimize some procsAraq2011-05-081-1/+7
|
* const table supportAraq2011-04-291-14/+19
|
* got rid of some arcane module namesAraq2011-04-211-1/+1
|
* big repo cleanupAraq2011-04-121-0/+1110