Skip to content
/ rusty Public
forked from PLC-lang/rusty

Structured Text Parser and LLVM Frontend

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

99NIMI/rusty

 
 

Repository files navigation

RuSTy

Structured text compiler written in Rust

Rust Build codecov Lines of Code

                    IR-CodeGen
     Project        Programs             Global           IEC61131 Num and String types
     start          Expressions          Variables 
       |              |                    |                   |
       |              |                    |                   |
----I-------------I-------------I-------------I-------------I-------------I-------------I----
 nov-'19       jan-'20       mar-'20       may-'20      june-'20       dec-'20       jan-'21  
----I-------------I-------------I-------------I-------------I-------------I-------------I----
                  |                   |          |                        |
                  |                   |          |                        |
                Parsing            Control       Call Stmts           Array Access
                POUs               Structures    for all
                Statements                       POUs
                Expressions

For build, installation and usage reference as well as supported language constructs, check out the documentation.

About RuSTy

RuSTy is a structured text (ST) compiler written in Rust and based on the LLVM compiler backend. We use the logos crate library to perform lexical analysis before the custom parser runs. RuSTy puts out static or shared objects as well as LLVM IR or bitcode by the flip of a command line flag. We are aiming towards an open-source industry-grade ST compiler supporting at least the features in 2nd edition IEC 61131 standard.

Getting started

Start by installing Rust and git on your machine. Then, clone this repository and run cargo build to compile the code. Check out the documentation for further reference.

About

Structured Text Parser and LLVM Frontend

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.9%
  • Other 0.1%