summary refs log tree commit diff stats
path: root/compiler/ast.nim
Commit message (Collapse)AuthorAgeFilesLines
* merged the persistent scopes work with the delayed proc compilation strategyZahary Karadjov2013-05-121-3/+15
|\
| * added a ``noforward`` pragma that enables a new compilation strategyZahary Karadjov2013-05-111-0/+3
| | | | | | | | not requiring forward declarations on a per-module basis
* | get rid of ImportTablePos and ModuleTablePosZahary Karadjov2013-05-121-4/+0
| |
* | switch to a linked list of scopesZahary Karadjov2013-05-111-0/+3
|/
* Merge branch 'master' into newparserAraq2013-05-071-2/+1
|\
| * support suggest after compile in caas modeZahary Karadjov2013-05-051-0/+1
| |
| * Merge branch 'master' of gh:/Araq/Nimrod into upstreamZahary Karadjov2013-05-041-22/+27
| |\
| * | containerID is no longer needed for genericsZahary Karadjov2013-03-011-2/+0
| | |
* | | fixed void context detectionAraq2013-05-071-0/+3
| |/ |/|
* | implemented --dynlibOverride option for static linking of 'dynlib'Araq2013-04-081-0/+1
| |
* | fixes a long-standing bug about procvar checkingAraq2013-03-251-1/+1
| |
* | added system.localsAraq2013-03-211-14/+14
| |
* | Removes executable bit for text files.Grzegorz Adam Hankiewicz2013-03-161-0/+0
| |
* | first steps to implement object construction expressionsAraq2013-03-071-0/+1
| |
* | micro optimizations for the evaluation engineAraq2013-02-141-4/+6
| |
* | added GC_addCycleRootAraq2013-02-121-3/+4
|/
* merged upstream masterZahary Karadjov2013-01-271-3/+6
|\
| * fixes #293Araq2013-01-081-1/+1
| |
| * constraint now part of the parameter symbol and not of the typeAraq2012-12-051-1/+1
| |
| * implemented 'import except'Araq2012-11-281-2/+3
| |
| * first steps for the 'export' featureAraq2012-11-281-0/+2
| |
* | minor bug fixes to make some tests greenZahary Karadjov2013-01-211-1/+8
| |
* | track the "owner" heap object in the ref write barrierZahary Karadjov2012-12-011-0/+3
| | | | | | | | See the papers for reference counting with heap sliding views for details:
* | temporary debugging code for the memory leak investigationZahary Karadjov2012-11-281-1/+1
| |
* | store the instantiation cache in the generic symbolZahary Karadjov2012-11-281-6/+22
| |
* | CaaS in-memory cachingZahary Karadjov2012-11-281-0/+8
|/ | | | | removed some redundant filepath params and variables and switched to canonical paths in most places
* first steps for 'not nil' annotationAraq2012-11-251-0/+2
|
* added missing type flagsAraq2012-11-231-4/+10
|
* added 2 necessary node kindsAraq2012-11-211-0/+3
|
* fixes #250Araq2012-11-191-1/+1
|
* added system.finished for first class iteratorsAraq2012-11-171-1/+1
|
* bugfix: stack traces; first class iterators almost workingAraq2012-11-151-1/+2
|
* AST quasi-quoting for macrosZahary Karadjov2012-11-111-1/+2
|
* bugfix: wrong assertions for C++ code generation; some solaris support; ↵Araq2012-10-301-0/+7
| | | | first steps to an effect system
* Improved support for nkSymChoices in type coercionsZahary Karadjov2012-10-151-0/+1
| | | | | | | | | | For example, this allows you to pick up a proc with a specific signature from an overload set. bugfix: nimrod generated invalid code when a RVO function had a single compile-time param bugfix: nkHiddenDerefs were not neutralised properly for indirect proc calls
* fixes #211Zahary Karadjov2012-10-131-0/+5
| | | | transf: fix a clang compilation error when lineDir:on is used
* syntax compatibility between do blocks and stmt blocksZahary Karadjov2012-10-041-1/+12
| | | | | | | | | | | | See the section `do notation` in the manual for more info. * nkMacroStmt has been removed Macro statements are now mapped to regular nkCall nodes. The support for additional clauses (such as else, except, of, etc) have been restored - they will now appear as additional arguments for the nkCall node (as nkElse, nkExcept, etc nodes) * fixed some regressions in the `is` operator and semCompiles
* implemented case expressionsZahary Karadjov2012-10-031-0/+5
|
* implemented return type inferenceZahary Karadjov2012-10-031-0/+2
| | | | | | Other fixes: * bind once is now the default for type classes as documented in the manual * fixes an issue in template overloading (erroneous ambiguity when different typedesc params were used)
* improved support for typedesc valuesZahary Karadjov2012-09-251-0/+6
| | | | | * can be stored in constants and variables (including in containers like sequences) * can be passed to and returned from macros
* proc bodies can be expressions with a typeAraq2012-09-221-0/+1
|
* semExpr/semStmt mergedAraq2012-09-131-0/+4
|
* term rewriting macros fully implemented; still buggyAraq2012-09-031-5/+18
|
* next steps towards term rewriting macros; simple examples workAraq2012-08-301-8/+9
|
* first steps towards term rewriting macrosAraq2012-08-301-5/+10
|
* parameter passing works the same for macros and templates; use callsite ↵Araq2012-08-281-1/+1
| | | | magic to access the invokation AST
* distinguish properly between nkOpen and nkClosedSymChoiceAraq2012-08-261-1/+7
|
* bindSym suffices; no 'bind' for macros anymoreAraq2012-08-251-1/+1
|
* objects with no ancestor are not implicitely finalAraq2012-08-241-2/+3
|
* implemented 'bind' for macrosAraq2012-08-241-0/+1
|