skullbrain-parser 0.1.0

Parses skullbrain tokens into a concrete syntax tree (CST).
Documentation
use super::*;

define_cst_token! {
    /// Unknown Token
    pub struct UnknownToken { kind: SyntaxKind::Unknown }
}

define_cst_token! {
    /// Identifier token
    pub struct IdentToken { kind: SyntaxKind::Ident }
}

define_cst_token! {
    /// Numeric or string literal
    pub struct LiteralToken { kind: SyntaxKind::Literal }
}

define_cst_token! {
    /// Numeric or string literal
    pub struct StringToken { kind: SyntaxKind::Literal }
}

define_cst_token! {
    /// Comment token
    pub struct CommentToken { kind: SyntaxKind::Comment }
}

define_cst_token! {
    /// Trivia token
    pub struct TriviaToken { kind: SyntaxKind::Trivia }
}

define_cst_token! {
    /// Trivia token
    pub struct ErrorToken { kind: SyntaxKind::Error }
}

define_cst_token! {
    /// open brace token
    pub struct OpenBraceToken { kind: SyntaxKind::OpenBrace }
}
define_cst_token! {
    /// close brace token
    pub struct CloseBraceToken { kind: SyntaxKind::CloseBrace }
}
define_cst_token! {
    /// open paren token
    pub struct OpenParenToken { kind: SyntaxKind::OpenParen }
}
define_cst_token! {
    /// close brace token
    pub struct CloseParenToken { kind: SyntaxKind::CloseParen }
}
define_cst_token! {
    /// A `colon` token
    pub struct ColonToken { kind: SyntaxKind::Colon }
}
define_cst_token! {
    /// A `colon` token
    pub struct AssignmentToken { kind: SyntaxKind::Assignment }
}

define_cst_token! {
    /// A `,` token
    pub struct CommaToken { kind: SyntaxKind::Comma }
}