UQ-PAC / aslp

Partial evaluator for Arm's Architecture Specification Language (ASL)
Other
6 stars 2 forks source link

Add scala backend for BASIL #73

Open ailrst opened 3 months ago

ailrst commented 3 months ago

Adds a Scala backend that targets BASIL IR, this is compiled by outputting the generated scala directly into the basil source directory.

echo ':gen A64 aarch64.+ scala ~/.../bil-to-boogie-translator/src/main/scala/translating/aslpLoader' | dune exec asli

To get around the method size limit of the JVM this agressively outlines branches and expressions into function calls, where mutable variables are passed by reference. Without this the decoder function doesn't compile.

Floating point is currently not handled