Comments
Non-doc comments
Comments follow the general Rust style of line (//
) and block (/* ... */
) comment forms.
Non-doc comments are interpreted as a form of whitespace.
/*
Block comment
*/
another_rule = { // line comment
... // whitespace goes anywhere
}
Doc comments
Line doc comments begin with exactly three slashes ///
and //!
is used to document the entire grammar file.
//! A parser for JSON file.
json = { ... }
/// Matches object, e.g.: `{ "foo": "bar" }`
object = { ... }
Then will get
#![allow(unused)] fn main() { /// A parser for JSON file. enum Rule { json, /// Matches object, e.g.: `{ "foo": "bar" }` object, } }