Skip to content

TheDan64/limonite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status codecov

Limonite

This is a compiler for the Limonite programming language.

Limonite is a relatively basic programming language written in rust using LLVM as a backend.

  • Uses a custom tokenizer and parser.
  • Compiles to LLVM IR.
  • Syntax is by no means final. See sample.lim for examples.

Building

  1. Make sure you have installed all the dependencies.

    • Rust (Stable/Beta)
    • Cargo
    • git (optional)
    • LLVM == 10.0 (optional)
    • cmake (required for LLVM)
  2. Download and build Limonite.

    Run the following commands

     git clone https://github.com/TheDan64/limonite.git
     cd limonite
     cargo build
    

    Without LLVM dependency

     git clone https://github.com/TheDan64/limonite.git
     cd limonite
     cargo build --no-default-features
    

Working Features

  • Basic variables w/ basic type inference
  • Basic ascii/utf8 print statements
  • While loops
  • Comparison operators
  • Addition, Subtraction, Assignment
  • Comments

Example:

var s = "Spam the world!"
var i = 10

>> NOTE: The following requires tab-indentation

while i > 0,
    i -= 1
    print(s)

About

[WIP] Compiler for the Limonite programming language.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages