This repository has been archived on 2025-10-23. You can view files and clone it, but cannot push or open issues or pull requests.
Files
nub-lang-archive/src/compiler/NubLang/Syntax/Tokenization/Token.cs
nub31 6b733b9cdf ...
2025-07-22 22:10:31 +02:00

72 lines
1.0 KiB
C#

namespace NubLang.Syntax.Tokenization;
public abstract class Token;
public class IdentifierToken(string value) : Token
{
public string Value { get; } = value;
}
public class LiteralToken(LiteralKind kind, string value) : Token
{
public LiteralKind Kind { get; } = kind;
public string Value { get; } = value;
}
public enum LiteralKind
{
Integer,
Float,
String,
Bool
}
public class SymbolToken(Symbol symbol) : Token
{
public Symbol Symbol { get; } = symbol;
}
public enum Symbol
{
Func,
Return,
If,
Else,
While,
Break,
Continue,
Colon,
OpenParen,
CloseParen,
OpenBrace,
CloseBrace,
OpenBracket,
CloseBracket,
Comma,
Period,
Assign,
Bang,
Equal,
NotEqual,
LessThan,
LessThanOrEqual,
GreaterThan,
GreaterThanOrEqual,
Plus,
Minus,
Star,
ForwardSlash,
Struct,
Caret,
Ampersand,
DoubleColon,
Namespace,
Let,
Alloc,
Calls,
Interface,
For,
Extern,
Semi,
Arrow,
}