├── .gitignore ├── .rustfmt.toml ├── Cargo.lock ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── core ├── Cargo.toml └── src │ ├── device.rs │ ├── device_manager.rs │ ├── lib.rs │ └── process_image.rs ├── docs ├── .gitignore ├── book.toml └── src │ ├── Overview.png │ ├── SUMMARY.md │ ├── devices.md │ ├── overview.md │ ├── processes.md │ └── runtime.md ├── dummy-input ├── Cargo.toml └── src │ └── lib.rs ├── gpio ├── Cargo.toml ├── examples │ └── gpio-example.rs └── src │ └── lib.rs ├── iec-std ├── Cargo.toml ├── intrinsics.h └── src │ ├── ctypes.rs │ ├── intrinsics.rs │ ├── lib.rs │ ├── macros.rs │ ├── sys.rs │ └── time.rs ├── iec ├── Cargo.toml └── src │ ├── frontend.rs │ ├── lib.rs │ └── mir │ └── mod.rs ├── runtime ├── Cargo.toml ├── examples │ └── basic-example.rs ├── src │ └── lib.rs └── tests │ ├── data │ └── example_program.rs │ └── wasm-program.rs ├── structured-text ├── Cargo.toml ├── src │ ├── ast.rs │ ├── error.rs │ ├── grammar.pest │ ├── lib.rs │ └── parser.rs └── tests │ ├── data │ ├── case_statement.st │ ├── first_wikipedia_sample.st │ ├── function_block.st │ ├── if_chain.st │ ├── if_start_while_initialized_prime_system.st │ └── simple_program.st │ └── smoke_test.rs ├── wasm-test ├── Cargo.toml └── src │ ├── compile.rs │ ├── environment.rs │ ├── lib.rs │ └── test_case.rs └── wasm ├── Cargo.toml ├── examples ├── basic-runtime.rs └── example_program.c ├── src └── lib.rs └── tests ├── behaviour_tests.rs └── data ├── blinky.json ├── blinky.rs ├── example_program.json ├── example_program.rs ├── set_outputs.json └── set_outputs.rs /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | **/*.rs.bk 3 | -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/.rustfmt.toml -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/README.md -------------------------------------------------------------------------------- /core/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/core/Cargo.toml -------------------------------------------------------------------------------- /core/src/device.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/core/src/device.rs -------------------------------------------------------------------------------- /core/src/device_manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/core/src/device_manager.rs -------------------------------------------------------------------------------- /core/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/core/src/lib.rs -------------------------------------------------------------------------------- /core/src/process_image.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/core/src/process_image.rs -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | book 2 | -------------------------------------------------------------------------------- /docs/book.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/docs/book.toml -------------------------------------------------------------------------------- /docs/src/Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/docs/src/Overview.png -------------------------------------------------------------------------------- /docs/src/SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/docs/src/SUMMARY.md -------------------------------------------------------------------------------- /docs/src/devices.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/docs/src/devices.md -------------------------------------------------------------------------------- /docs/src/overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/docs/src/overview.md -------------------------------------------------------------------------------- /docs/src/processes.md: -------------------------------------------------------------------------------- 1 | # Processes 2 | -------------------------------------------------------------------------------- /docs/src/runtime.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/docs/src/runtime.md -------------------------------------------------------------------------------- /dummy-input/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/dummy-input/Cargo.toml -------------------------------------------------------------------------------- /dummy-input/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/dummy-input/src/lib.rs -------------------------------------------------------------------------------- /gpio/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/gpio/Cargo.toml -------------------------------------------------------------------------------- /gpio/examples/gpio-example.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/gpio/examples/gpio-example.rs -------------------------------------------------------------------------------- /gpio/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/gpio/src/lib.rs -------------------------------------------------------------------------------- /iec-std/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/iec-std/Cargo.toml -------------------------------------------------------------------------------- /iec-std/intrinsics.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/iec-std/intrinsics.h -------------------------------------------------------------------------------- /iec-std/src/ctypes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/iec-std/src/ctypes.rs -------------------------------------------------------------------------------- /iec-std/src/intrinsics.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/iec-std/src/intrinsics.rs -------------------------------------------------------------------------------- /iec-std/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/iec-std/src/lib.rs -------------------------------------------------------------------------------- /iec-std/src/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/iec-std/src/macros.rs -------------------------------------------------------------------------------- /iec-std/src/sys.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/iec-std/src/sys.rs -------------------------------------------------------------------------------- /iec-std/src/time.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/iec-std/src/time.rs -------------------------------------------------------------------------------- /iec/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/iec/Cargo.toml -------------------------------------------------------------------------------- /iec/src/frontend.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/iec/src/frontend.rs -------------------------------------------------------------------------------- /iec/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/iec/src/lib.rs -------------------------------------------------------------------------------- /iec/src/mir/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/iec/src/mir/mod.rs -------------------------------------------------------------------------------- /runtime/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/runtime/Cargo.toml -------------------------------------------------------------------------------- /runtime/examples/basic-example.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/runtime/examples/basic-example.rs -------------------------------------------------------------------------------- /runtime/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/runtime/src/lib.rs -------------------------------------------------------------------------------- /runtime/tests/data/example_program.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/runtime/tests/data/example_program.rs -------------------------------------------------------------------------------- /runtime/tests/wasm-program.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/runtime/tests/wasm-program.rs -------------------------------------------------------------------------------- /structured-text/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/Cargo.toml -------------------------------------------------------------------------------- /structured-text/src/ast.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/src/ast.rs -------------------------------------------------------------------------------- /structured-text/src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/src/error.rs -------------------------------------------------------------------------------- /structured-text/src/grammar.pest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/src/grammar.pest -------------------------------------------------------------------------------- /structured-text/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/src/lib.rs -------------------------------------------------------------------------------- /structured-text/src/parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/src/parser.rs -------------------------------------------------------------------------------- /structured-text/tests/data/case_statement.st: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/tests/data/case_statement.st -------------------------------------------------------------------------------- /structured-text/tests/data/first_wikipedia_sample.st: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/tests/data/first_wikipedia_sample.st -------------------------------------------------------------------------------- /structured-text/tests/data/function_block.st: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/tests/data/function_block.st -------------------------------------------------------------------------------- /structured-text/tests/data/if_chain.st: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/tests/data/if_chain.st -------------------------------------------------------------------------------- /structured-text/tests/data/if_start_while_initialized_prime_system.st: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/tests/data/if_start_while_initialized_prime_system.st -------------------------------------------------------------------------------- /structured-text/tests/data/simple_program.st: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/tests/data/simple_program.st -------------------------------------------------------------------------------- /structured-text/tests/smoke_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/structured-text/tests/smoke_test.rs -------------------------------------------------------------------------------- /wasm-test/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm-test/Cargo.toml -------------------------------------------------------------------------------- /wasm-test/src/compile.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm-test/src/compile.rs -------------------------------------------------------------------------------- /wasm-test/src/environment.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm-test/src/environment.rs -------------------------------------------------------------------------------- /wasm-test/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm-test/src/lib.rs -------------------------------------------------------------------------------- /wasm-test/src/test_case.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm-test/src/test_case.rs -------------------------------------------------------------------------------- /wasm/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm/Cargo.toml -------------------------------------------------------------------------------- /wasm/examples/basic-runtime.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm/examples/basic-runtime.rs -------------------------------------------------------------------------------- /wasm/examples/example_program.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm/examples/example_program.c -------------------------------------------------------------------------------- /wasm/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm/src/lib.rs -------------------------------------------------------------------------------- /wasm/tests/behaviour_tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm/tests/behaviour_tests.rs -------------------------------------------------------------------------------- /wasm/tests/data/blinky.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm/tests/data/blinky.json -------------------------------------------------------------------------------- /wasm/tests/data/blinky.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm/tests/data/blinky.rs -------------------------------------------------------------------------------- /wasm/tests/data/example_program.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm/tests/data/example_program.json -------------------------------------------------------------------------------- /wasm/tests/data/example_program.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm/tests/data/example_program.rs -------------------------------------------------------------------------------- /wasm/tests/data/set_outputs.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm/tests/data/set_outputs.json -------------------------------------------------------------------------------- /wasm/tests/data/set_outputs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NOP0/rustmatic/HEAD/wasm/tests/data/set_outputs.rs --------------------------------------------------------------------------------