summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 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 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
|/ /
* / finally got rid of nkPassAsOpenArrayAraq2011-08-1612-72/+50
|/
* Merge branch 'master' of git@github.com:Araq/NimrodAraq2011-08-151-37/+37
|\
| * Merge pull request #50 from keitahaga/terminalAraq2011-08-151-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 Haga2011-08-161-37/+37
| |/ | | | | | | Unix-like systems
* / added xmltree.innerText; fixes #49Araq2011-08-157-33/+114
|/
* bugfix: running for threadsAraq2011-08-122-2/+2
|
* added system.running for threadsAraq2011-08-113-10/+14
|
* bugfix: #line generation for windowsAraq2011-08-113-3/+14
|
* further tests for var T result type; ttables test now fails :-(Araq2011-08-104-161/+167
|
* added system.slurp for easy embedding of resourcesAraq2011-08-1010-24/+63
|
* modifyable results for generics; teventemitter worksAraq2011-08-0910-40/+103
|
* fixes #35, fixes #43Araq2011-08-084-6/+9
|
* json code generation works againAraq2011-08-076-14/+17
|
* support for C++ code generation; importcpp and importobjc pragmasAraq2011-08-0729-177/+500
|
* Merge branch 'master' of github.com:Araq/NimrodAraq2011-08-044-14/+23
|\
| * Fixed osproc.terminate for posix and improved some other osproc posix functions.dom962011-08-031-10/+19
| |
| * Merge pull request #46 from keitahaga/examplesAraq2011-08-023-4/+4
| |\ | | | | | | Fixed examples/keyval2.nim
| | * examples/keyval2.nim: the indices of the elements of a sequence are numbered ↵Keita Haga2011-08-023-4/+4
| |/ | | | | | | starting with zero
* / fixes #42Araq2011-08-045-118/+127
|/
* anonymous procs implemented; however no closure support yetAraq2011-08-015-6/+27
|