Code Monkey home page Code Monkey logo

stc's Introduction

stc

Structured Text Compiler

stc - Executable EBNF grammar for IEC 61131-3 ST POUs

STC is composed of the two terms ST and [yacc]https://github.com/dabeaz/ply and represents an executable grammar for IEC 61131-3 Structured Text modules that is defined using the Extended Backus-Naur Form (EBNF).

Features

  • IEC 61131-3 POU-Types: Program, Functionblock, Function
  • Sections (each available only once): VAR_INPUT, VAR, VAR_OUTPUT, VAR_IN_OUT, VAR_EXTERNAL
  • Data types: BOOL, INT, DINT, UINT, REAL, TIME, ARRAY
  • Operators: *, /, MOD, +, -, NOT, AND, XOR, OR, <=, >=, <, >, =, <>, FALSE, TRUE, external function/functionblocks, variable, constant
  • Statements: assignments, if/else, case, macro, for, while, repeat, exit, return

Our goal is to minimize and to ensure uniqueness of the resulting parsing tree for a subset of the ST constructs for further use.

References

[1] DIN Deutsches Institut für Normung e. V., “Programmable controllers – Part 3: Programming languages (IEC 61131-3:2013); German version EN 61131-3:2013,” 2014.

stc's People

Contributors

manux81 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.