This project is an interpreter for the duwa language, a language based on the Chewa Bantu language.
This project is written in Golang.
Follow the setup documentations at official site
You can check out examples in ./examples folder to quickly see what the language can do for now.
- Create an initial interpreter
- Lexer
- Parser (Recursive descent parser)
- Interpreter (Tree walking interpreter)
- Language features
- Basic data types (string, numbers)
- arithmetic operations
- Control Flow (loops, conditional statements)
- Functions
- Type checking (for now it does not strictly enforce types)
- Data Structures
- arrays
- dictionaries
- Input/ Output
- Error Handling
- Class support
- Working Wasm version of the language
Other Milestones
- Modularity
- Standard library
- TinyGo: If you are building the web assembly version you will need
TinyGo, hers is the setup - GNU make (optional): Using make for building. You can build the project without
make.
You can build the project by running any of the build make tasks
make buildOr you can run go build directly
go build -C ./src/cmd/duwa -o ../../../bin/duwaRunning the project is the same either use make or go directly