Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
jubnzv committed May 11, 2020
1 parent 7cfd28e commit 0659da5
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
This project aims to implement an open source tool for static code analysis of IEC 61131-3 programs.

The following features are currently implemented:
+ IEC 61131-3 3 ed. parser for [Structured Text](https://en.wikipedia.org/wiki/Structured_text) written using modern [menhir](http://gallium.inria.fr/~fpottier/menhir/) syntax. Almost all syntactic constructions are supported, excluding some user-defined types and OO features.
+ IEC 61131-3 3 ed. parser for [Structured Text](https://en.wikipedia.org/wiki/Structured_text) written using modern [menhir](http://gallium.inria.fr/~fpottier/menhir/) syntax. All syntactic constructions from third edition are supported, excluding OOP features (classes, namespaces).
+ Some checks for [PLCOpen Guidelines](https://plcopen.org/software-construction-guidelines);
+ Declaration analysis for derived types;
+ Intraprocedural control flow analysis: searching for unreachable code blocks inside the [POUs](https://en.wikipedia.org/wiki/IEC_61131-3#Program_organization_unit_(POU));
+ Found unused variables;
+ Ability to integrate with other tools. Checker can dump AST with IR into a JSON file (`-dump true` argument) and produce warnings in JSON format (`-output-format json`);
+ Can be extended with plugins in Python. See demo plugin that plots control flow graph: [cfg_plotter.py](./src/python/plugins/cfg_plotter.py).
+ Ability to integrate with other tools. Checker can dump IR of a program into a JSON file (`-dump true` argument) and produce warnings in JSON format (`-output-format json`);
+ Can be extended with plugins written in Python. See demo plugin that plots control flow graph: [cfg_plotter.py](./src/python/plugins/cfg_plotter.py).

## Installation

Expand Down

0 comments on commit 0659da5

Please sign in to comment.