summary refs log tree commit diff stats
path: root/compiler/semstmts.nim
Commit message (Collapse)AuthorAgeFilesLines
* idetools: 'usages' and 'def' should work now; documented js backendAraq2012-08-051-3/+6
|
* idetools improvements; preparation of first class iterators; fixes #183Araq2012-08-021-9/+12
|
* made compiler more robust for idetools; implemented idetools.usagesAraq2012-07-301-5/+5
|
* more improvements for idetoolsAraq2012-07-301-2/+6
|
* better error handling for better idetools supportAraq2012-07-291-71/+67
|
* added warning for confusing var declarationsAraq2012-07-261-0/+3
|
* bugfixes for the symbol mangling; implements #129Araq2012-07-191-0/+9
|
* preparations for making 'closure' the default calling convention for proc typesAraq2012-07-161-1/+1
|
* 'addSon' for types deprecated for 'int literal type' analysis (3)Araq2012-07-091-2/+2
|
* 'addSon' for types deprecated for 'int literal type' analysis (2)Araq2012-07-091-3/+3
|
* bugfix: ha.echo should be acceptedAraq2012-07-081-2/+3
|
* added proc annotations: macros invoked as pragmasAraq2012-06-261-0/+36
|
* doc2 improvementsAraq2012-06-241-2/+2
|
* bugfixes for closuresAraq2012-06-211-1/+1
|
* added another macro regressionAraq2012-06-201-1/+1
|
* destructor pragmaZahary Karadjov2012-06-071-6/+6
|
* destructors for case valuesZahary Karadjov2012-06-071-16/+61
|
* fix bootstrapping on POSIX platformsZahary Karadjov2012-06-061-0/+4
|
* generate default destructorsZahary Karadjov2012-06-061-8/+98
|
* Merge branch 'master' of github.com:Araq/Nimrod into upstreamZahary Karadjov2012-06-021-2/+6
|\
| * added system.||; lacks runtime supportAraq2012-05-231-2/+6
| |
* | Added system.staticExec proc for executing external command at compile-timeZahary Karadjov2012-06-021-1/+1
| |
* | codegen for user-defined destructorsZahary Karadjov2012-05-251-1/+71
| |
* | stand-alone except and finally blocksZahary Karadjov2012-05-231-7/+27
|/ | | | This is equivalent to the on-error and at-scope-exit operators in other languages
* compiler finally supports 'object {.pragma.}' syntaxAraq2012-04-161-1/+1
|
* avoid duplicated variable names in unrolled loopsZahary Karadjov2012-04-151-2/+6
|
* fixes #20 properlyZahary Karadjov2012-04-151-3/+2
|
* fix the usage of definedInScope in pegs.=~Zahary Karadjov2012-04-141-1/+1
| | | | | | | | | | | | | | | | template `=~`*(s: string, pattern: TPeg): bool = when not definedInScope(matches): var matches: array[0..maxSubpatterns-1, string] It seems that this never worked as intended. I discovered it now, because when variables' names are preserved, multiple variables named `matches` were created. The reason this happens is that when the template is used as an if condition, the if scope is already entered, but the variables end up in the outer scope. This patch is consistent with how `expr` templates work, but makes the definition of a variable injection template like := a bit harder, yet still possible. (note that if foo := bar(): is still not creating properly scoped variable prior to the patch)
* experimental support for preserving local variable names in the generated codeZahary Karadjov2012-04-131-1/+11
|
* when expressions, proper rendering for nkDo and nkLambda and parser support ↵Zahary Karadjov2012-04-051-2/+2
| | | | for x.type and x.addr
* expr params implemented for procs; paving the way for type classesZahary Karadjov2012-03-221-3/+1
|
* merged branch overloading-for-macrosZahary Karadjov2012-03-191-2/+1
|\
| * allowing multiple definitions of templatesZahary Karadjov2012-03-141-2/+1
| |
* | clean separation of PNimrodNode and tyExprAraq2012-03-161-8/+8
| |
* | implemented 'static'; macros do not work anymoreAraq2012-03-151-0/+8
|/
* fixes #100Araq2012-03-101-0/+2
|
* further steps for closure supportAraq2012-02-081-0/+4
|
* further steps to closure supportAraq2012-02-061-5/+0
|
* small fixes for tests on windowsAraq2012-01-311-1/+1
|
* pragma on/off improvements; endb rewrittenAraq2012-01-281-7/+7
|
* pragma blocks; fixed line information issue with user defined assertionsAraq2012-01-171-0/+14
|
* implicit invokation of items/pairs iteratorsAraq2012-01-081-24/+42
|
* bugfix: type alias to generic; generic type not stripped away from for loop ↵Araq2012-01-071-1/+4
| | | | variable
* year 2012 for most copyright headersAraq2012-01-021-1/+1
|
* new len(openarray) implementationAraq2011-12-311-1/+1
|
* make trecinca|b tests greenAraq2011-12-311-1/+1
|
* bugfix: compiler errors for explicit initialization of thread local ↵Araq2011-12-231-1/+2
| | | | variables; os.nim does not rely on it anymore
* bugfix: the code gen can now handle alias TLock = TSysLock; this fixes ↵Araq2011-12-231-1/+2
| | | | threading bugs
* path canonicalization for imported modules, relative paths written in rod filesZahary Karadjov2011-12-111-1/+1
|
* proc arguments are in scope when the result type definition is being processedZahary Karadjov2011-12-091-2/+4
| | | | | This is intended for type deduction depending on the arguments proc foo(x: type): type(expr(x))