Skip to content

cs-25-sw-4-15/penguinlang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

penguin GB lang

Setup

  1. Installer Python 3.10 or higher
  2. Upgrade pip
python3 -m pip install --upgrade pip
  1. Create python enviroment
python3 -m venv .venv
  1. Activate enviroment
source .venv/bin/activate
  1. Install Python requirements
python3 -m pip install -r requirements.txt
  1. 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
  1. 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

Testing

pytest

Syntax opitionation

flake8 $?

Error codes: https://pycodestyle.pycqa.org/en/latest/intro.html#error-codes

CLI

py cli.py COMMAND [option] ...

Commands:

  • test
  • cst - options: input_path
  • ast - options: input_path
  • taast - options: input_path
  • ir - options: input_path
  • ra - options: input_path
  • codegen - options: input_path, output_path
  • compile - options: input_path, output_path
  • crgbasm - options: input_path, output_path

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6