CASO is a small programming language that transpiles to Java.
This repository contains the CASO toolchain:
- Lexer (
src/caso_lexer.py) - Token-level desugaring (
src/caso_desugar.py) - Parser + AST (
src/caso_parser.py) - Java transpiler (
src/caso_transpiler.py) - Module resolution for
incorp(src/caso_modules.py) - Standard library modules (
src/stdlib/*.caso)
Transpile a sample program from src/test/:
python -m caso transpile test_1.casoRun unit tests:
python -m caso testBook-level docs live under docs/ and are built with MkDocs Material.
python -m pip install -r requirements-docs.txt
mkdocs serve- Generated Java output is written under
src/build/(treat as build artifacts; avoid committing changes). - CASO supports embedding raw Java via
caso___native_java_start/end; treat CASO inputs as untrusted code and do not run generated Java unless you trust the source.
See docs/internals/contributing.md and repository guidelines in AGENTS.md.