- Installer Python 3.10 or higher
- Upgrade pip
python3 -m pip install --upgrade pip
- Create python enviroment
python3 -m venv .venv
- Activate enviroment
source .venv/bin/activate
- Install Python requirements
python3 -m pip install -r requirements.txt
- Install RGBDS
mkdir -p ./src/rgbds
wget -O ./src/rgbds/rgbds-0.9.1-linux-x86_64.tar.xz https://github.com/gbdev/rgbds/releases/download/v0.9.1/rgbds-0.9.1-linux-x86_64.tar.xz
tar xf ./src/rgbds/rgbds-0.9.1-linux-x86_64.tar.xz -C ./src/rgbds
- Generate ANTLR4 lexer/parser files
With python:
antlr4 -Dlanguage=Python3 -visitor -o src/generated/ src/grammar/penguin.g4
Or with java:
sudo apt-get install -y default-jre
curl -o antlr-4.13.2-complete.jar https://www.antlr.org/download/antlr-4.13.2-complete.jar
java -Xmx500M -cp ./antlr-4.13.2-complete.jar org.antlr.v4.Tool -Dlanguage=Python3 -visitor -o src/generated -Xexact-output-dir src/grammar/penguin.g4
ls -R src/generated
- Exit virtual environment
deactivate
pytest
flake8 $?
Error codes: https://pycodestyle.pycqa.org/en/latest/intro.html#error-codes
py cli.py COMMAND [option] ...
Commands:
test
cst
- options: input_pathast
- options: input_pathtaast
- options: input_pathir
- options: input_pathra
- options: input_pathcodegen
- options: input_path, output_pathcompile
- options: input_path, output_pathcrgbasm
- options: input_path, output_path