Crate garnish_lang

source ·
Expand description

This library does not contain any of its own functionality. Its available as a single place to find documentation for Garnish core libraries and as a convenience single dependency.


  • Re-exports for parsing and building garnish scripts.
  • Helper functions created for core libraries that don’t have an implementation of GarnishData. These might be removed when an iterator interface is created for reading data instead of manual indexing.
  • Re-exports for concrete implementations of garnish traits.





  • Functionality required by Garnish contexts.
  • Trait defining what a data access operations are required by a runtime.
  • Arithmetic operations required so a runtime can resolve associated instruction.
  • Trait containing instruction operations Garnish needs to execute. All instruction methods (e.g. all except GarnishRuntime::get_data, GarnishRuntime::get_data_mut should a Result. With the Ok value being the next instruction address to be executed if not sequential, otherwise return None
  • Trait to provide constant values that a runtime will need access to.