bf
proguard-assembler
bf | proguard-assembler | |
---|---|---|
3 | 1 | |
8 | 61 | |
- | - | |
5.6 | 3.9 | |
7 months ago | 8 months ago | |
Kotlin | Java | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bf
-
Resources for generating and execution JVM bytecode
I also used ProGuardCORE in a Brainfuck compiler that generates bytecode/classfiles in a jar: https://github.com/mrjameshamilton/bf/blob/master/src/main/kotlin/eu/jameshamilton/bf/backend/jvm/JvmCodeGenerator.kt
- Show HN: A Brainfuck compiler with JVM, C, smali, LLVM IR back ends
-
Show HN: I spent my vacation writing a modern JVM assembler
Something else that could make your code generation for your JVM language easier: ProGuardCORE (https://github.com/Guardsquare/proguard-core). It can be used to read, generate and analyse Java bytecode.
Some examples for code generation: ProGuard where the project originated (https://github.com/Guardsquare/proguard), Brainf*ck compiler (https://github.com/mrjameshamilton/bf), Lox compiler (https://github.com/mrjameshamilton/klox)
Disclaimer: I work at Guardsquare on ProGuardCORE so may be biased ;)
proguard-assembler
-
Show HN: I spent my vacation writing a modern JVM assembler
Nice project! At Guardsquare, we have a similar project: https://github.com/Guardsquare/proguard-assembler
One of the things we use it for is testing: we can craft specific bytecode sequences that we want to test; for example, it's useful to test cases we've seen in the wild (e.g. obfuscated code) or to create a test that doesn't rely on a specific compiler/version.
An example of using the assembler from a ProGuard unit test https://github.com/Guardsquare/proguard/blob/master/base/src...
What are some alternatives?
kotlin-explorer - Desktop tool to quickly explore disassembled Kotlin code.
Maker - Lightweight, full-featured, low-level dynamic Java class generator designed for ease of use.
proguard-core - Library to read, write, analyze, and process java bytecode
jasm - A JVM assembler for the modern age
proguard - ProGuard, Java optimizer and obfuscator
Grasmin - Groovy AST Transformation to allow writing Jasmin code (JVM bytecode) directly on groovy files
sift - A CLI tool to analyze and reverse model software system designs from JVM bytecode.
jssembly - Jssembly is a library that allows you to execute native assembly from Java.
klox - A Kotlin implementation of lox with a JVM backend built using ProGuardCORE