Clean
This commit is contained in:
70
compiler/NubLang/Syntax/Token.cs
Normal file
70
compiler/NubLang/Syntax/Token.cs
Normal 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);
|
||||
Reference in New Issue
Block a user