Commit graph

112 commits

Author SHA1 Message Date
Samuel Hammersberg
9f4c3a3cbf
Merge pull request #6 from bachelor-group-66-systemf/codegen-martin-4
Add lambda lifter
2023-02-12 12:06:49 +00:00
Martin Fredin
3fe990ceaa Don't run interpreter by default 2023-02-12 13:01:12 +01:00
Samuel Hammersberg
818e57ff14 Updated main to use the updated Code Generator. 2023-02-11 14:14:21 +01:00
Samuel Hammersberg
5d5a610cca Made compiler state more generic, and compile no longer outputs IO and instead returns the result. 2023-02-11 14:12:27 +01:00
Martin Fredin
d67eddcf0f Fix interpreter 2023-02-11 11:04:39 +01:00
Martin Fredin
e212c79a44 Revert back to one lambda par, and fix issues with lambda lifter 2023-02-11 09:59:26 +01:00
Martin Fredin
78a3ed56ea Add test 2023-02-10 16:55:56 +01:00
Martin Fredin
f3600ffdf8 Fix documentation and small things 2023-02-10 16:45:33 +01:00
Martin Fredin
5956cdf121 Fix typo 2023-02-10 16:45:33 +01:00
Martin Fredin
8688b303ac Fix unnecessary supercombinator issue 2023-02-10 16:45:33 +01:00
Martin Fredin
ece621b0aa Fix auxiliary path 2023-02-10 16:45:33 +01:00
Martin Fredin
8663f2ea50 Some clean up and documenting 2023-02-10 16:45:33 +01:00
Martin Fredin
8c094236aa Add auxiliary module 2023-02-10 16:45:33 +01:00
Martin Fredin
3d8bd24c7b Fix basic tests 2023-02-10 16:45:33 +01:00
Martin Fredin
bd792f7785 Add llvm dep 2023-02-10 16:45:33 +01:00
Martin Fredin
08917be1c6 Fix first unnecessary supercombinator 2023-02-10 16:45:33 +01:00
Martin Fredin
69254f8032 Finish Lambda Lifter 2023-02-10 16:45:33 +01:00
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
Rakarake
1637dcd495 Pinned nix commit 2023-02-09 15:41:33 +01:00
Samuel Hammersberg
7a0ff5d708 Formatted and documented code. 2023-02-09 09:45:05 +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
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
2a3757f391 relaxed base dependency and added overwrite 2023-02-03 11:29:42 +01:00
Patrik Jansson
8fd7966fd9 Typo fix (to check access). 2023-02-03 11:12:44 +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
Samuel Hammersberg
8aaf05bf82 separated the LLVM standard lib into its own file 2023-01-24 10:21:49 +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
Samuel Hammersberg
5524e1ec3e Removed all opaque pointers 2023-01-23 16:17:54 +01:00
Samuel Hammersberg
157ff56301 Integers are now properly printed. 2023-01-23 15:55:48 +01:00
Samuel Hammersberg
2c17695d3a The i64ToString function is soon done.
Co-authored-by: William <Rakarake@users.noreply.github.com>
2023-01-23 14:18:11 +01:00
Samuel Hammersberg
b389e397b6 Started working on a simple compiler. 2023-01-22 19:43:08 +01:00
Samuel Hammersberg
0ae5a9cee0 Switched directories for the test program, added some example LL programs, and gave the Funky programs a temporary extension. 2023-01-22 19:42:51 +01:00
Samuel Hammersberg
df3bf7c6ab Added the missing Lex and Par file. 2023-01-22 19:42:14 +01:00
Sebastian Selander
d85a0d26b8
Merge pull request #4 from bachelor-group-66-systemf/make
Add Makefile, and remove Grammar dir
2023-01-22 19:08:11 +01:00
Martin Fredin
787dbd85db Add Makefile, add remove Grammar dir 2023-01-21 19:44:22 +01:00
Samuel Hammersberg
2b85eef81d
Merge pull request #2 from bachelor-group-66-systemf/basic
Basic
2023-01-20 15:15:50 +00:00
Martin Fredin
499ced914c Fix judgment 2023-01-20 14:16:18 +01:00