summary refs log tree commit diff stats
path: root/compiler/renderer.nim
Commit message (Collapse)AuthorAgeFilesLines
* when displaying proc signatures, don't render the implicit generic paramsZahary Karadjov2017-03-241-8/+19
|
* fixes #5467Araq2017-03-071-1/+5
|
* removed compiler internal list implementation (#5371)Arne Döring2017-02-221-1/+1
|
* removed tyArrayConstr completely from the compiler; introduced tyAlias ↵Araq2016-11-141-1/+2
| | | | instead in preparation for further bugfixes
* big refactoring: step 1Araq2016-10-311-2/+0
|
* clean up tyMutable remnantsJacek Sieka2016-10-241-2/+1
|
* clean up tyConst remnantsJacek Sieka2016-10-241-1/+1
|
* remove unused stuffJacek Sieka2016-08-091-20/+1
|
* gensym'ed symbols are rendered with their ID for much easier debuggingAndreas Rumpf2016-07-081-2/+6
|
* fixes #1713Andreas Rumpf2016-05-301-1/+5
|
* small bugfix for the AST rendererAndreas Rumpf2016-04-171-1/+1
|
* fixes #3868Andreas Rumpf2016-03-041-16/+32
|
* use 'using' instead of 'sig' keyword; cleans up new features a bitAndreas Rumpf2016-02-291-3/+6
|
* added 'sig' feature; removed tfShared support in the compilerAndreas Rumpf2016-02-281-3/+4
|
* made AST renderer more robust for wrong macrosAndreas Rumpf2016-02-191-61/+68
|
* make rendering of typeof operator clearer; refs #3710Andreas Rumpf2016-01-261-2/+4
|
* implements multi-line-comments; pounds are stripped from the doc commentsAndreas Rumpf2016-01-161-14/+5
|
* made closure iterators tests green, updated docsAndreas Rumpf2015-12-311-0/+2
|
* source code renderer doesn't produce trailing whitespace anymoreAraq2015-07-121-4/+19
|
* Fixed renderer for asm node in JSyglukhov2015-05-281-1/+2
|
* fixes #2509Araq2015-04-111-0/+1
|
* breaking change: 'concept' is now a keyword and used instead of 'generic'Araq2015-03-231-1/+1
|
* fixes #1805Araq2015-03-211-5/+6
|
* fixes #2366Araq2015-03-211-2/+5
|
* fixes #2287Araq2015-03-121-236/+238
|
* interpret `tuple` as a class and `tuple[]` as the empty tupleMax Zerzouri2015-03-061-4/+6
| | | | | | | | When the indentation syntax is allowed it is always interpreted as a tuple: type Unit = tuple
* Replaced deprecated repeatChar() with repeat() or spaces().Hans Raaf2015-03-041-3/+3
|
* patch required for c2nimAraq2015-01-071-4/+5
|
* cleaned up os.nim; docgen improvementsAraq2014-12-211-5/+11
|
* fixes #1187Araq2014-12-191-2/+2
|
* fixes #1388Araq2014-12-171-1/+1
|
* fixes #940Araq2014-11-171-2/+9
|
* fixes a minor bug when 'type' is used in a wrong wayAraq2014-10-021-2/+2
|
* Nimrod renamed to NimAraq2014-08-281-2/+2
|
* renamefestAraq2014-08-231-1/+1
|
* 'lambda' is no keyword anymoreAraq2014-08-081-1/+1
|
* fixes #1144Araq2014-06-301-12/+13
|
* new concurrency model: first steps; shared is not a keyword anymoreAraq2014-04-141-6/+0
|
* merged better html links #850Araq2014-04-081-11/+17
|
* implements ``distinct with/without X, Y``Zahary Karadjov2014-03-201-3/+12
| | | | | | This still doesn't work quite right, because some common operations like array indexing lay completely outside the scope/symbol lookup system - they are not even magics.
* don't produce nested indents for nested stmt listsAraq2014-03-041-7/+10
|
* vm2: new representation of registersAraq2014-02-211-1/+1
|
* renderer knows about nkStaticTy and nkTypeClassTyAraq2014-01-231-0/+23
|
* next steps for closure iteratorsAraq2014-01-221-0/+5
|
* 'nil' as a statement is deprecated, use an empty 'discard' insteadAraq2014-01-191-4/+4
|
* bugfix: renderer supports 'ptr' etc. as type constraintAraq2014-01-121-4/+5
|
* case consistency: next stepsAraq2013-12-291-30/+30
|
* case consistency part 4Araq2013-12-271-10/+10
|
* case consistency part 1Araq2013-12-271-4/+4
|
* new VM: globals kinda workAraq2013-12-131-3/+7
|
*(esi+4)) # => eax (check-ints-equal *eax 0 "F - test-parse-array-of-ints-empty") # . epilogue 89/<- %esp 5/r32/ebp 5d/pop-to-ebp c3/return test-parse-array-of-ints-just-whitespace: # - just whitespace = empty array # . prologue 55/push-ebp 89/<- %ebp 4/r32/esp # var h/esi: handle 68/push 0/imm32 68/push 0/imm32 89/<- %esi 4/r32/esp # (_parse-array-of-ints Heap Space %esi) (lookup *esi *(esi+4)) # => eax (check-ints-equal *eax 0 "F - test-parse-array-of-ints-just-whitespace") # . epilogue 89/<- %esp 5/r32/ebp 5d/pop-to-ebp c3/return test-parse-array-of-ints-extra-whitespace: # . prologue 55/push-ebp 89/<- %ebp 4/r32/esp # var h/esi: handle 68/push 0/imm32 68/push 0/imm32 89/<- %esi 4/r32/esp # var ecx: (array int) = [1, 2, 3] 68/push 3/imm32 68/push 2/imm32 68/push 1/imm32 68/push 0xc/imm32/size 89/<- %ecx 4/r32/esp # (_parse-array-of-ints Heap " 1 2 3 " %esi) (lookup *esi *(esi+4)) # => eax (array-equal? %ecx %eax) # => eax (check-ints-equal %eax 1 "F - test-parse-array-of-ints-extra-whitespace") # . epilogue 89/<- %esp 5/r32/ebp 5d/pop-to-ebp c3/return parse-array-of-ints: # s: (addr array byte), out: (addr handle array int) # . prologue 55/push-ebp 89/<- %ebp 4/r32/esp # (_parse-array-of-ints Heap *(ebp+8) *(ebp+0xc)) $parse-array-of-ints:end: # . epilogue 89/<- %esp 5/r32/ebp 5d/pop-to-ebp c3/return # helper for later tests # compare an array with a string representation of an array literal check-array-equal: # a: (addr array int), expected: (addr string), msg: (addr string) # . prologue 55/push-ebp 89/<- %ebp 4/r32/esp # . save registers 50/push-eax 56/push-esi # var h/esi: handle 68/push 0/imm32 68/push 0/imm32 89/<- %esi 4/r32/esp # var b/eax: (addr array int) = parse-array-of-ints(Heap, expected) (parse-array-of-ints *(ebp+0xc) %esi) (lookup *esi *(esi+4)) # => eax # (array-equal? *(ebp+8) %eax) (check-ints-equal %eax 1 *(ebp+0x10)) $check-array-equal:end: # . restore registers 5e/pop-to-esi 58/pop-to-eax # . epilogue 89/<- %esp 5/r32/ebp 5d/pop-to-ebp c3/return test-check-array-equal: # . prologue 55/push-ebp 89/<- %ebp 4/r32/esp # var ecx: (array int) = [1, 2, 3] 68/push 3/imm32 68/push 2/imm32 68/push 1/imm32 68/push 0xc/imm32/size 89/<- %ecx 4/r32/esp # (check-array-equal %ecx "1 2 3" "F - test-check-array-equal") # . epilogue 89/<- %esp 5/r32/ebp 5d/pop-to-ebp c3/return