Skip to content
/ unilang Public

A little programming language that I am making in Go to understand how compilers works.

Notifications You must be signed in to change notification settings

5CYTH3/unilang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unilang

The Uni language is a project that uses different paradigms relatively to the file type. For a file ending with .uo, your code will be Object Oriented. Thereby, a file ending with .uf will contain functional code.

The compiler is made in Golang. It's a fast, readable and garbage-collected language.

⚠️ If you are a Go developer and interested in contributing to the project, go check the CONTRIBUTE.md file.

Syntax

Here are few examples of the syntax:

main.uf

package main

import "Std"

func main(): void {
    hw: string = "Hello World";
    Std.print(hw);
}

main.uo

package main

import "Std"

class Main {
    func main(): void {
        hw: string = "Hello World";
        Std.print(hw);
    }
}

Objectives

All the steps I want to achieve for this programming language (non-exhaustive):

Basic parsing
  • Basic array calculation
  • Basic file parser
  • Basic interpreter parsing system
Advanced compilation
  • Advanced syntax
  • Interpreter
  • AST
  • Compiler
Advanced programming concepts
  • Turing-complete

About

A little programming language that I am making in Go to understand how compilers works.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages