chocopy-python-compiler
bf
chocopy-python-compiler | bf | |
---|---|---|
3 | 3 | |
45 | 8 | |
- | - | |
5.8 | 5.6 | |
about 1 month ago | 7 months ago | |
Python | Kotlin | |
MIT License | MIT License |
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.
chocopy-python-compiler
-
Chocopy -> CIL compiler: compiles a subset of Python 3 to Common Intermediate Language (.NET)
Links: - Github - Blog post with more details about the CIL backend - Blog posts I've written about other parts of the compiler: Frontend/Typechecker, JVM Backend
- Chocopy -> JVM Compiler, implemented in Python
-
Chocopy -> JVM Compiler: compiles a subset of Python 3 to JVM bytecode
Links: - Github - Blog post explaining how I did it
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 ;)
What are some alternatives?
Krakatau - Java decompiler, assembler, and disassembler
kotlin-explorer - Desktop tool to quickly explore disassembled Kotlin code.
devito - DSL and compiler framework for automated finite-differences and stencil computation
proguard-core - Library to read, write, analyze, and process java bytecode
ragaz - Ragaz aims be a fast, safe and powerful language with syntax closest to default python which allow you to create from simple scripts to complex systems in a code easier to read, write and maintain than other system languages with the same purpose (C/C++, Rust, etc).
proguard-assembler - Assembler and disassembler for Java class files
front - Front-end libraries and utilities for the Transmuter language processing infrastructure
proguard - ProGuard, Java optimizer and obfuscator
pypperoni - Pypperoni Python Compiler Source Code
sift - A CLI tool to analyze and reverse model software system designs from JVM bytecode.
dotgdb - Extensible client for Mono Soft Debugger. The proof-of-concept of queryable Mono Soft Debugger client (command tool).
Maker - Lightweight, full-featured, low-level dynamic Java class generator designed for ease of use.