summary refs log tree commit diff stats
path: root/compiler/ast.nim
Commit message (Collapse)AuthorAgeFilesLines
* implemented the using statementZahary Karadjov2013-08-311-0/+2
|
* fix tnoopZahary Karadjov2013-08-261-0/+1
| | | | | | | | This commit requires further investigation. Fixing semExpr(nkCall) once and for all to work with sym-choices and to allow overloading with immediate templates and macros will probably set this straight too.
* implemented delegators and improved the error messages of unmatched type classesZahary Karadjov2013-08-261-2/+4
|
* working code for simple cases of user-defined type classesZahary Karadjov2013-08-251-0/+3
|
* parsing of user defined type classesZahary Karadjov2013-08-231-0/+1
|
* Experimental support for delayed instantiation of genericsZahary Karadjov2013-08-231-3/+4
| | | | | | | | | | | | | | | | | | | | This postpones the semantic pass over the generic's body until the generic is instantiated. There are several pros and cons for this method and the capabilities that it enables may still be possible in the old framework if we teach it a few new trick. Such an attempt will follow in the next commits. pros: 1) It allows macros to be expanded during generic instantiation that will provide the body of the generic. See ``tmacrogenerics``. 2) The instantiation code is dramatically simplified. Dealing with unknown types in the generic's body pre-pass requires a lot of hacky code and error silencing in semTypeNode. See ``tgenericshardcases``. cons: 1) There is a performance penalty of roughly 5% when bootstrapping. 2) Certain errors that used to be detected in the previous pre-pass won't be detected with the new scheme until instantiation.
* check the owners of generic instantiations properly and fix tinvalidclosureZahary Karadjov2013-08-191-1/+10
|
* Revert "Revert "made some tests green""Zahary Karadjov2013-08-191-1/+2
|
* Revert "Revert "fix tforwardgeneric""Zahary Karadjov2013-08-191-2/+2
| | | | This reverts commit e3f93241c3824e49b69c647bbd44726a79e8f8f8.
* Revert "Revert "static and default params for generics""Zahary Karadjov2013-08-191-0/+2
| | | | This reverts commit 0662ec4a434f4656b5afc486bc4ebaab82c52da6.
* remerge "Fixes #267"Zahary Karadjov2013-08-191-10/+5
|
* lfFullExternalName for 'nimrod pretty'Araq2013-07-301-0/+3
|
* added macros.genSymAraq2013-07-241-1/+1
|
* refactorings for the eval engine; bugfix: clean templates as accessorsAraq2013-07-191-6/+6
|
* some small performance improvement for the evaluatorAraq2013-06-281-0/+1
|
* implements the 'codegenDecl' pragmaAraq2013-06-271-3/+3
|
* fixed a long standing xml parser bug; html parser bugfixes + speed improvementsAraq2013-06-271-0/+3
|
* improvements for 'not nil' checkingAraq2013-06-131-3/+11
|
* implemented large parts of the 'not nil' checkingAraq2013-06-091-6/+23
|
* fixes #385Araq2013-06-031-1/+32
|
* astToStr is now immediateAraq2013-06-021-0/+11
|
* Revert "fixes #267"Araq2013-05-271-5/+10
| | | | This reverts commit 7fccdedcb5d1e583039b2ea2ae6564412a0f5104.
* Revert "static and default params for generics"Araq2013-05-271-2/+0
| | | | This reverts commit 46813bbe4e1423181521d4792b9af7593f48fa1f.
* Revert "fix tforwardgeneric"Araq2013-05-271-2/+2
| | | | This reverts commit d82a032566de1612ff1ed2d82cc7ec2bd58267d7.
* Revert "more test made green"Araq2013-05-271-2/+1
| | | | This reverts commit 911e6e710f28f454cf8bc1bb493c1a28c4694b76.
* more test made greenZahary Karadjov2013-05-261-1/+2
| | | | | | | | | the lambda lifting was trying too hard to ignore generic prods isGenericRoutine was producing false-negatives and only this allowed for some of the warning and error messages to be triggered. some files with mixed line endings were fixed
* fix tforwardgenericZahary Karadjov2013-05-261-2/+2
|
* static and default params for genericsZahary Karadjov2013-05-261-0/+2
|
* fixes #267Zahary Karadjov2013-05-261-10/+5
|
* 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
| |