Skip to main content

Crate fandango

Crate fandango 

Source
Expand description

§Fandango

This crate replicates and extends the functionality of FANDANGO.

Re-exports§

pub use pest;
pub use pest_derive;
pub use tuple_list;

Modules§

dynamic
Dynamic shims for producing inputs without static typing.
generation
Generator routines for FANDANGO. See Generated::generate for details on how to use them.
graph
Graph operations for lifting FANDANGO grammars to a graph.
lang
Language definition for FANDANGO grammars. Program::try_from is what you want. :)
typing
Type information used in generated FANDANGO grammars.
visitor
Visitors for type trees emitted by FANDANGO’s #[derive] implementation.

Macros§

chain_field_iter
Internal macro for compiling iterator chains, for use in crate::impl_traverse.
debug_assert_match
Debug assertion that the value matches the pattern.
field_iter
Internal macro for producing iterators over fields, for use in crate::impl_traverse.
impl_definition_of
Helper macro for defining DefinitionOf, just like [impl_has_dynamic_handler].
impl_has_dynamic_sampler
Helper macro for defining HasDynamicSampler. Used to generate the content of a HasDynamicSampler like so:
impl_traverse
Macro which generates implementations of GraphTraverse over fields of the provided struct or variants of the provided enum. The lifetime 'source is already within the lifetime list and corresponds to the lifetime of the source code.
parse_pairs_as
Extracts inner pairs matching the specified rules from the given pair.
variant_traverse
Internal macro for compiling iterator chains, for use in crate::impl_traverse, over enums.
visitor_chain
Perform chaining of visitors. Useful for when your visitors perform their own traversal, and may need exclusive mutable access to parent nodes of the target. If you just need mutable access to a particular subtree, use navigation::GoTo::go_to or [navigation::GoToWith::go_to].

Derive Macros§

Fandango
Perform the #[derive]!