Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | much more efficient rod file generation | Araq | 2011-10-18 | 1 | -11/+11 |
| | |||||
* | code generator supports constant sequences; more consistent compile time ↵ | Araq | 2011-10-07 | 1 | -1/+24 |
| | | | | evaluation | ||||
* | implemented optional pragma for implicit discard | Araq | 2011-09-24 | 1 | -1/+1 |
| | |||||
* | l-values are preserved modulo type distinction | Araq | 2011-09-24 | 1 | -1/+5 |
| | |||||
* | Multiple C lines corresponding to a single nimrod line are joined together | Zahary Karadjov | 2011-09-20 | 1 | -8/+8 |
| | | | | | | | | | | | | | | | | | | | | | | 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 | 1 | -3/+3 |
| | |||||
* | inlining of 'var openarray' iterators now work | Araq | 2011-08-18 | 1 | -1/+1 |
| | |||||
* | bugfix topenarrayrepr works again | Araq | 2011-08-16 | 1 | -1/+2 |
| | |||||
* | finally got rid of nkPassAsOpenArray | Araq | 2011-08-16 | 1 | -43/+35 |
| | |||||
* | added xmltree.innerText; fixes #49 | Araq | 2011-08-15 | 1 | -24/+17 |
| | |||||
* | support for C++ code generation; importcpp and importobjc pragmas | Araq | 2011-08-07 | 1 | -24/+143 |
| | |||||
* | anonymous procs implemented; however no closure support yet | Araq | 2011-08-01 | 1 | -0/+6 |
| | |||||
* | 'var T' for iterators | Araq | 2011-07-31 | 1 | -1/+1 |
| | |||||
* | preparation for new 'is' operator; breaks bootstrapping again, sorry (use ↵ | Araq | 2011-07-31 | 1 | -4/+4 |
| | | | | generated C code) | ||||
* | bugfixes; step one for 'var T' as return type support | Araq | 2011-07-28 | 1 | -2/+6 |
| | |||||
* | bugfix: 'set' overloadable; further steps for multi threading support | Araq | 2011-07-08 | 1 | -1/+0 |
| | |||||
* | importCompilerProc pragma introduced because the hacks for typeinfo.nim did ↵ | Araq | 2011-06-27 | 1 | -1/+2 |
| | | | | not suffice | ||||
* | second attempt to fix code gen for pegs.nim | Araq | 2011-06-26 | 1 | -2/+1 |
| | |||||
* | bugfix: pegs.nim compiles again | Araq | 2011-06-26 | 1 | -1/+4 |
| | |||||
* | improvements to get code size down for programs that don't use GC | Araq | 2011-06-26 | 1 | -0/+3 |
| | |||||
* | compiler can emulate thread local variables | Araq | 2011-06-15 | 1 | -5/+10 |
| | |||||
* | basic thread analysis working | Araq | 2011-06-13 | 1 | -1/+1 |
| | |||||
* | Added typeinfo module | dom96 | 2011-06-09 | 1 | -0/+5 |
| | |||||
* | overloading of [] for derefence operation should be possible now | Araq | 2011-06-05 | 1 | -2/+2 |
| | |||||
* | threads clean up their heap | Araq | 2011-06-04 | 1 | -3/+7 |
| | |||||
* | first steps to thread local heaps | Araq | 2011-06-02 | 1 | -2/+2 |
| | |||||
* | further steps for thread support; bootstrapping should require unzip C ↵ | Araq | 2011-05-16 | 1 | -33/+17 |
| | | | | sources and ./build.sh | ||||
* | newStringOfCap implemented and used to optimize some procs | Araq | 2011-05-08 | 1 | -1/+2 |
| | |||||
* | const table support | Araq | 2011-04-29 | 1 | -1/+7 |
| | |||||
* | big repo cleanup | Araq | 2011-04-12 | 1 | -0/+1733 |