Enrico Lumetti
08049e9955
JSON serialization
2024-10-06 12:43:08 +02:00
Enrico Lumetti
b635fde2c5
Fix id, ret parsing
2024-10-06 12:28:06 +02:00
Enrico Lumetti
8e5112ed93
Fix boolean parsing
2024-10-06 12:07:04 +02:00
Enrico Lumetti
7874b384a5
Parse add.json in tests
2024-10-05 18:04:58 +02:00
Enrico Lumetti
4376596afd
Fix JSON number literals
2024-10-05 17:33:19 +02:00
Enrico Lumetti
5a90054972
function to read bril from text file
2024-10-05 17:16:13 +02:00
Enrico Lumetti
031b812c51
More tests and some refactoring
2024-10-05 17:02:03 +02:00
Enrico Lumetti
5c7e330af1
Parsing and validation of instructions
2024-10-05 16:46:10 +02:00
Enrico Lumetti
570ca0cb75
bril lieral parsing
2024-10-05 12:58:58 +02:00
Enrico Lumetti
2d3e48ed69
Barebone test/lib cabal config
2024-10-04 23:41:45 +02:00
Enrico Lumetti
a8ec2f9f21
Beginning haskell code
2024-08-14 17:59:11 +02:00
Enrico Lumetti
3265b7bbb0
Move racket code to racket/
2024-08-14 17:58:09 +02:00
Enrico Lumetti
04f48fe0ee
wip rework
2024-08-13 21:31:29 +02:00
Enrico Lumetti
a858cbee76
RInt -> Lint
2024-01-18 09:53:11 +01:00
Enrico Lumetti
195cfbd248
wip: Improve register allocations and its test coverage
2022-08-21 01:35:35 +02:00
Enrico Lumetti
8a4948475c
wip: start working on trivial register allocation
2022-08-21 00:29:45 +02:00
Enrico Lumetti
9c2895e4ed
add more tests
2022-08-15 02:30:34 +02:00
Enrico Lumetti
3c41cf9876
Add simpler full test
2022-08-15 01:59:11 +02:00
Enrico Lumetti
a33bf77407
Instruction selection: basic bril->AArch64Var conversion
2022-08-15 01:56:24 +02:00
Enrico Lumetti
18ebacb00b
Revamp tests
2022-08-13 23:47:05 +02:00
Enrico Lumetti
1a0eeea38b
Fix two-operands subtraction
2022-08-12 23:03:55 +02:00
Enrico Lumetti
a376f31d4a
Convert cvar-to-bril tests to rackunit
2022-08-11 00:27:58 +02:00
Enrico Lumetti
9063858c78
Test subtraction
2022-08-10 23:48:23 +02:00
Enrico Lumetti
0fd4666235
Add utility to print bril from a CVar program
2022-08-10 23:45:43 +02:00
Enrico Lumetti
0aeb312f14
Move more tests to rackunit
2022-08-10 23:44:42 +02:00
Enrico Lumetti
cadcd25dbd
Fix comment
2022-08-10 23:44:20 +02:00
Enrico Lumetti
b80f8768a8
Convert test-cvar.rkt tests to rackunit, test for subtraction
2022-08-10 23:33:51 +02:00
Enrico Lumetti
e4d469ea95
Fix rvar subtraction, convert tests to rackunit
2022-08-10 23:33:20 +02:00
Enrico Lumetti
14d6b476bd
Fix subtraction, convert tests to rackunit
2022-08-10 23:28:09 +02:00
Enrico Lumetti
a4dd0ded8f
Convert test-rint to rackunit
2022-08-05 16:25:57 +02:00
Enrico Lumetti
f7a20171ec
Remove old CVar -> asm path
2022-05-08 17:30:37 +02:00
Enrico Lumetti
3a252a6879
Add CVar to bril translation
2022-05-01 22:56:35 +02:00
Enrico Lumetti
e3636d0b05
Introduce different remove-complex-opera* pass
...
This pass only allows arguments to be variables.
The resulting language is:
let-expr := (Let symbol <simple-expr> <expr>)
simple-expr: (Int num) | (Var symbol) | (Prim op (list-of-symbols))
expr := let-expr | simple-expr
top-level := let-expr
Notably, every top level expression is assigned to a (temporary) variable.
This subset of CVar is particularly easy to translate into bril IR.
2022-05-01 22:46:36 +02:00
Enrico Lumetti
3851d496ed
Rewrite explicate-control
2022-05-01 16:09:35 +02:00
Enrico Lumetti
0929ef05f9
Add CVar language and interpreter
2022-05-01 16:02:34 +02:00
Enrico Lumetti
5b1f580ed8
Convert remove-complex-opera* to new data structures
2022-04-30 18:01:54 +02:00
Enrico Lumetti
04c8ab0297
Port uniquify to new structures
2021-11-14 12:20:08 +01:00
Enrico Lumetti
7b8ea0b6f4
Port c2 to rvar
2021-10-21 13:15:37 +02:00
Enrico Lumetti
bad45de00a
Convert c1 to new EoC data structures
...
Don't port partial evaluator for the moment
2021-10-05 15:12:14 +02:00
Enrico Lumetti
5487761f54
Experiments with aarch64 stack
2021-05-06 16:53:18 +02:00
Enrico Lumetti
595f8a9db4
Add select-instructions pass
2021-05-05 20:55:32 +02:00
Enrico Lumetti
ced273944b
Add conclusion and rename _main to start
2021-05-05 20:55:19 +02:00
Enrico Lumetti
44a453a062
Avoid having (read) as an atom in Cvar language
2021-05-05 20:55:00 +02:00
Enrico Lumetti
ec8e75232e
Fix link in README
2021-05-05 01:01:02 +02:00
Enrico Lumetti
70295d0dcf
Rename scm to rkt
2021-05-05 00:46:51 +02:00
Enrico Lumetti
69f969bb71
Add aarch64 execution infrastructure
2021-05-05 00:36:32 +02:00
Enrico Lumetti
ad82c64d4d
Improve test-util
2021-05-05 00:36:03 +02:00
Enrico Lumetti
df520e99ca
Fix grammar produced by explicate-control
2021-05-01 00:41:08 +02:00
Enrico Lumetti
85dbf65800
Add test-uncover-locals
2021-05-01 00:38:17 +02:00
Enrico Lumetti
4c67b0f18d
Remove trailing space and (- x x) matching
2021-05-01 00:11:54 +02:00