An open API service indexing awesome lists of open source software.

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.

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!")
}

```