Commit graph

593 commits

Author SHA1 Message Date
Martin Fredin
2a48b7477e Implement lambda lifting passes: freeVars, abstract, and rename 2023-02-10 16:45:33 +01:00
Martin Fredin
b64b49b1eb Remove files from git 2023-02-10 16:45:33 +01:00
Martin Fredin
61efcebc64 Fix conflict 2023-02-10 16:45:33 +01:00
Samuel Hammersberg
e7ef268c12 Splat LLVM Ir into its own file. 2023-02-10 16:08:45 +01:00
Victor Olin
f42ea42273 Goal for next week 2023-02-10 13:47:09 +01:00
Victor Olin
afd5463310 Worked a bit on the heap 2023-02-10 13:45:53 +01:00
sebastianselander
a1e9624d5e TTGing the lambda lifter 2023-02-10 12:09:08 +01:00
sebastianselander
f4f1786be3 Revert "Merge branch 'typechecking' into codegen-martin-3"
This reverts commit e000e5159f, reversing
changes made to 3ac8377fa0.
2023-02-10 10:46:09 +01:00
sebastianselander
e000e5159f Merge branch 'typechecking' into codegen-martin-3 2023-02-10 10:33:15 +01:00
Martin Fredin
3ac8377fa0 Fix auxiliary path 2023-02-09 20:25:00 +01:00
Martin Fredin
59fb773bc1 Some clean up and documenting 2023-02-09 20:24:25 +01:00
Martin Fredin
ce31e4d490 Fix first unnecessary supercombinator 2023-02-09 17:53:39 +01:00
Victor Olin
b6ca1781ea Started with a rough structure 2023-02-09 13:18:58 +01:00
Samuel Hammersberg
7a0ff5d708 Formatted and documented code. 2023-02-09 09:45:05 +01:00
sebastianselander
b6f03e953b deprecated branch 2023-02-09 09:42:44 +01:00
Martin Fredin
7a2404cf74 Finish Lambda Lifter 2023-02-09 06:19:58 +01:00
Martin Fredin
1f47288fcf Implement lambda lifting passes: freeVars, abstract, and rename 2023-02-09 05:19:51 +01:00
Martin Fredin
b669381572 Remove files from git 2023-02-09 05:18:49 +01:00
valtermiari
fadb9eed0d A simple mark-sweep implementation 2023-02-08 14:10:16 +01:00
Samuel Hammersberg
dbbbc725ea Stuck at a conundrum 2023-02-06 16:49:29 +01:00
Samuel Hammersberg
721192c242 Started implemented multiple functions. 2023-02-06 15:44:54 +01:00
Victor Olin
7f464339bc init branch 2023-02-05 11:16:11 +01:00
Samuel Hammersberg
d41db9bbb8 Added some more to the comment of binExprToValues 2023-02-04 15:25:28 +01:00
Samuel Hammersberg
cd47f7dde3 renamed evalToValues to binExprToValues 2023-02-04 15:21:04 +01:00
Samuel Hammersberg
d779605814 Added the src/Grammar folder to the gitingore. 2023-02-04 15:12:32 +01:00
Samuel Hammersberg
66fb77c84e Added some missing math operators 2023-02-04 15:11:56 +01:00
Samuel Hammersberg
026949ae7e Added support for subtraction 2023-02-04 13:20:46 +01:00
Samuel Hammersberg
f8d320bb6d Heavily shorted down the emitAdd function, and added a emitInt function. 2023-02-04 12:43:47 +01:00
Samuel Hammersberg
57f8b6ba5b Optimized add even further. 2023-02-04 11:35:57 +01:00
Samuel Hammersberg
f9c5a520e3 Implemented addition. 2023-02-04 11:29:59 +01:00
Samuel Hammersberg
819f4c9406 Made a simple code generator that outputs to LLVM IR 2023-02-03 16:59:36 +01:00
sebastianselander
be3fcfc9e3 Typeinference/checking on expressions done.
Simplified the typechecker a bit, removed GADT solution for now.
Still not fully working
2023-01-24 16:39:22 +01:00
Samuel Hammersberg
defe409d78 Added a comment about the includeStr "macro" 2023-01-24 11:43:54 +01:00
Samuel Hammersberg
fd64a7e669 Added a function to load the Standard LLVM library at runtime. 2023-01-24 11:38:33 +01:00
sebastianselander
b6b2dfa25f Some work on a typechecker 2023-01-23 17:17:06 +01:00
Samuel Hammersberg
213e47097e Split the compiler into it's own module and added a file for the LLVM standard library. 2023-01-23 16:57:32 +01:00
Martin Fredin
43e0f67fe2 Fix conflict 2023-01-22 20:16:03 +01:00
Samuel Hammersberg
b389e397b6 Started working on a simple compiler. 2023-01-22 19:43:08 +01:00
Samuel Hammersberg
df3bf7c6ab Added the missing Lex and Par file. 2023-01-22 19:42:14 +01:00
Martin Fredin
787dbd85db Add Makefile, add remove Grammar dir 2023-01-21 19:44:22 +01:00
Martin Fredin
499ced914c Fix judgment 2023-01-20 14:16:18 +01:00
Martin Fredin
64ee4dc432 Implement basic interpreted language 2023-01-20 14:12:04 +01:00
Martin Fredin
7caadcbeb9 Use src instead of app 2023-01-17 15:34:32 +01:00