8000 GitHub - Aliremu/iovis: programming language interpreter built in Rust
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
/ iovis Public

programming language interpreter built in Rust

Notifications You must be signed in to change notification settings

Aliremu/iovis

Repository files navigation

iovis

iovis is a fast compiled language with a strong focus on performance and convenience.

Hello World

A simple Hello World program can be written as such

fn main() {
    printf("Hello World");
}

Usage/Examples

lib.iov

extern {
    fn printf(format: string, ..);
    fn scanf(format: string, ..): i32;
    fn fgets(format: string, n: i32, stream: i32): string;
}

main.iov

import lib;

fn main() {
    let input: i32;

    printf("What's your favorite number?\n");
    scanf("%d", &input);

    if input != 12 {
        printf("Wrong");
    } else {
        printf(":-)");
    }
}

SDL2 Bindings

SDL2 Bindings exist and can be found in test/ along with a simple window application.

Simple SDL2 App Example

Features

  • Lexer
  • Parser
  • Rust compiler
  • LLVM-IR CodeGen
  • Dependency Analysis
  • Type Inferencing
  • Automatic forward declaration for structs and functions
  • Arrays
  • Multi-dimensional arrays
  • Standard Library
  • Bug fixes 🐛

WASM

You can try out a live demo of the interpreted version here. It uses WASM compiled using wasm-pack which allows it to parse and interpret at blazingly fast speeds. (not benchmarked)

About

programming language interpreter built in Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

2AB6
0