Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fixed string concatenation and other bugs in the JS backend. Fixed a small ↵ | dom96 | 2011-09-23 | 9 | -44/+117 |
| | | | | bug in the IRC module. | ||||
* | fixed some newly introduced bugs | Araq | 2011-09-21 | 9 | -45/+91 |
| | |||||
* | Merge pull request #54 from zah/pretty-print-ast | Araq | 2011-09-20 | 13 | -53/+492 |
|\ | | | | | String interpolation implemented in terms of macros | ||||
| * | using statement (ala C#) implemented as macro (added as test). | Zahary Karadjov | 2011-09-20 | 5 | -49/+152 |
| | | | | | | | | simplified the usage of the interpolatedFragments iterator. | ||||
| * | Moved the parseAST magics to evals.nim | Zahary Karadjov | 2011-09-20 | 6 | -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 Karadjov | 2011-09-20 | 2 | -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 Karadjov | 2011-09-20 | 1 | -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 Karadjov | 2011-09-20 | 6 | -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 library | Zahary Karadjov | 2011-09-20 | 4 | -21/+44 |
| | | |||||
* | | Merge pull request #57 from zah/codegen-fixes | Araq | 2011-09-20 | 9 | -69/+102 |
|\ \ | |/ |/| | Codegen fixes | ||||
| * | Multiple C lines corresponding to a single nimrod line are joined together | Zahary Karadjov | 2011-09-20 | 6 | -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 enabled | Zahary Karadjov | 2011-09-20 | 7 | -12/+25 |
|/ | |||||
* | Merge branch 'master' of github.com:Araq/Nimrod | Araq | 2011-09-20 | 5 | -65/+324 |
|\ | |||||
| * | Merge pull request #56 from keitahaga/doc-fixes | Araq | 2011-09-10 | 1 | -63/+63 |
| |\ | | | | | | | Typo fix | ||||
| | * | lib/wrappers/sphinx.nim: fix typo, use 'shpinx' instead of 'sphinx' | Keita Haga | 2011-09-09 | 1 | -63/+63 |
| |/ | |||||
| * | Some improvements relating to the IRC module. | dom96 | 2011-09-04 | 4 | -16/+21 |
| | | |||||
| * | Added IRC module. | dom96 | 2011-09-04 | 1 | -0/+254 |
| | | |||||
* | | bugfixes for generics; new threads implementation still broken | Araq | 2011-09-20 | 19 | -124/+258 |
|/ | |||||
* | Merge branch 'master' of git@github.com:Araq/Nimrod | Araq | 2011-08-29 | 1 | -53/+53 |
|\ | |||||
| * | Merge pull request #53 from keitahaga/doc-fixes | Araq | 2011-08-28 | 1 | -53/+53 |
| |\ | | | | | | | Fix typo in strutils.splitLines doc comment | ||||
| | * | lib/pure/strutils.nim: fix doc comment for splitLines | Keita Haga | 2011-08-25 | 1 | -53/+53 |
| |/ | |||||
* | | added actors.nim file; compiler not up for this task | Araq | 2011-08-29 | 1 | -0/+184 |
| | | |||||
* | | new actors implementation for nimrod; compiler's generics still not up for ↵ | Araq | 2011-08-29 | 8 | -176/+93 |
| | | | | | | | | the task though | ||||
* | | attempt to fix tester.nim file handle leak | Araq | 2011-08-29 | 2 | -0/+1 |
|/ | |||||
* | bugfix: fixed built-in 'reset' | Araq | 2011-08-20 | 2 | -4/+6 |
| | |||||
* | more occurences of 'pure' proc pragma fixed | Araq | 2011-08-20 | 4 | -29/+30 |
| | |||||
* | locks now in their own core module | Araq | 2011-08-20 | 10 | -138/+177 |
| | |||||
* | 'pure' is now 'noStackFrame' for procs | Araq | 2011-08-19 | 6 | -21/+28 |
| | |||||
* | small bugfix for eval | Araq | 2011-08-19 | 2 | -1/+28 |
| | |||||
* | documentation for --nimcache option | Araq | 2011-08-19 | 3 | -0/+4 |
| | |||||
* | implemented --nimcache config option; big clean up of magic words | Araq | 2011-08-19 | 8 | -187/+170 |
| | |||||
* | inlining of 'var openarray' iterators now work | Araq | 2011-08-18 | 3 | -26/+49 |
| | |||||
* | Merge branch 'master' of git@github.com:Araq/Nimrod | Araq | 2011-08-16 | 1 | -46/+46 |
|\ | |||||
| * | Merge pull request #51 from keitahaga/fix-typo | Araq | 2011-08-16 | 1 | -46/+46 |
| |\ | | | | | | | Fix typo in cgi module; many thanks to keitahaga | ||||
| | * | lib/pure/cgi.nim: fix typo 'passwort' instead of 'password' | Keita Haga | 2011-08-17 | 1 | -46/+46 |
| | | | |||||
* | | | bugfix topenarrayrepr works again | Araq | 2011-08-16 | 1 | -1/+2 |
|/ / | |||||
* / | finally got rid of nkPassAsOpenArray | Araq | 2011-08-16 | 12 | -72/+50 |
|/ | |||||
* | Merge branch 'master' of git@github.com:Araq/Nimrod | Araq | 2011-08-15 | 1 | -37/+37 |
|\ | |||||
| * | Merge pull request #50 from keitahaga/terminal | Araq | 2011-08-15 | 1 | -37/+37 |
| |\ | | | | | | | Fixed bug where the styleReverse doesn't work on Unix-like systems | ||||
| | * | lib/pure/terminal.nim: fixed bug where the styleReverse doesn't work on ↵ | Keita Haga | 2011-08-16 | 1 | -37/+37 |
| |/ | | | | | | | Unix-like systems | ||||
* / | added xmltree.innerText; fixes #49 | Araq | 2011-08-15 | 7 | -33/+114 |
|/ | |||||
* | bugfix: running for threads | Araq | 2011-08-12 | 2 | -2/+2 |
| | |||||
* | added system.running for threads | Araq | 2011-08-11 | 3 | -10/+14 |
| | |||||
* | bugfix: #line generation for windows | Araq | 2011-08-11 | 3 | -3/+14 |
| | |||||
* | further tests for var T result type; ttables test now fails :-( | Araq | 2011-08-10 | 4 | -161/+167 |
| | |||||
* | added system.slurp for easy embedding of resources | Araq | 2011-08-10 | 10 | -24/+63 |
| | |||||
* | modifyable results for generics; teventemitter works | Araq | 2011-08-09 | 10 | -40/+103 |
| | |||||
* | fixes #35, fixes #43 | Araq | 2011-08-08 | 4 | -6/+9 |
| | |||||
* | json code generation works again | Araq | 2011-08-07 | 6 | -14/+17 |
| | |||||
* | support for C++ code generation; importcpp and importobjc pragmas | Araq | 2011-08-07 | 29 | -177/+500 |
| |