Commit Graph

146 Commits

Author SHA1 Message Date
Danila Fedorin fc6621b8d1 Finish compiler series 2020-02-10 19:18:55 -08:00
Danila Fedorin b9f508db6a Add the primes program from compiler series 2020-02-10 18:13:04 -08:00
Danila Fedorin d86ff453bb Implement garbage collection in runtime 2020-02-06 11:32:19 -08:00
Danila Fedorin 30579afc6d Track allocated nodes using a G-machine struct in compiler series. 2020-02-06 10:05:26 -08:00
Danila Fedorin ecc1091c0a Switch to single stack in runtime for Compiler Series 2020-01-31 15:29:12 -08:00
Danila Fedorin 28e81cc9bd Update the compiler to leave the stack clean 2020-01-27 20:29:01 -08:00
Danila Fedorin 0bc9ae320b Instantiate compiler for garbage collection 2020-01-27 14:52:25 -08:00
Danila Fedorin b5694b92bc Fix naming issue (this is really a compiler bug) 2019-12-05 19:36:47 -08:00
Danila Fedorin bc5b8507cb Fix incorrect CMakeLists.txt 2019-11-13 13:47:04 -08:00
Danila Fedorin 9c34d48cdd Finish draft of post 8 in compiler series 2019-11-06 21:10:53 -08:00
Danila Fedorin f7b5bb48d1 Add the push operation in code in compiler series 2019-11-06 13:23:59 -08:00
Danila Fedorin 9ca1b177ef Finish implementation of compiler 2019-11-06 12:52:42 -08:00
Danila Fedorin b3cee61b61 Factor out definition into separate file in compiler series 2019-11-05 10:40:51 -08:00
Danila Fedorin ba807cb7bc Start writing actual compillation code in compiler series 2019-11-05 00:42:33 -08:00
Danila Fedorin c44128315d Implement function and type creation, add text to blog in compiler series 2019-11-04 18:25:54 -08:00
Danila Fedorin 70793d6ac3 Fix missing line in runtime header in compiler series 2019-11-04 13:30:18 -08:00
Danila Fedorin 6737f57a3d Start work on chapter 8 code for compilers 2019-11-02 17:53:15 -07:00
Danila Fedorin 67ddba8fc4 Add chapter 8 starting code for compiler series 2019-11-02 16:38:11 -07:00
Danila Fedorin 89c9a36722 Remove debug printf 2019-10-31 14:38:06 -07:00
Danila Fedorin ec2e448ba2 Finish initial draft of runtime posts. 2019-10-30 14:21:13 -07:00
Danila Fedorin 1ed59d9288 Write some more about runetime 2019-10-30 00:19:56 -07:00
Danila Fedorin dbc09f7ff0 Make progress on compiler posts 2019-10-26 20:30:29 -07:00
Danila Fedorin 6dd52ac182 Fix bug from small improvements 2019-10-10 17:59:44 -07:00
Danila Fedorin 463db16df7 Add finishing touches to code for part 6 of compiler series 2019-10-10 13:14:00 -07:00
Danila Fedorin e9cd4a915b Fix definition to resolve its own types 2019-10-09 22:51:19 -07:00
Danila Fedorin c730e6a6f8 Add print methods to instructions 2019-10-09 22:46:17 -07:00
Danila Fedorin 007c89501b Implement ast_case::compile for compiler series and reference code 2019-10-08 23:46:35 -07:00
Danila Fedorin e4bf3a8672 Write explanations of AST refactor in compiler series 2019-10-08 21:42:25 -07:00
Danila Fedorin e054cb98cc Fix up compile in compiler blog part 6, and add more text. 2019-10-08 14:10:05 -07:00
Danila Fedorin f49c045516 Continue implementation of compilation 2019-10-01 23:23:52 -07:00
Danila Fedorin 9ca56f51ae Begin implementation of new environment 2019-10-01 14:34:38 -07:00
Danila Fedorin ef86d60bda Create new 'branch' for part 6 of compiler series 2019-10-01 11:05:21 -07:00
Danila Fedorin b065d95804 Add errors ection to Part 4 of compiler posts 2019-08-28 15:34:13 -07:00
Danila Fedorin 2dd81cf07a Add output and fix two bugs. 2019-08-26 21:05:44 -07:00
Danila Fedorin 7e40af4830 Add CMake file and code for post 4 2019-08-26 18:52:25 -07:00
Danila Fedorin 7e98477450 Do the first round of revisions on part 3 2019-08-26 17:08:05 -07:00
Danila Fedorin 802e551ff4 Backport fix for parser to post 2. 2019-08-26 00:14:45 -07:00
Danila Fedorin 5cf344de74 Add the examples to the repo. 2019-08-26 00:13:34 -07:00
Danila Fedorin f29bc68422 Drafts of code and markdown. 2019-08-26 00:13:10 -07:00
Danila Fedorin 131102ad66 Add environment code 2019-08-26 00:11:38 -07:00
Danila Fedorin d4e46d5597 Write up type code 2019-08-25 16:42:23 -07:00
Danila Fedorin 11716f21e7 Start working on type code 2019-08-25 01:36:34 -07:00
Danila Fedorin cf3d2f5d8b Add copy of part 2 project for part 3 2019-08-25 01:10:55 -07:00
Danila Fedorin 6d280731e4 Add a way to clean the generated files. 2019-08-06 14:24:39 -07:00
Danila Fedorin 329d547f56 Address listed flaws in implementation 2019-08-06 14:24:26 -07:00
Danila Fedorin 9a89f075b2 Move code into folders for convenience 2019-08-06 13:56:32 -07:00