summary refs log tree commit diff stats
path: root/compiler/ropes.nim
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'upstream' into develZahary Karadjov2013-12-291-7/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: compiler/ccgutils.nim compiler/msgs.nim compiler/sem.nim compiler/semexprs.nim compiler/seminst.nim compiler/semmagic.nim compiler/semstmts.nim compiler/semtypes.nim compiler/semtypinst.nim compiler/sigmatch.nim compiler/types.nim compiler/vmgen.nim lib/core/macros.nim lib/system.nim tests/reject/tenummix.nim web/news.txt
| * static params: expr[T] is now static[T]Zahary Karadjov2013-12-191-7/+10
| | | | | | | | | | | | | | This introduces tyStatic and successfully bootstraps and handles few simple test cases. Static params within macros are no longer treated as PNimrodNodes - they are now equivalent to constants of the designated type.
* | case consistency: next stepsAraq2013-12-291-4/+4
| |
* | case consistency part 4Araq2013-12-271-7/+7
| |
* | case consistency part 1Araq2013-12-271-13/+13
|/
* Removes executable bit for text files.Grzegorz Adam Hankiewicz2013-03-161-0/+0
|
* adds an option to interleave the generated code with snippets from the ↵Zahary Karadjov2012-12-021-8/+16
| | | | | | | | | | | | | | | original source Lines from the original source are outputted as comments next to line directives. Hopefully, this will make debugging codegen problems easier. Other changes: The frame setup code now uses a single-line C macro. My motivation was to reduce the noise in the generated output and make it easier to step over the boiler-plate code, but counter-intuitively this also improved the overall compilation speed a little bit so I applied the same treatment to line tracking too (this reduces the size of the generated files and the explanation is that probably the I/O overhead dominates the macro expansion costs).
* temporary debugging code for the memory leak investigationZahary Karadjov2012-11-281-0/+4
|
* disables the compile-time rope formatting during bootstrappingZahary Karadjov2012-11-281-2/+5
|
* experimental compile-time rope formatting codeZahary Karadjov2012-11-281-2/+23
|
* implemented a stack trace profilerAraq2012-09-151-0/+1
|
* openarray/varargs split; breaks bootstrappingAraq2012-08-161-6/+6
|
* made compiler more robust for idetools supportAraq2012-07-301-1/+3
|
* implements #173Araq2012-07-281-1/+1
|
* doc2 improvementsAraq2012-06-241-5/+5
|
* extracted documentation generatorAraq2012-05-091-0/+3
|
* @ is a sigil-like operatorAraq2012-04-151-104/+6
|
* performance improvements for ropesAraq2012-04-131-14/+20
|
* year 2012 for most copyright headersAraq2012-01-021-1/+1
|
* first steps to C file merge operation for incremental compilationAraq2011-10-211-0/+6
|
* Multiple C lines corresponding to a single nimrod line are joined togetherZahary Karadjov2011-09-201-2/+5
| | | | | | | | | | | | | | | | | | | | | | 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.
* bugfix: 'final' not passed to genericAraq2011-07-291-2/+2
|
* got rid of nstrtabs and nhashes modulesAraq2011-06-101-1/+1
|
* deprecated system.copy: use system.substr insteadAraq2011-05-141-1/+1
|
* := templatable; lexer improvementsAraq2011-04-171-1/+1
|
* big repo cleanupAraq2011-04-121-0/+400