summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Fixed codegen (added blockLeaveActions) to closure itersYuriy Glukhov2018-05-091-35/+38
|
* Corrected nkExceptBranch transformationYuriy Glukhov2018-05-091-13/+24
|
* More elaborate nkStmtListExpr loweringYuriy Glukhov2018-05-091-32/+372
|
* CleanupYuriy Glukhov2018-05-091-49/+31
|
* Yield in tryYuriy Glukhov2018-05-092-90/+498
|
* Minor dry upYuriy Glukhov2018-05-091-5/+3
|
* Don't leak sem PContext into transfYuriy Glukhov2018-05-093-10/+9
|
* CosmeticsYuriy Glukhov2018-05-091-23/+24
|
* Closure iter transformationYuriy Glukhov2018-05-099-42/+712
|
* VM fix for refsOscar Nihlgård2018-05-081-2/+8
|
* implement the export/except statementZahary Karadjov2018-05-072-7/+29
|
* Bugfix: The compiler were not inserting proper downcasts for generic typesZahary Karadjov2018-05-072-3/+4
| | | | | | | This resulted in a codegen error in C++ mode, because the generic types were not defined in modules where calls requiring downcasts were used (generating a downcast forces the inclusion of the full definition of the involved types).
* fix a compiler crash related to the new strings in C++ modeZahary Karadjov2018-05-072-9/+9
|
* Support thread-local variables declared inside procs; fixes #7565Zahary Karadjov2018-05-071-1/+1
|
* Backwards-compatible support for keyword arguments in the command syntaxZahary Karadjov2018-05-071-4/+13
|
* Bugfix: Allow matching on nkExprEqExpr against varargs[untyped]Zahary Karadjov2018-05-071-1/+2
| | | | | | | | | This enables macros accepting arbitrary keyword arguments: log("foo", prop1 = "bar", prop2 = "baz") As an added bonus, simple templates with varargs arguments can now forward their params to procs accepting keyword arguments.
* A motivating example for the new `bindSym` behavior.Zahary Karadjov2018-05-074-1/+6
| | | | | | | | The example is a proof-of-concept logging library, allowing you to define lexically-scoped environments where certain logging attributes are applied automatically to all logging statements. fixes tmacro1 (use of `bindSym` inside static blocks)
* Better support for treating templates and macros as symbols.Zahary Karadjov2018-05-075-7/+28
| | | | | | | | | | | | | | | | | | | 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.
* pretty, prettybase: simplify relative paths (#7779)alaviss2018-05-072-2/+2
| | | This allows nimble to be built with compiler as a nimble package
* fixes #7757Andreas Rumpf2018-05-061-0/+1
|
* fixes #7774 (#7783)alaviss2018-05-061-1/+3
|
* fixes #7743Andreas Rumpf2018-05-061-1/+1
|
* Merge branch 'devel' into araq-parser-fixesAndreas Rumpf2018-05-063-17/+24
|\
| * Disable setTerminate when noCppExceptions is defined (#7751)Emery Hemingway2018-05-041-1/+1
| |
| * Fix filter_tmpl errors (#7763)Dmitry Atamanov2018-05-041-12/+15
| |
| * Merge pull request #7714 from data-man/show_compile_timestampsDominik Picheta2018-05-031-4/+8
| |\ | | | | | | Compiler: show compile timestamps
| | * Compiler: show compile timestampsdata-man2018-04-281-4/+8
| | |
* | | make Nimble not crash after the refactoringAndreas Rumpf2018-05-051-1/+2
| | |
* | | compiler refactoring, pass config around explicitlyAndreas Rumpf2018-05-0517-1879/+93
| | |
* | | compiler/msgs.nim: minor code cleanupAndreas Rumpf2018-05-051-105/+105
| | |
* | | warn about inconsistent spacing around binary operators; fixes #7582Andreas Rumpf2018-05-056-12/+10
| | |
* | | fixes #7582Andreas Rumpf2018-05-051-2/+3
|/ /
* | compiler: code cleanupAndreas Rumpf2018-05-021-3/+2
| |
* | remove the deprecated 'nil' statementAndreas Rumpf2018-05-021-18/+11
| |
* | make 'not nil' experimentalAndreas Rumpf2018-05-023-1/+5
| |
* | Don't hide overflow/underflow/divbyzero in semfold (#7732)Oscar Nihlgård2018-05-022-32/+76
| | | | | | | | | | * firstOrd/lastOrd bugfix * Don't hide overflow/underflow/divbyzero in semfold
* | fixes #7730, fixes #7746Araq2018-05-021-2/+2
| |
* | Fix renderer's errors (#7742)Dmitry Atamanov2018-05-012-6/+9
| | | | | | | | | | | | | | | | * Fix renderer's errors * Same for filter_tmpl * var -> let
* | introduce --laxStrings:on switchAraq2018-04-301-1/+1
| |
* | Merge branch 'araq-strings-v1' into develAraq2018-04-304-5/+15
|\ \
| * | make msgs.nim more robustAndreas Rumpf2018-04-301-0/+4
| | |
| * | commands.nim: use let instead of varAndreas Rumpf2018-04-301-2/+2
| | |
| * | make the build more robustAndreas Rumpf2018-04-302-3/+9
| | |
* | | introduce --laxstrings switch for backwards compatibilityAraq2018-04-302-1/+3
|/ /
* | the compiler does not rely on the zero terminator anymoreAndreas Rumpf2018-04-293-14/+13
| |
* | renderer.nim: bugfixAndreas Rumpf2018-04-291-0/+1
| |
* | strutils: code cleanups and do not rely on the terminating binary zero anymoreAndreas Rumpf2018-04-281-8/+7
| |
* | sigmatch: speed it upAndreas Rumpf2018-04-282-20/+19
| |
* | minor speedup: concept tests still greenAndreas Rumpf2018-04-283-14/+15
| |
* | stuff that is greenAndreas Rumpf2018-04-283-23/+37
| |