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.

Modules§

compiler
Re-exports for parsing and building garnish scripts.
helpers
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.
simple
Re-exports for concrete implementations of garnish traits.

Structs§

EmptyContext
Concrete object for when a runtime requires no context functionality. Can use constants EMPTY_CONTEXT and NO_CONTEXT if needed as type parameters.
RuntimeError
Error implementation for crate::GarnishRuntime instruction methods.

Enums§

ErrorType
List of possible error types a RuntimeError can be categorized as.
GarnishDataType
List of Garnish data types.
Instruction
List of possible instructions a Garnish runtime can process.

Constants§

EMPTY_CONTEXT
Constant instantiation of EmptyContext.
NO_CONTEXT
An Option set to None. Typed as a mutable reference to an EmptyContext for use in crate::GarnishRuntime instruction methods that require a context be passed.

Traits§

GarnishContext
Functionality required by Garnish contexts.
GarnishData
Trait defining what a data access operations are required by a runtime.
GarnishNumber
Arithmetic operations required so a runtime can resolve associated instruction.
GarnishRuntime
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
TypeConstants
Trait to provide constant values that a runtime will need access to.