summary refs log tree commit diff stats
path: root/compiler/plugins
Commit message (Collapse)AuthorAgeFilesLines
* IC: next steps (#16550)Andreas Rumpf2021-01-071-2/+2
| | | | | | | | | | | | | | | | | | * cleanups * ast.nim: cleanups * IC: no more sym.tab field, stored externally in the module graph * nimble compiles again * rodfiles: store bitwidth of integers and the endianness in the cookie because we serialize 'int' directly * rodfiles: added compilerproc and export sections * rodfiles: added all the missing sections * rodfiles: track the missing information * IC: architecture for lazy loading of proc bodies * make tests green again * completed the lazy loading of proc bodies * symbol lookup integration, part 1 * symbol lookup integration, part 2 * symbol lookup integration, part 3 * make tcompilerapi work again * rodfiles: fixed config change handling
* big steps torwards an efficient, simple IC implementation (#16543)Andreas Rumpf2021-01-022-3/+3
| | | | | | | | | | | | | | | | | | | * reworked ID handling * the packed AST now has its own ID mechanism * basic serialization code works * extract rodfiles to its own module * rodfiles: store and compare configs * rodfiles: store dependencies * store config at the end * precise dependency tracking * dependency tracking for rodfiles * completed loading of PSym, PType, etc * removed dead code * bugfix: do not realloc seqs when taking addr into an element * make IC opt-in for now * makes tcompilerapi green again * final cleanups Co-authored-by: Andy Davidoff <github@andy.disruptek.com>
* refactorings to prepare the compiler for IC (#15935)Andreas Rumpf2020-12-171-2/+1
| | | | | | | | | | | | | | * added ic specific Nim code; WIP * make the symbol import mechanism lazy; WIP * ensure that modules can be imported multiple times * ambiguity checking * handle converters and TR macros properly * make 'enum' test category green again * special logic for semi-pure enums * makes nimsuggest tests green again * fixes nimdata * makes nimpy green again * makes more important packages work
* explicit ID generation for easier IC (#15559)Andreas Rumpf2020-10-252-5/+5
| | | | | | | | | | | | | | | | | * refactoring: idents don't need inheritance * refactoring: adding an IdGenerator (part 1) * refactoring: adding an IdGenerator (part 2) * refactoring: adding an IdGenerator (part 3) * refactoring: adding an IdGenerator (part 4) * refactoring: adding an IdGenerator (part 5) * refactoring: adding an IdGenerator (part 5) * IdGenerator must be a ref type; hello world works again * make bootstrapping work again * progress: add back the 'exactReplica' ideas * added back the missing exactReplica hacks * make tcompilerapi work again * make important packages green * attempt to fix the build for 32 bit machines (probably need a better solution here)
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-282-2/+2
| | | | | | | | | | | | | | | | | | * Cleanup compiler code base * Unify add calls * Unify len invocations * Unify range operators * Fix oversight * Remove {.procvar.} pragma * initCandidate -> newCandidate where reasonable * Unify safeLen calls
* fixes #11958 (#12013)Andreas Rumpf2019-08-231-12/+11
|
* [refactoring] remove unused imports in the compiler and in some stdlib modulesAraq2019-07-182-4/+2
|
* rename tyExpr/tyStmt to tyUntyped/tyTyped (#11227)Arne Döring2019-05-111-1/+1
|
* Fix locals() interaction with generic typesLemonBoy2018-09-211-1/+1
| | | | | | | Follow the same logic as semTupleFieldsConstr and only skip skVar since we're gonna add a nkDefer anyway. Fixes #8985
* cleanup import pathsAraq2018-09-211-1/+1
|
* baby steps for incremental compilationAndreas Rumpf2018-05-301-1/+1
|
* active.nim: fixes the import path so that compilation with --noNimblePath worksAndreas Rumpf2018-05-291-1/+1
|
* refactoring: fewer global variablesAndreas Rumpf2018-05-273-9/+16
|
* remove ast.emptyNode global; cleanup configuration.nimAraq2018-05-161-4/+4
|
* more modules compile againAndreas Rumpf2018-05-121-5/+5
|
* warn about inconsistent spacing around binary operators; fixes #7582Andreas Rumpf2018-05-051-1/+1
|
* fixes #7522Araq2018-04-063-7/+6
|
* big compiler refactoring; avoid globals for multi method dispatcher generationAndreas Rumpf2017-02-221-1/+1
|
* fixes #3622Andreas Rumpf2015-12-042-4/+6
|
* lambda lifting support for iterToProc pluginAraq2015-12-011-0/+49
|
* added iterToProc pluginAraq2015-12-011-1/+1
|
* Hopefully fixes nimsuggest building against the compiler package.Dominik Picheta2015-06-041-1/+2
|
* system.locals is now a plugin for educationAraq2015-04-242-0/+55