summary refs log tree commit diff stats
path: root/compiler/ropes.nim
Commit message (Collapse)AuthorAgeFilesLines
* improve the debugging experience when line directives are usedZahary Karadjov2017-09-041-0/+1
|
* fixes #4656; ropes.nim checks properly for file equalityAndreas Rumpf2016-08-261-1/+6
|
* compiler: Trim .nim files trailing whitespaceAdam Strzelecki2015-09-041-1/+1
| | | | via OSX: find . -name '*.nim' -exec sed -i '' -E 's/[[:space:]]+$//' {} +
* compiler_ropes: more lib_ropes portingJacek Sieka2015-04-081-67/+62
|
* Get rid of deprecation warningsdef2015-04-071-32/+5
|
* ropes: remove more unnecessary checksJacek Sieka2015-04-031-2/+2
|
* compiler_ropes: remove unnecessary length checkJacek Sieka2015-04-031-1/+1
| | | | frmt[frmt.len] isn't an out-of-bounds access for strings (!)
* compiler_ropes: deprecate old function namesJacek Sieka2015-04-011-16/+15
|
* compiler_ropes: TRope -> RopeObj, PRope* -> Rope*Jacek Sieka2015-04-011-50/+56
|
* compiler_ropes: toRope -> ropeJacek Sieka2015-04-011-11/+17
|
* ropes: make lib & compiler frmt more similar, fix out-of-bounds accesses in ↵Jacek Sieka2015-04-011-1/+15
| | | | lib ropes
* compiler_ropes: ropef -> %, appf -> addfJacek Sieka2015-04-011-19/+21
|
* compiler_ropes: ropeEqualsFile -> equalsFile, no more max rope component lengthJacek Sieka2015-04-011-56/+38
| | | | | | | read file data in bigger blocks, avoiding lots of file api calls also removed crc step - seems easier to simply compare the bytes rather than calculating two crc's
* compiler_ropes: add `&` and addJacek Sieka2015-04-011-24/+37
| | | | | Invokations still need to be updated, but that's a lot of changes, so save for later
* compiler_ropes: ropeToStr -> $Jacek Sieka2015-04-011-2/+1
|
* compiler_ropes: don't expose newRopeJacek Sieka2015-04-011-1/+1
|
* compiler_ropes: ropeLen -> lenJacek Sieka2015-04-011-2/+1
|
* prepare for upcoming parsing change of unary operatorsAraq2015-03-221-61/+61
|
* Fix typosFederico Ceratto2015-02-151-1/+1
|
* Nimrod renamed to NimAraq2014-08-281-2/+2
|
* renamefestAraq2014-08-231-5/+5
|
* 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