summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* c2nim: bugfix: parsing of typedef'ed function pointersAraq2011-09-282-11/+8
|
* bugfix: overloading resolution for typeofAraq2011-09-277-81/+98
|
* bugfix: $ escaping in interpolatedFragmentsAraq2011-09-262-12/+22
|
* bugfix: internal error in evalFieldAccess; parseutils.interpolatedFragments ↵Araq2011-09-2610-127/+120
| | | | optimized; tstringinterp.nim now works
* sockets.recv optimizations; stdlib now supports taint modeAraq2011-09-2414-74/+112
|
* renamed optional to discardableAraq2011-09-2415-63/+72
|
* implemented optional pragma for implicit discardAraq2011-09-2411-21/+53
|
* l-values are preserved modulo type distinctionAraq2011-09-244-7/+14
|
* more fixes to get rid of tyPureObjectAraq2011-09-244-8/+8
|
* got rid of akPureObjectAraq2011-09-243-8/+8
|
* got rid of tyPureObject; broke bootstrapping; use generated C codeAraq2011-09-242-3/+19
|
* got rid of tyPureObject; broke bootstrapping; use generated C codeAraq2011-09-247-14/+19
|
* Merge branch 'master' of git@github.com:Araq/NimrodAraq2011-09-249-44/+117
|\
| * Fixed string concatenation and other bugs in the JS backend. Fixed a small ↵dom962011-09-239-44/+117
| | | | | | | | bug in the IRC module.
* | beginning of a taint mode; type system enhancementsAraq2011-09-2418-284/+266
|/
* fixed some newly introduced bugsAraq2011-09-219-45/+91
|
* Merge pull request #54 from zah/pretty-print-astAraq2011-09-2013-53/+492
|\ | | | | String interpolation implemented in terms of macros
| * using statement (ala C#) implemented as macro (added as test).Zahary Karadjov2011-09-205-49/+152
| | | | | | | | simplified the usage of the interpolatedFragments iterator.
| * Moved the parseAST magics to evals.nimZahary Karadjov2011-09-206-39/+215
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Added string interpolation helper routines in parserutils Added a proof-of-concept string interpolation user-land macros (currently, only as a test case): the interpolated expression could either be transformed to concat("literal string ", $(interpolated), " end") or "literal string $1 end" % [$(interpolated)] Added a very initial definition of Optional[T] generic type A new overload of ParseIdent was added in hope to get around the fact that the old one doesn't work correctly in macros, but the problem persists.
| * Quick Fix:Zahary Karadjov2011-09-202-2/+2
| | | | | | | | | | | | | | | | | | | | | | Constant expressions used in when statements and tuple indexing are properly evaluated now Even further step tested to be OK: ```nimrod proc semConstExpr(c: PContext, n: PNode): PNode = result = semAndEvalConstExpr(c, n) ```
| * Some very small steps towards an uuid generation module.Zahary Karadjov2011-09-201-0/+30
| | | | | | | | I did some basic research on cross-platform UUID generation and didn't want to lose any information, so this code only represents what I learned (uuidMacTime should work tho).
| * Initial implementation of the parseExpr, parseStmt, getAst macro routines:Zahary Karadjov2011-09-206-37/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | proc parseExpr*(s: string) : expr {.magic: "ParseExprToAst".} ## Compiles the passed string to its AST representation ## Expects a single expression proc parseStmt*(s: string) : stmt {.magic: "ParseStmtToAst".} ## Compiles the passed string to its AST representation ## Expects one or more statements proc getAst*(macroOrTemplate: expr): expr {.magic: "ExpandMacroToAst".} ## Obtains the AST nodes returned from a macro or template invocation ## example: ## macro FooMacro() = ## var ast = getAst(BarTemplate()) Handling of the node.toYaml magic moved to the evaluation engine.
| * Added AST introspection routines as a part of the standard libraryZahary Karadjov2011-09-204-21/+44
| |
* | Merge pull request #57 from zah/codegen-fixesAraq2011-09-209-69/+102
|\ \ | |/ |/| Codegen fixes
| * Multiple C lines corresponding to a single nimrod line are joined togetherZahary Karadjov2011-09-206-61/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch greatly improves the "step over" operation available in debuggers. In practice, there are often 4-8 lines of C code generated for each nimrod line Each such line will be responsible to a single step in the debugger that is a) not expected by the user b) taking the user to an incorrect line in the nimrod code To keep this working, all code generation should use the rope formatting facilities when producing new lines (i.e. $n and $N). New semantics for the format string are introduced: $n means "soft new line" that could be joined/broken when lineDir is enabled. $N means "hard new line" that will always appear as a new line. As an alternative to this approach, I also tested producing code like this: #line "code.nim" 154 foo = bar; \ foo(bar) \ This is better for readability of the final output, but unfortunately it didn't produce the desired result across all compilers/debuggers.
| * Nimrod can now compile itself with --lineDir enabledZahary Karadjov2011-09-207-12/+25
|/
* Merge branch 'master' of github.com:Araq/NimrodAraq2011-09-205-65/+324
|\
| * Merge pull request #56 from keitahaga/doc-fixesAraq2011-09-101-63/+63
| |\ | | | | | | Typo fix
| | * lib/wrappers/sphinx.nim: fix typo, use 'shpinx' instead of 'sphinx'Keita Haga2011-09-091-63/+63
| |/
| * Some improvements relating to the IRC module.dom962011-09-044-16/+21
| |
| * Added IRC module.dom962011-09-041-0/+254
| |
* | bugfixes for generics; new threads implementation still brokenAraq2011-09-2019-124/+258
|/
* Merge branch 'master' of git@github.com:Araq/NimrodAraq2011-08-291-53/+53
|\
| * Merge pull request #53 from keitahaga/doc-fixesAraq2011-08-281-53/+53
| |\ | | | | | | Fix typo in strutils.splitLines doc comment
| | * lib/pure/strutils.nim: fix doc comment for splitLinesKeita Haga2011-08-251-53/+53
| |/
* | added actors.nim file; compiler not up for this taskAraq2011-08-291-0/+184
| |
* | new actors implementation for nimrod; compiler's generics still not up for ↵Araq2011-08-298-176/+93
| | | | | | | | the task though
* | attempt to fix tester.nim file handle leakAraq2011-08-292-0/+1
|/
* bugfix: fixed built-in 'reset'Araq2011-08-202-4/+6
|
* more occurences of 'pure' proc pragma fixedAraq2011-08-204-29/+30
|
* locks now in their own core moduleAraq2011-08-2010-138/+177
|
* 'pure' is now 'noStackFrame' for procsAraq2011-08-196-21/+28
|
* small bugfix for evalAraq2011-08-192-1/+28
|
* documentation for --nimcache optionAraq2011-08-193-0/+4
|
* implemented --nimcache config option; big clean up of magic wordsAraq2011-08-198-187/+170
|
* inlining of 'var openarray' iterators now workAraq2011-08-183-26/+49
|
* Merge branch 'master' of git@github.com:Araq/NimrodAraq2011-08-161-46/+46
|\
| * Merge pull request #51 from keitahaga/fix-typoAraq2011-08-161-46/+46
| |\ | | | | | | Fix typo in cgi module; many thanks to keitahaga
| | * lib/pure/cgi.nim: fix typo 'passwort' instead of 'password'Keita Haga2011-08-171-46/+46
| | |
* | | bugfix topenarrayrepr works againAraq2011-08-161-1/+2
|/ /