summary refs log tree commit diff stats
path: root/compiler/ast.nim
Commit message (Collapse)AuthorAgeFilesLines
* WIP: an API for VM replay global state supportAndreas Rumpf2018-06-031-3/+7
|
* incremental compilation: implemented basic replay logicAndreas Rumpf2018-06-021-16/+20
|
* baby steps for incremental compilationAndreas Rumpf2018-05-301-0/+2
|
* refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-1/+1
| | | | around explicitly
* more refactoringAndreas Rumpf2018-05-271-2/+2
|
* remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-1/+1
|
* remove ast.emptyNode global; cleanup configuration.nimAraq2018-05-161-8/+2
|
* fixes testament compilationAraq2018-05-141-1/+14
|\
| * fix a compiler crash related to the new strings in C++ modeZahary Karadjov2018-05-071-1/+1
| |
| * Better support for treating templates and macros as symbols.Zahary Karadjov2018-05-071-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows you to pass a template or a macro to another macro which can then inspect the implementation of the former template/macro using `getImpl`. Since templates can be freely redefined, this allows you to treat their symbols as compile-time variables that have lexical scope. A motivating PoC example for a logging library taking advantage of this will be provided in the next commit. Implementation details: * The name of a template or a macro will be consider a symbol if the template/macro requires parameters * For parameterless templates/macros, you can use `bindSym`, which was extended to also work outside of compile-time procs.
* | options.nim: no global variables anymoreAndreas Rumpf2018-05-131-9/+10
| |
* | big refactoring: parser compiles againAndreas Rumpf2018-05-101-8/+12
|/
* Use safeLen in pairs iterator for PNode (#7684)Oscar Nihlgård2018-04-251-1/+1
|
* remove dead code elimination option (#7669)Jacek Sieka2018-04-231-3/+3
|
* refactoring: make FileIndex a distinct type; make line information an ↵Andreas Rumpf2018-04-211-5/+5
| | | | uint16; fixes #7654
* introduce nkTupleConstr AST node for unary tuple construction; breaking changeAndreas Rumpf2018-04-131-1/+2
|
* fixes #6895Andreas Rumpf2018-04-111-2/+2
|
* Get symbol kind (#7491)Arne Döring2018-04-111-2/+3
|
* Cpp codegen: handling of imported exceptions. Fixes #3571 (#7360)cooldome2018-04-101-0/+13
|
* the 'deprecated' pragma for modules now supports an error messageAraq2018-04-061-0/+2
|
* destructors: first version of 'sink' parameter logicAndreas Rumpf2018-03-311-2/+0
|
* further steps in implementing sink parameters; refs #7041Araq2018-03-301-0/+2
|
* Static[T] fixes (#7333)zah2018-03-241-4/+5
| | | | | | | | | | | * fix the usage of unresolved static[T] parameters in proc signatures * fix tsametype and tmacrogenerics * Allow creating composite type classes with concepts and using them in type signatures * Allow integers to be used in ident concatenations * Support using imported C++ generic types in proc signatures * fixes #7230 * closes #7379 * re-enable some metatype tests
* fixes #7215Andreas Rumpf2018-02-141-1/+1
|
* genTryCpp to catch by Nim type, ready for first review (#7196)cooldome2018-02-121-0/+14
| | | | | | | | | | | | | | | | * Rewrite genTryCpp * correction * Implement polymorphic raise in cpp * revert backticks in emit * Cleanp a comment * revert test changes * better handling of <new> header
* move new sha1 module into the new 'std' namespaceAndreas Rumpf2018-02-061-1/+1
|
* fixes #6961Andreas Rumpf2018-02-021-1/+1
|
* Custom pragmas in procs bug fix (#7086)cooldome2018-01-181-0/+1
|
* Implement custom annotations (#6987)cooldome2018-01-091-0/+1
|
* preparations for language extensions: 'sink' and 'lent' typesAndreas Rumpf2018-01-071-5/+5
|
* work in progress: 'sink' and 'lent' typesAraq2018-01-071-2/+2
|
* first steps in adding template/macro calls to stack tracesAraq2017-12-211-2/+2
|
* Now analyzes over magics instead of symbol names; but dosn't compile for meVeladus2017-12-111-1/+2
|
* the documentation generator now supports system.runnableExamplesAraq2017-11-261-1/+1
|
* minor optimization for propagateToOwnerAraq2017-11-231-4/+1
|
* fixes #6682Araq2017-11-221-0/+4
|
* Merge branch 'devel' into araqAndreas Rumpf2017-11-021-19/+33
|\
| * fixes bug reported in PR #5637Andreas Rumpf2017-10-301-0/+8
| |
| * work in progress: new implementation for 'a[^1]'Andreas Rumpf2017-10-291-9/+4
| |
| * deprecated unary '<'Andreas Rumpf2017-10-291-2/+2
| |
| * first implementation of package level types that allow forwarding across ↵Andreas Rumpf2017-10-281-2/+2
| | | | | | | | module boundaries
| * backend preparations for incomplete/forwarded object typesAndreas Rumpf2017-10-281-0/+5
| |
| * ast.nim: spacingAraq2017-10-251-3/+3
| |
| * bugfix: propagate the tfHasAsgn flag properlyAndreas Rumpf2017-10-191-1/+1
| |
| * destructors: preparations for upcoming changesAraq2017-10-171-0/+2
| |
| * minor refactorings for better destructorsAndreas Rumpf2017-10-141-1/+1
| |
| * initial version of the new untested destructor passAndreas Rumpf2017-10-121-1/+5
| |
| * further preparations for 'opt' builtin typeAndreas Rumpf2017-10-091-2/+2
| |
* | Merge branch 'devel' into araqAndreas Rumpf2017-10-021-21/+17
|\|
| * first steps of making 'opt' a first class type for NimAndreas Rumpf2017-09-251-1/+1
| |