Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

iLang functional programming language

CI Build Status Coverage Status

iLang is a functional programming language from scratch. It is general purpose, strongly typed, multi-paradigm programming language that encompasses functional programming methods.

iLang is a cross-platform and compiler based on LLVM.

iLang corresponds as a member of the ML language family.

Formal grammar based on EBNF, and it is described in the document here.

Current main goals of the project

  • grammar creation
  • AST implementation
  • compiler creation based on LLVM

Implementation based on Rust language to achieve the goals of reliability, efficiency, speed, memory safety.

Parsing based on nom a parser combinators library.

Requirements

  • Rust 50.0+
  • LLVM 11+

Supported targets

  • Linux x86
  • macOS x86
  • Windows x86

Useful commands

  • cargo build - build project
  • make - run rust clippy tool - collection of lints to catch common mistakes.
  • make test - run unit tests
  • make cover - run coverage tests and generate test coverage report. It's used grcov. For installation run cargo install grcov
  • make fmt - run code formatting.
  • make check - run cargo check

Licanse: MIT

About

iLang - a functional programming language and compiler

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages