Commit graph

104 commits

Author SHA1 Message Date
Victor Olin
6679fb6bb7 Fixed heap DLL linking 2023-02-24 13:39:55 +01:00
valtermiari
3860d0ec4f Tweaked sweeping, test with detached pointers 2023-02-24 13:39:55 +01:00
Victor Olin
6cd6edb594 Fixed mark skipping
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-24 13:39:55 +01:00
Victor Olin
3473c953b5 Wrote a test for shared library linking 2023-02-24 13:39:55 +01:00
Victor Olin
518940ab15 clean up 2023-02-24 13:39:55 +01:00
Victor Olin
99c69dbd57 Implemented free chunk swaps and filtering 2023-02-24 13:39:55 +01:00
Victor Olin
b79a83c32a Debugged mark()
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-24 13:39:55 +01:00
valtermiari
fb5f283dfd Some progress on marking 2023-02-24 13:39:55 +01:00
valtermiari
5fcab54fe4 Fixed sweep 2023-02-24 13:39:55 +01:00
valtermiari
a375388591 More debugging 2023-02-24 13:39:55 +01:00
Victor Olin
42c22bc1eb Continued debugging
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-24 13:39:55 +01:00
Victor Olin
5ac9b665a1 Testing different stack pointers 2023-02-24 13:39:55 +01:00
Victor Olin
b168438c14 Started testing the GC
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-24 13:39:55 +01:00
valtermiari
30a3da3156 Some configurations 2023-02-24 13:39:55 +01:00
valtermiari
1690804821 Some small test features 2023-02-24 13:39:55 +01:00
Victor Olin
0260b2876c Next up is tests
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-24 13:39:48 +01:00
Victor Olin
b53f892393 Almost finished w/ 1st impl of GC 2023-02-24 13:37:47 +01:00
Victor Olin
920ae04595 Almost finished with 1st impl of GC
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-24 13:37:47 +01:00
Victor Olin
7d91cf871a Goal for next week 2023-02-24 13:37:47 +01:00
Victor Olin
e52c38f5f7 Worked a bit on the heap 2023-02-24 13:37:47 +01:00
Victor Olin
17d41a408d Started with a rough structure 2023-02-24 13:37:47 +01:00
valtermiari
3852583f08 A simple mark-sweep implementation 2023-02-24 13:37:47 +01:00
Victor Olin
f1f8ed176b init branch 2023-02-24 13:37:47 +01:00
Samuel Hammersberg
087850d1cf
Merge pull request #8 from bachelor-group-66-systemf/prep-tc-merge
Add simple type checker and convert pipleline to use typed AST
2023-02-18 14:03:40 +00:00
Martin Fredin
f485ca9762 Remove case expressions 2023-02-18 14:49:33 +01:00
Martin Fredin
4ab6681f68 Rearrange code 2023-02-18 14:36:59 +01:00
Martin Fredin
3efb27ac0c Document and fix code style 2023-02-18 13:41:38 +01:00
Martin Fredin
b8aedd541d Document and fix code style 2023-02-18 13:35:33 +01:00
Martin Fredin
21fb6bf5ed Fix indentation 2023-02-18 13:27:58 +01:00
Martin Fredin
ad615cc9d8 Document and fix code style 2023-02-18 13:26:41 +01:00
Martin Fredin
a3e57dde7b Change grammar: only one bind in let and no EAnn for typed syntax 2023-02-18 13:02:25 +01:00
Samuel Hammersberg
7cedc2e28c Started adding cases to the grammar. 2023-02-17 15:25:06 +01:00
Martin Fredin
d345ccb33b Fix import statement 2023-02-16 14:22:40 +01:00
Samuel Hammersberg
ab34666484 Fixed types on functions in the code generator. 2023-02-16 14:16:08 +01:00
Samuel Hammersberg
6d9c42a03e Got higher order functions working. 2023-02-16 13:36:45 +01:00
Samuel Hammersberg
46c6f5b7ab Fixed scoping of function pointers. 2023-02-16 11:17:45 +01:00
Samuel Hammersberg
5680334fde Fixed some small issues. 2023-02-16 10:03:25 +01:00
Martin Fredin
7ef7090aa5 Merge llvm_testing, and use TypeCheckerIr instead of Abs 2023-02-16 02:17:07 +01:00
Samuel Hammersberg
8d698cecf9 Fixed some merge errors that occured when merging with main
Started implementing EApp.

Simple function calls now work.

Removed the LLVM standard library as it was not needed.

Limited functionality.

Got EApp working!!

Fixed arguments being inserted in the wrong order.

Updated the showing of `Call` so that it inserts a space inbetween arguments.

Removed some unused code from the generated main functions.

Force removed language.

Expressions that are simply just calling a constant now work properly.

Fixed constants being called inside nested expressions.

Cleaned up the compiler a bit.

Added a test suite, testing that the output from programs is correct, "evaluating the whole process".

Fixed a typo in basic-4.sf

Fixed basic-8 to work without a renamer.

Fixed some nicer output in the main function.

Made the outputted LLVM Ir somewhat nicer.

Fixed a typo and updated how SetVariable works.

Formatted and added documentation.

Added instructions allowing for branching.
2023-02-16 00:16:44 +01:00
Martin Fredin
210e55bb15 Adjust old type checker to new syntax, and refactor lambda lifter to use typed AST 2023-02-15 23:55:16 +01:00
Rakarake
514c809b1e Pinned nix channel, made makefile not error 2023-02-14 15:47:36 +01:00
Samuel Hammersberg
7c1e1d57a0 Merge remote-tracking branch 'origin/main' into llvm_testing 2023-02-12 13:17:45 +01:00
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