Skip to main content

skullbrain_parser/cst/
tokens.rs

1use super::*;
2
3define_cst_token! {
4    /// Unknown Token
5    pub struct UnknownToken { kind: SyntaxKind::Unknown }
6}
7
8define_cst_token! {
9    /// Identifier token
10    pub struct IdentToken { kind: SyntaxKind::Ident }
11}
12
13define_cst_token! {
14    /// Numeric or string literal
15    pub struct LiteralToken { kind: SyntaxKind::Literal }
16}
17
18define_cst_token! {
19    /// Numeric or string literal
20    pub struct StringToken { kind: SyntaxKind::Literal }
21}
22
23define_cst_token! {
24    /// Comment token
25    pub struct CommentToken { kind: SyntaxKind::Comment }
26}
27
28define_cst_token! {
29    /// Trivia token
30    pub struct TriviaToken { kind: SyntaxKind::Trivia }
31}
32
33define_cst_token! {
34    /// Trivia token
35    pub struct ErrorToken { kind: SyntaxKind::Error }
36}
37
38define_cst_token! {
39    /// open brace token
40    pub struct OpenBraceToken { kind: SyntaxKind::OpenBrace }
41}
42define_cst_token! {
43    /// close brace token
44    pub struct CloseBraceToken { kind: SyntaxKind::CloseBrace }
45}
46define_cst_token! {
47    /// open paren token
48    pub struct OpenParenToken { kind: SyntaxKind::OpenParen }
49}
50define_cst_token! {
51    /// close brace token
52    pub struct CloseParenToken { kind: SyntaxKind::CloseParen }
53}
54define_cst_token! {
55    /// A `colon` token
56    pub struct ColonToken { kind: SyntaxKind::Colon }
57}
58define_cst_token! {
59    /// A `colon` token
60    pub struct AssignmentToken { kind: SyntaxKind::Assignment }
61}
62
63define_cst_token! {
64    /// A `,` token
65    pub struct CommaToken { kind: SyntaxKind::Comma }
66}