Enum piston_meta::Rule[][src]

pub enum Rule {
    Whitespace(Whitespace),
    Tag(Tag),
    UntilAny(UntilAny),
    UntilAnyOrWhitespace(UntilAnyOrWhitespace),
    Text(Text),
    Number(Number),
    Select(Select),
    FastSelect(Box<FastSelect>),
    Sequence(Sequence),
    SeparateBy(Box<SeparateBy>),
    Repeat(Box<Repeat>),
    Lines(Box<Lines>),
    Node(Node),
    Optional(Box<Optional>),
    Not(Box<Not>),
}

A rule describes how some section of a document should be parsed.

Variants

Whitespace(Whitespace)

Read whitespace.

Tag(Tag)

Match against a tag.

UntilAny(UntilAny)

Reads until any character.

UntilAnyOrWhitespace(UntilAnyOrWhitespace)

Read until any character or whitespace.

Text(Text)

Read text.

Number(Number)

Read number.

Select(Select)

Select one of the sub rules. If the first one does not succeed, try another and so on. If all sub rules fail, then the rule fails.

FastSelect(Box<FastSelect>)

Select one of the sub rules, using fast table lookup.

Sequence(Sequence)

Run each sub rule in sequence. If any sub rule fails, the rule fails.

SeparateBy(Box<SeparateBy>)

Repeat rule separated by another rule.

Repeat(Box<Repeat>)

Repeat rule.

Lines(Box<Lines>)

Repeat rule separated by one or more lines.

Node(Node)

Read node.

Optional(Box<Optional>)

Read optional.

Not(Box<Not>)

Read not.

Implementations

impl Rule[src]

pub fn parse(
    &self,
    tokens: &mut Vec<Range<MetaData>>,
    state: &TokenizerState,
    read_token: &ReadToken<'_>,
    refs: &[Rule],
    indent_settings: &mut IndentSettings
) -> ParseResult<TokenizerState>
[src]

Parses rule.

pub fn update_refs(&mut self, names: &[Arc<String>])[src]

Updates replacing names with the references.

The references contains the name, but this can not be borrowed as when the same reference is updated.

Trait Implementations

impl Clone for Rule[src]

impl Debug for Rule[src]

impl PartialEq<Rule> for Rule[src]

impl StructuralPartialEq for Rule[src]

Auto Trait Implementations

impl RefUnwindSafe for Rule

impl Send for Rule

impl Sync for Rule

impl Unpin for Rule

impl UnwindSafe for Rule

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.