This commit is contained in:
nub31
2025-09-29 19:04:09 +02:00
parent ecdfd8262d
commit 4252725783
16 changed files with 120 additions and 129 deletions

View File

@@ -0,0 +1,70 @@
using NubLang.Diagnostics;
namespace NubLang.Syntax;
public enum Symbol
{
Func,
Return,
If,
Else,
While,
Break,
Continue,
Colon,
DoubleColon,
OpenParen,
CloseParen,
OpenBrace,
CloseBrace,
OpenBracket,
CloseBracket,
Comma,
Period,
Assign,
Bang,
Equal,
NotEqual,
LessThan,
LessThanOrEqual,
GreaterThan,
GreaterThanOrEqual,
Plus,
Minus,
Star,
ForwardSlash,
Struct,
Caret,
Ampersand,
Let,
Calls,
For,
In,
Extern,
Semi,
Percent,
LeftShift,
RightShift,
Pipe,
And,
Or,
Module,
Import,
Export,
Defer,
At,
}
public abstract record Token(string FileName, SourceSpan Span);
public record IdentifierToken(string FileName, SourceSpan Span, string Value) : Token(FileName, Span);
public record IntLiteralToken(string FileName, SourceSpan Span, string Value, int Base) : Token(FileName, Span);
public record StringLiteralToken(string FileName, SourceSpan Span, string Value) : Token(FileName, Span);
public record BoolLiteralToken(string FileName, SourceSpan Span, bool Value) : Token(FileName, Span);
public record FloatLiteralToken(string FileName, SourceSpan Span, string Value) : Token(FileName, Span);
public record SymbolToken(string FileName, SourceSpan Span, Symbol Symbol) : Token(FileName, Span);