Files
Nim/compiler
Alexander Ivanov 672dc5cd87 Nil type check implementation (#15287)
* Nil checking
* Enable current older not nil checking again, run new checking only under flag, skip our test
* Enable tests, work on try/except and bugs, fix notnil tests

* Enable strictNotNil tests (currently with lowercase category) and add some expected output
* Work on try/except/finally: still some things unclear and a lot of code can raise out of try
* Fix the notnil build by going back to the old version of a test which I shouldn't have changed

* Fix test : use action compile
* Work on mutation and aliasing: not finished
* Render var parititions graph, try to understand it, fix a nilcheck if bug
* Rebase, progress on working with partitions
* Improve time logic
* Fix some bugs, use graph indices instead of symbol in nil map
* Fix bugs, test simpler ident aliasing for now, support two mutation levels
* Support ContentMutation and ReAssignment: for now just detect possible re assignment for var parameters of calls
* Enable several simple passing tests
* Cleanup a bit, fix condition/branch infix-related bug
* Remove some files, address some comments by Araq
* Use internalError and no quit for now
* Separate tests with expected warnings and with expected ok, fix a bug with if with a single branch related to copyMap
* Fix new data structures, bugs: make tests pass, disable some for now
* Work on fixing errors with non-sym nodes, aliasing: tests fail
* Work on alias support: simple set-based logic, todo more tests and ref sets?
* Use ref sets: TODO can we think of handle seq-s similar to varpartitions' Araq ones
* Handle defers in one place, stop raising in reverse to make an async test compile with strictNotNil, add a commented out test
* Dot expressions: call/reassignment. Other refactorings and distinct, SeqOfDistinct support. Checkout an older varpartitions
* Work on field tracking
* Backup : trying to fix bugs when running some stdlib stuff for running an async test
* Start a section about strict not nil checking in experimental manual
* Fix experimental strict not nil manual section and move it to another file based on Araq feedback
* Fix unstructured flow and double warning problems, fix manual, cleanup
* Fix if/elif/else : take in account structure according to Araq feedback
* Refactor a bit
* Work on bracket expr support, re-enable tests, clarify in manual/tests/implementation static index support for now
* Work on compiling stdlib and compiler with strictNotNil
* Small fixes to the manual for strictNotNil
* Fix idgen for strict check nil rebase
* Enable some simple tests, remove old stuff, comment out code/print
* Copy the original varpartitions source instead of my changes
* Remove some files
2020-12-29 10:31:11 +01:00
..
2020-12-29 10:31:11 +01:00
2019-11-28 17:13:04 +01:00
2020-05-19 21:42:53 +02:00
2020-11-03 11:41:41 +01:00
2020-07-08 18:59:34 +02:00
2020-12-09 12:18:32 +01:00
2017-01-07 22:35:09 +01:00
2020-08-01 18:04:04 +02:00
2020-12-18 08:53:43 +01:00
2020-08-10 12:57:32 +02:00
2020-11-15 15:08:27 +01:00
2020-08-28 22:18:09 +02:00
2019-11-28 17:13:04 +01:00
2019-11-28 17:13:04 +01:00
2020-11-07 15:58:49 +01:00
2020-11-05 14:00:08 +01:00
2020-12-18 08:53:43 +01:00
2020-08-28 22:18:09 +02:00
2020-09-24 14:14:23 +02:00
2019-09-27 07:02:54 +02:00
2020-07-15 23:00:06 +02:00
2020-11-10 21:53:25 +01:00
2020-11-10 21:53:25 +01:00
2020-08-28 22:18:09 +02:00
2020-08-28 22:18:09 +02:00
2019-11-28 17:13:04 +01:00
2020-11-09 11:47:29 +01:00
2020-08-28 22:18:09 +02:00
2020-11-05 18:55:52 +01:00
2020-08-28 22:18:09 +02:00
2020-11-10 21:53:25 +01:00
2020-08-28 22:18:09 +02:00
2020-03-26 15:18:45 +00:00

Nim Compiler

  • This directory contains the Nim compiler written in Nim.
  • Note that this code has been translated from a bootstrapping version written in Pascal.
  • So the code is not a poster child of good Nim code.

See Internals of the Nim Compiler for more information.