This commit is contained in:
nub31
2025-05-12 21:41:00 +02:00
parent b4a80bb7e1
commit 90ef9fb8e8
8 changed files with 186 additions and 329 deletions

View File

@@ -86,7 +86,7 @@ public class Lexer
if (buffer is "true" or "false")
{
return new LiteralToken(NubType.Bool, buffer);
return new LiteralToken(NubPrimitiveType.Bool, buffer);
}
return new IdentifierToken(buffer);
@@ -103,7 +103,7 @@ public class Lexer
current = Peek();
}
return new LiteralToken(NubType.Int64, buffer);
return new LiteralToken(NubPrimitiveType.I64, buffer);
}
// TODO: Revisit this
@@ -148,7 +148,7 @@ public class Lexer
buffer += current.Value;
}
return new LiteralToken(NubType.String, buffer);
return new LiteralToken(NubPrimitiveType.String, buffer);
}
if (char.IsWhiteSpace(current.Value))

View File

@@ -20,12 +20,7 @@ public class Parser
{
if (TryExpectSymbol(Symbol.Import))
{
var name = ExpectLiteral();
if (!name.Type.Equals(NubType.String))
{
throw new Exception("Import statements must have a string literal value");
}
var name = ExpectIdentifier();
TryExpectSymbol(Symbol.Semicolon);
imports.Add(name.Value);
}
@@ -466,7 +461,7 @@ public class Parser
private NubType ParseType()
{
var name = ExpectIdentifier().Value;
return new NubType(name);
return NubType.Parse(name);
}
private Token ExpectToken()

View File

@@ -197,7 +197,7 @@ public class ExpressionTyper
case BinaryExpressionOperator.LessThan:
case BinaryExpressionOperator.LessThanOrEqual:
{
binaryExpression.Type = new NubType("bool");
binaryExpression.Type = NubPrimitiveType.Bool;
break;
}
case BinaryExpressionOperator.Plus: