flybytes
flybytes copied to clipboard
Flybytes is an intermediate language between JVM bytecode and software languages (DSLs, PLs), for compilation and decompilation.
Got another error when trying to compile a class. This stuff is horrible to debug, but after messing around for a while I came up with a small example that...
If you look at what we generate for the FuncFactorial demo: ``` class( object("FuncFactorial"), methods=[ method( methodDesc( integer(), "fact", [integer()]), [var( integer(), "n")], [asm([ LABEL("L554752372"), LINENUMBER(1,"L554752372"), ILOAD(0), ICONST_1(), IF_ICMPGT("L82634714"), LABEL("L1444851469"),...
This is a disassembled lambda where you can see that there are no LOCALVARIABLE instructions for stack location 0 and 1. This stops their LOAD instructions from being decompiled and...
the tests in lang::flybytes::tests::DefaultParameters fail accordingly.
For example, this loop is not recognized because the condition is not rewritten first to an expression, since it has side-effects with the `x++`. Special cases have to be detected...
when we have the Rascal compiler, we should invest in compiling and deploying the compiled code of flybytes
1. the definition of a format for representing SSA form 2. the transformation of high-level flybytes to SSA form 3. the transformation of SSA form down to JVM bytecodes
@jurgenvinju & @PaulKlint I think rascal-core is finding a few errors that might not be errors: - https://github.com/usethesource/rascal/issues/1956 - the `nothing()` of `util::Maybe` in a kwparam default is causing the...