[][src]Trait sixtyfps_compilerlib::parser::Parser

pub trait Parser: Sized {
    type Checkpoint: Clone;
#[must_use = "use start_node_at to use this checkpoint"]    pub fn checkpoint(&mut self) -> Self::Checkpoint;
pub fn finish_node_impl(&mut self, token: NodeToken);
pub fn start_node_impl(
        &mut self,
        kind: SyntaxKind,
        checkpoint: Option<Self::Checkpoint>,
        token: NodeToken
    );
pub fn nth(&mut self, n: usize) -> Token;
pub fn consume(&mut self);
pub fn error(&mut self, e: impl Into<String>); #[must_use = "The node will be finished when it is dropped"] pub fn start_node(&mut self, kind: SyntaxKind) -> Node<'_, Self> { ... }
#[must_use = "The node will be finished when it is dropped"] pub fn start_node_at(
        &mut self,
        checkpoint: Self::Checkpoint,
        kind: SyntaxKind
    ) -> Node<'_, Self> { ... }
pub fn peek(&mut self) -> Token { ... }
pub fn expect(&mut self, kind: SyntaxKind) -> bool { ... }
pub fn test(&mut self, kind: SyntaxKind) -> bool { ... }
pub fn until(&mut self, kind: SyntaxKind) { ... } }

Associated Types

Loading content...

Required methods

#[must_use = "use start_node_at to use this checkpoint"]pub fn checkpoint(&mut self) -> Self::Checkpoint[src]

pub fn finish_node_impl(&mut self, token: NodeToken)[src]

Can only be called by Node::drop

pub fn start_node_impl(
    &mut self,
    kind: SyntaxKind,
    checkpoint: Option<Self::Checkpoint>,
    token: NodeToken
)
[src]

Can only be called by Self::start_node

pub fn nth(&mut self, n: usize) -> Token[src]

Peek the n'th token, not including whitespaces and comments

pub fn consume(&mut self)[src]

pub fn error(&mut self, e: impl Into<String>)[src]

Loading content...

Provided methods

#[must_use = "The node will be finished when it is dropped"]pub fn start_node(&mut self, kind: SyntaxKind) -> Node<'_, Self>[src]

Enter a new node. The node is going to be finished when The return value of this function is drop'ed

(do not re-implement this function, re-implement start_node_impl and finish_node_impl)

#[must_use = "The node will be finished when it is dropped"]pub fn start_node_at(
    &mut self,
    checkpoint: Self::Checkpoint,
    kind: SyntaxKind
) -> Node<'_, Self>
[src]

pub fn peek(&mut self) -> Token[src]

Same as nth(0)

pub fn expect(&mut self, kind: SyntaxKind) -> bool[src]

Consume the token if it has the right kind, otherwise report a syntax error. Returns true if the token was consumed.

pub fn test(&mut self, kind: SyntaxKind) -> bool[src]

If the token if of this type, consume it and return true, otherwise return false

pub fn until(&mut self, kind: SyntaxKind)[src]

consume everyting until reaching a token of this kind

Loading content...

Implementors

impl Parser for DefaultParser[src]

pub fn nth(&mut self, n: usize) -> Token[src]

Peek the n'th token, not including whitespaces and comments

pub fn consume(&mut self)[src]

Consume the current token

pub fn error(&mut self, e: impl Into<String>)[src]

Reports an error at the current token location

type Checkpoint = Checkpoint

Loading content...