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

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

Associated Types

Loading content...

Required methods

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

fn finish_node_impl(&mut self, token: NodeToken)

Can only be called by Node::drop

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

Can only be called by Self::start_node

fn nth(&mut self, n: usize) -> Token

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

fn consume(&mut self)

fn error(&mut self, e: impl Into<String>)

Loading content...

Provided methods

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

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"]fn start_node_at(
    &mut self,
    checkpoint: Self::Checkpoint,
    kind: SyntaxKind
) -> Node<'_, Self>

fn peek(&mut self) -> Token

Same as nth(0)

fn expect(&mut self, kind: SyntaxKind) -> bool

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

fn test(&mut self, kind: SyntaxKind) -> bool

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

fn until(&mut self, kind: SyntaxKind)

consume everyting until reaching a token of this kind

Loading content...

Implementors

impl Parser for DefaultParser[src]

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

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

fn consume(&mut self)[src]

Consume the current token

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

Reports an error at the current token location

type Checkpoint = Checkpoint

Loading content...