mirror of
https://github.com/loot/loot-condition-interpreter.git
synced 2026-07-27 14:16:09 -07:00
594c8d19afc1ffaeefe36b288b6a449c38be473c
Also implement FromStr on Expression instead of the parse() function.
loot-condition-interpreter
An experimental library for parsing and evaluating LOOT's metadata condition strings. Written in Rust. Very incomplete.
Goals:
- Explore parsing conditions into an intermediate representation, then evaluating from that representation. LOOT's current parser evaluates conditions while parsing them, tightly coupling the two operations.
- Explore more granular result caching. LOOT's current caching maps each condition string to its result, which can't re-use results in compound conditions.
- Explore round trip serialisation from the intermediate representation.
- Evaluate the cost/benefit of integrating into LOOT, replacing the existing code.
The tests need the testing-plugins and the LOOT API v0.13.8 Windows archives to be extracted and present in the repo root.
Languages
Rust
97.2%
C++
2.5%
CMake
0.3%