Macro wast::custom_keyword [−][src]
A macro to create a custom keyword parser.
This macro is invoked in one of two forms:
// keyword derived from the Rust identifier: wast::custom_keyword!(foo); // or an explicitly specified string representation of the keyword: wast::custom_keyword!(my_keyword = "the-wasm-keyword");
This can then be used to parse custom keyword for custom items, such as:
use wast::parser::{Parser, Result, Parse}; struct InlineModule<'a> { inline_text: &'a str, } mod kw { wast::custom_keyword!(inline); } // Parse an inline string module of the form: // // (inline "(module (func))") impl<'a> Parse<'a> for InlineModule<'a> { fn parse(parser: Parser<'a>) -> Result<Self> { parser.parse::<kw::inline>()?; Ok(InlineModule { inline_text: parser.parse()?, }) } }
Note that the keyword name can only start with a lower-case letter, i.e. 'a'..'z'.