rusty
rusty copied to clipboard
Structured Text Parser and LLVM Frontend
This guide outlines the specialties of IEC61131 in comparison to languages like c/cpp and shall act as help when creating a plc interface for external libraries.
This PR introduces the `FxHashMap`, `FxHashSet`, `FxIndexMap` and `FxIndexSet` types which use the non-cryptographic [fxhash](https://github.com/rust-lang/rustc-hash) algorithm also used in the Rust compiler. Doing so improves the `plc check` times by...
**Describe the bug** getting a wrong downcast warning when incrementing an SINT variable **To Reproduce** Steps to reproduce the behavior: ``` VAR_GLOBAL cnt_SINT : SINT; cnt_INT : INT; cnt_DINT :...
Related to https://github.com/PLC-lang/rusty/issues/1185, we did some further investigations into potential resolver performance improvments and realized that there are no obvious bottlenecks per-se (at least the flamegraph didn't show any) but...
The `SourceLocation` struct is part of the `AstNode`, thus being tightly coupled it makes sense to merge them into one crate namely into `plc_ast`. Edit: The naming and structure of...
This commit contains changes that are required to generate a global variable which will be used to store an array of addresses of other global variables in the program. The...
Adds the `derive_more` crate to derive a `TryFrom` implementation for most of the `AstStatement` variants. This should allow for more concise and convenient pattern matching when trying to extract information...
Blocked by #1217