https://github.com/lilbludev/terra
Terra is made to be a drop-in easy to use and fast interpreted programming language.
https://github.com/lilbludev/terra
custom-programming-language interpreted-programming-language programming-language terra ziglang
Last synced: about 1 month ago
JSON representation
Terra is made to be a drop-in easy to use and fast interpreted programming language.
- Host: GitHub
- URL: https://github.com/lilbludev/terra
- Owner: lilBluDev
- License: gpl-3.0
- Created: 2024-05-04T12:05:14.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-25T13:00:11.000Z (over 1 year ago)
- Last Synced: 2025-03-25T23:01:42.377Z (12 months ago)
- Topics: custom-programming-language, interpreted-programming-language, programming-language, terra, ziglang
- Language: Zig
- Homepage:
- Size: 2.61 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Terra
Terra is made to be a drop-in easy to use and fast interpreted programming language.
## Installation
> ⚠ NOTE
> TERRA HAS ONLY BEEN TESTED IN WINDOWS
> REQUIRED ZIG VERSION: 0.13.0^
```bash
git clone https://github.com/lilBluDev/Terra
cd Terra
zig build run src/main --
```
or you can use the pre-built exe!
## Cli Usage
`terra` - pull up a console enviroment
`terra help` / `terra [command] -h` - pull up the main help menu or info about a command.
`terra run ` - to run and parse a file
### Run Flags
`--debug-ast` - prints the AST tree to visualize how it generated the AST.
`--debug-token` - prints the tokens list (no visualizer).
## Simplefied Planned Syntax
see more within the `docs` folder for syntax and other documentation!
```text
// Comments are ignored by the tokenizer
// imports
import "std";
import "std:println";
import (
"./foo/bar/test.tr", // import all visible exports from that file
"./foo/bar/" // looks for "main.tr" file within that directory
);
// Process entry
pub fn main(args: []str) !void {
println("Hello World!")
}
```