Commit Graph

21 Commits

Author SHA1 Message Date
Danila Fedorin 1961e545c0 Extract compiler into its own repo 2023-01-01 15:09:41 -08:00
Danila Fedorin a336b27b6c Remove unneeded explicit calls to std::string 2020-09-18 12:27:57 -07:00
Danila Fedorin 8a352ed3ea Roll back optimization changes. 2020-09-17 20:45:24 -07:00
Danila Fedorin 02f8306c7b Use an instruction instead of a special-case boolean instruction. 2020-09-17 18:33:52 -07:00
Danila Fedorin 7a631b3557 Make a few more things classes. 2020-09-17 18:30:41 -07:00
Danila Fedorin 55486d511f Make some refactors for name mangling and encapsulation. 2020-09-15 18:51:28 -07:00
Danila Fedorin 6080094c41 Require mangled names for global variables. 2020-09-15 14:39:31 -07:00
Danila Fedorin 6b8d3b0f8a Refactor errors and update post draft. 2020-09-11 21:29:49 -07:00
Danila Fedorin 725958137a Factor type into case strategy constructor. 2020-09-11 13:03:00 -07:00
Danila Fedorin f00a6a7783 Actually use the environment for binop functions. 2020-09-10 16:03:56 -07:00
Danila Fedorin 2a81fdd9fb Stop using mangled names for local variables. 2020-09-10 15:14:19 -07:00
Danila Fedorin 17c59e595c Add assertion regarding local name mangling. 2020-09-10 15:05:02 -07:00
Danila Fedorin 76675fbc9b Make make_case_for throw from the second time on.
Also clean up the errors thrown a little bit.
2020-09-10 14:03:04 -07:00
Danila Fedorin 1a05d5ff7a Add type errors to identifier nodes. 2020-09-10 12:59:26 -07:00
Danila Fedorin 56f0dbd02f Prevent case compilation from crashing and burning. 2020-09-10 12:53:55 -07:00
Danila Fedorin 9fc0ff961d Add more built-in boolean-specific instructions. 2020-09-10 12:44:41 -07:00
Danila Fedorin 73441dc93b Register booleans as internal types. 2020-09-10 00:54:35 -07:00
Danila Fedorin 85394b185d Add prototype impl of case specialization.
Boolean cases could be translated to ifs, and
integer cases to jumps. That's still in progress.
2020-09-09 22:49:35 -07:00
Danila Fedorin e337992410 Add sources for unification type errors. 2020-09-09 15:26:18 -07:00
Danila Fedorin eade42be49 Print locations in non-unification type errors. 2020-09-09 15:15:25 -07:00
Danila Fedorin 5dbf75b5e4 Fork off version 13 of the compiler. 2020-09-08 18:38:05 -07:00