skullbrain-parser 0.1.0

Parses skullbrain tokens into a concrete syntax tree (CST).
Documentation
mod delimited;
mod seperated;
mod trivia;

pub(crate) use trivia::is_trivia;

use crate::{state::ConcreteSyntaxTreeBuilder, Diagnostics, ParserState, SyntaxKind};

impl<'input, D: Diagnostics, C: ConcreteSyntaxTreeBuilder> ParserState<'input, D, C> {
    pub(crate) fn parse_ident(&mut self) {
        self.parse_token(SyntaxKind::Ident);
    }

    pub(crate) fn parse_unknown(&mut self) {
        self.parse_token(SyntaxKind::Unknown);
    }
}

impl<'input, D: Diagnostics, C: ConcreteSyntaxTreeBuilder> ParserState<'input, D, C> {
    #[deprecated]
    /// Creates a predicate function for ident parsing;
    pub(crate) fn peek_sequence_for_ident(peekable: &mut crate::state::PeekSequence) -> bool {
        peekable
            .peek_next()
            .map_or(false, |item| item.kind().is_ident())
    }
}