Zypo Compiler

Overview

zypo-rs is the official reference compiler for the Zypo programming language.

Objectives

Language syntax

Basic blocks and class example:

```zypo get requests;

--- This is a docstring, it is 3x - and they should be parsed in --- MARKDOWN (similar to what Rust does). fun send_url(url: str) -> str { if (url == null) { return "No URL provided"; } else { return requests.post(url).json(); } }

--- CoolClass is a simple testing class that you can easily add your full name

--- to and edit if you so wish.

--- # Examples

--- ```zypo --- var newclass: CoolClass = CoolClass("Owen", "[lastname]");

--- newclass.printname();

--- newclass.changename("John", "Matthews"); --- newclass.printname(); --- ``` class CoolClass { fun init(self, firstname: str, lastname: str) { changename(firstname, last_name); }

fun print_name(self) {
    print(self.name);
}

fun change_name(self, first_name: str, last_name: str) {
    var self.name: str = self._swap_name_full(
        concat(" ", first_name, last_name)
    );
}

}

fun main() { -- Testing send_url

var url: string = "https://duck.com";
var return_msg: string = "";

try {
    return_msg = send_url(url);
}
catch {
    return_msg = "Unsuccessful";
}
else {
    print("Sent successfully!");
}

if (return_msg) {
    print(return_msg);
}

-- Testing CoolClass

var new_class: CoolClass = CoolClass("Owen", "[last_name]");
new_class.print_name();

new_class.change_name("John", "Matthews");
new_class.print_name();

} ```