diff --git a/src/cli/cli.csproj b/src/CLI/CLI.csproj
similarity index 79%
rename from src/cli/cli.csproj
rename to src/CLI/CLI.csproj
index 657ebe8..8fd0e47 100644
--- a/src/cli/cli.csproj
+++ b/src/CLI/CLI.csproj
@@ -7,11 +7,12 @@
enable
enable
true
+ cli
-
-
+
+
diff --git a/src/cli/Program.cs b/src/CLI/Program.cs
similarity index 97%
rename from src/cli/Program.cs
rename to src/CLI/Program.cs
index f72995f..205ae22 100644
--- a/src/cli/Program.cs
+++ b/src/CLI/Program.cs
@@ -1,11 +1,10 @@
using System.Diagnostics;
using System.Reflection;
-using Nub.Lang.Common;
-using Nub.Lang.Generation.QBE;
-using Nub.Lang.Syntax;
-using Nub.Lang.Syntax.Parsing;
-using Nub.Lang.Syntax.Tokenization;
-using Nub.Lang.Syntax.Typing;
+using generation.QBE;
+using syntax;
+using syntax.Parsing;
+using syntax.Tokenization;
+using syntax.Typing;
const string BIN_DIR = "bin";
const string BIN_INT_DIR = "bin-int";
diff --git a/src/cli/Runtime/entry.s b/src/CLI/Runtime/entry.s
similarity index 100%
rename from src/cli/Runtime/entry.s
rename to src/CLI/Runtime/entry.s
diff --git a/src/cli/Runtime/nub_memcpy.s b/src/CLI/Runtime/nub_memcpy.s
similarity index 100%
rename from src/cli/Runtime/nub_memcpy.s
rename to src/CLI/Runtime/nub_memcpy.s
diff --git a/src/cli/Runtime/nub_memset.s b/src/CLI/Runtime/nub_memset.s
similarity index 100%
rename from src/cli/Runtime/nub_memset.s
rename to src/CLI/Runtime/nub_memset.s
diff --git a/src/cli/Runtime/nub_panic.s b/src/CLI/Runtime/nub_panic.s
similarity index 100%
rename from src/cli/Runtime/nub_panic.s
rename to src/CLI/Runtime/nub_panic.s
diff --git a/src/cli/Runtime/nub_strcmp.s b/src/CLI/Runtime/nub_strcmp.s
similarity index 100%
rename from src/cli/Runtime/nub_strcmp.s
rename to src/CLI/Runtime/nub_strcmp.s
diff --git a/src/common/common.csproj b/src/Common/Common.csproj
similarity index 83%
rename from src/common/common.csproj
rename to src/Common/Common.csproj
index 17b910f..614e531 100644
--- a/src/common/common.csproj
+++ b/src/Common/Common.csproj
@@ -4,6 +4,7 @@
net9.0
enable
enable
+ common
diff --git a/src/common/Optional.cs b/src/Common/Optional.cs
similarity index 98%
rename from src/common/Optional.cs
rename to src/Common/Optional.cs
index 7e0a782..8a93549 100644
--- a/src/common/Optional.cs
+++ b/src/Common/Optional.cs
@@ -1,6 +1,6 @@
using System.Diagnostics.CodeAnalysis;
-namespace Nub.Lang.Common;
+namespace common;
public readonly struct Optional
{
diff --git a/src/common/Variant.cs b/src/Common/Variant.cs
similarity index 97%
rename from src/common/Variant.cs
rename to src/Common/Variant.cs
index d947ff2..4321cf4 100644
--- a/src/common/Variant.cs
+++ b/src/Common/Variant.cs
@@ -1,4 +1,4 @@
-namespace Nub.Lang.Common;
+namespace common;
public readonly struct Variant where T1 : notnull where T2 : notnull
{
diff --git a/src/compiler.sln b/src/Compiler.sln
similarity index 77%
rename from src/compiler.sln
rename to src/Compiler.sln
index dc64a45..702f726 100644
--- a/src/compiler.sln
+++ b/src/Compiler.sln
@@ -1,12 +1,12 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "syntax", "syntax\syntax.csproj", "{5047E21F-590D-4CB3-AFF3-064316485009}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Syntax", "Syntax\Syntax.csproj", "{5047E21F-590D-4CB3-AFF3-064316485009}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cli", "cli\cli.csproj", "{A22F17ED-FA17-45AB-92BA-CD02C28B3524}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CLI", "CLI\CLI.csproj", "{A22F17ED-FA17-45AB-92BA-CD02C28B3524}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "generation", "generation\generation.csproj", "{F903F1B9-69A6-4522-B483-81A4B072C8B1}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Generation", "Generation\Generation.csproj", "{F903F1B9-69A6-4522-B483-81A4B072C8B1}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "common", "common\common.csproj", "{91ECE034-32D4-48E6-A905-5F95DB95A3D4}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common", "Common\Common.csproj", "{91ECE034-32D4-48E6-A905-5F95DB95A3D4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/src/generation/generation.csproj b/src/Generation/Generation.csproj
similarity index 59%
rename from src/generation/generation.csproj
rename to src/Generation/Generation.csproj
index 69ce77d..aad8856 100644
--- a/src/generation/generation.csproj
+++ b/src/Generation/Generation.csproj
@@ -4,11 +4,12 @@
net9.0
enable
enable
+ generation
-
-
+
+
diff --git a/src/generation/QBE/QBEGenerator.cs b/src/Generation/QBE/QBEGenerator.cs
similarity index 99%
rename from src/generation/QBE/QBEGenerator.cs
rename to src/Generation/QBE/QBEGenerator.cs
index 9af5317..fa42255 100644
--- a/src/generation/QBE/QBEGenerator.cs
+++ b/src/Generation/QBE/QBEGenerator.cs
@@ -1,15 +1,15 @@
using System.Diagnostics;
using System.Globalization;
using System.Text;
-using Nub.Lang.Syntax;
-using Nub.Lang.Syntax.Parsing;
-using Nub.Lang.Syntax.Parsing.Definitions;
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Parsing.Statements;
-using Nub.Lang.Syntax.Tokenization;
-using Nub.Lang.Syntax.Typing;
+using syntax;
+using syntax.Parsing;
+using syntax.Parsing.Definitions;
+using syntax.Parsing.Expressions;
+using syntax.Parsing.Statements;
+using syntax.Tokenization;
+using syntax.Typing;
-namespace Nub.Lang.Generation.QBE;
+namespace generation.QBE;
public static class QBEGenerator
{
diff --git a/src/syntax/DefinitionTable.cs b/src/Syntax/DefinitionTable.cs
similarity index 90%
rename from src/syntax/DefinitionTable.cs
rename to src/Syntax/DefinitionTable.cs
index 830c85e..7a107c4 100644
--- a/src/syntax/DefinitionTable.cs
+++ b/src/Syntax/DefinitionTable.cs
@@ -1,8 +1,8 @@
-using Nub.Lang.Common;
-using Nub.Lang.Syntax.Parsing;
-using Nub.Lang.Syntax.Parsing.Definitions;
+using common;
+using syntax.Parsing;
+using syntax.Parsing.Definitions;
-namespace Nub.Lang.Syntax;
+namespace syntax;
public class DefinitionTable
{
diff --git a/src/syntax/Diagnostics/ConsoleColors.cs b/src/Syntax/Diagnostics/ConsoleColors.cs
similarity index 98%
rename from src/syntax/Diagnostics/ConsoleColors.cs
rename to src/Syntax/Diagnostics/ConsoleColors.cs
index a2f5128..10256c9 100644
--- a/src/syntax/Diagnostics/ConsoleColors.cs
+++ b/src/Syntax/Diagnostics/ConsoleColors.cs
@@ -1,7 +1,7 @@
using System.Text;
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Diagnostics;
+namespace syntax.Diagnostics;
public static class ConsoleColors
{
diff --git a/src/syntax/Diagnostics/Diagnostic.cs b/src/Syntax/Diagnostics/Diagnostic.cs
similarity index 98%
rename from src/syntax/Diagnostics/Diagnostic.cs
rename to src/Syntax/Diagnostics/Diagnostic.cs
index cb2781d..70593aa 100644
--- a/src/syntax/Diagnostics/Diagnostic.cs
+++ b/src/Syntax/Diagnostics/Diagnostic.cs
@@ -1,8 +1,8 @@
using System.Text;
-using Nub.Lang.Syntax.Parsing;
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Parsing;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Diagnostics;
+namespace syntax.Diagnostics;
public class Diagnostic
{
diff --git a/src/syntax/Diagnostics/DiagnosticsResult.cs b/src/Syntax/Diagnostics/DiagnosticsResult.cs
similarity index 93%
rename from src/syntax/Diagnostics/DiagnosticsResult.cs
rename to src/Syntax/Diagnostics/DiagnosticsResult.cs
index 48d8786..ab4f6e3 100644
--- a/src/syntax/Diagnostics/DiagnosticsResult.cs
+++ b/src/Syntax/Diagnostics/DiagnosticsResult.cs
@@ -1,4 +1,4 @@
-namespace Nub.Lang.Syntax.Diagnostics;
+namespace syntax.Diagnostics;
public class DiagnosticsResult(List diagnostics)
{
diff --git a/src/syntax/Parsing/CompilationUnit.cs b/src/Syntax/Parsing/CompilationUnit.cs
similarity index 71%
rename from src/syntax/Parsing/CompilationUnit.cs
rename to src/Syntax/Parsing/CompilationUnit.cs
index 80eb523..d3971c5 100644
--- a/src/syntax/Parsing/CompilationUnit.cs
+++ b/src/Syntax/Parsing/CompilationUnit.cs
@@ -1,6 +1,6 @@
-using Nub.Lang.Syntax.Parsing.Definitions;
+using syntax.Parsing.Definitions;
-namespace Nub.Lang.Syntax.Parsing;
+namespace syntax.Parsing;
public class CompilationUnit(string @namespace, List definitions)
{
diff --git a/src/syntax/Parsing/Definitions/DefinitionNode.cs b/src/Syntax/Parsing/Definitions/DefinitionNode.cs
similarity index 70%
rename from src/syntax/Parsing/Definitions/DefinitionNode.cs
rename to src/Syntax/Parsing/Definitions/DefinitionNode.cs
index 8a7470e..c0dc4db 100644
--- a/src/syntax/Parsing/Definitions/DefinitionNode.cs
+++ b/src/Syntax/Parsing/Definitions/DefinitionNode.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Common;
-using Nub.Lang.Syntax.Tokenization;
+using common;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Definitions;
+namespace syntax.Parsing.Definitions;
public abstract class DefinitionNode(IReadOnlyList tokens, Optional documentation, string @namespace) : Node(tokens)
{
diff --git a/src/syntax/Parsing/Definitions/FuncDefinitionNode.cs b/src/Syntax/Parsing/Definitions/FuncDefinitionNode.cs
similarity index 90%
rename from src/syntax/Parsing/Definitions/FuncDefinitionNode.cs
rename to src/Syntax/Parsing/Definitions/FuncDefinitionNode.cs
index e32f502..b2aab8b 100644
--- a/src/syntax/Parsing/Definitions/FuncDefinitionNode.cs
+++ b/src/Syntax/Parsing/Definitions/FuncDefinitionNode.cs
@@ -1,9 +1,9 @@
-using Nub.Lang.Common;
-using Nub.Lang.Syntax.Parsing.Statements;
-using Nub.Lang.Syntax.Tokenization;
-using Nub.Lang.Syntax.Typing;
+using common;
+using syntax.Parsing.Statements;
+using syntax.Tokenization;
+using syntax.Typing;
-namespace Nub.Lang.Syntax.Parsing.Definitions;
+namespace syntax.Parsing.Definitions;
public class FuncParameter(string name, NubType type)
{
diff --git a/src/syntax/Parsing/Definitions/StructDefinitionNode.cs b/src/Syntax/Parsing/Definitions/StructDefinitionNode.cs
similarity index 74%
rename from src/syntax/Parsing/Definitions/StructDefinitionNode.cs
rename to src/Syntax/Parsing/Definitions/StructDefinitionNode.cs
index a039e2e..e0a5393 100644
--- a/src/syntax/Parsing/Definitions/StructDefinitionNode.cs
+++ b/src/Syntax/Parsing/Definitions/StructDefinitionNode.cs
@@ -1,9 +1,9 @@
-using Nub.Lang.Common;
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Tokenization;
-using Nub.Lang.Syntax.Typing;
+using common;
+using syntax.Parsing.Expressions;
+using syntax.Tokenization;
+using syntax.Typing;
-namespace Nub.Lang.Syntax.Parsing.Definitions;
+namespace syntax.Parsing.Definitions;
public class StructField(string name, NubType type, Optional value)
{
diff --git a/src/syntax/Parsing/Expressions/AddressOfNode.cs b/src/Syntax/Parsing/Expressions/AddressOfNode.cs
similarity index 66%
rename from src/syntax/Parsing/Expressions/AddressOfNode.cs
rename to src/Syntax/Parsing/Expressions/AddressOfNode.cs
index ac4f135..e45c108 100644
--- a/src/syntax/Parsing/Expressions/AddressOfNode.cs
+++ b/src/Syntax/Parsing/Expressions/AddressOfNode.cs
@@ -1,6 +1,6 @@
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class AddressOfNode(IReadOnlyList tokens, LValueNode expression) : ExpressionNode(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/AnonymousFuncNode.cs b/src/Syntax/Parsing/Expressions/AnonymousFuncNode.cs
similarity index 61%
rename from src/syntax/Parsing/Expressions/AnonymousFuncNode.cs
rename to src/Syntax/Parsing/Expressions/AnonymousFuncNode.cs
index 9b06149..a4df1f5 100644
--- a/src/syntax/Parsing/Expressions/AnonymousFuncNode.cs
+++ b/src/Syntax/Parsing/Expressions/AnonymousFuncNode.cs
@@ -1,9 +1,9 @@
-using Nub.Lang.Syntax.Parsing.Definitions;
-using Nub.Lang.Syntax.Parsing.Statements;
-using Nub.Lang.Syntax.Tokenization;
-using Nub.Lang.Syntax.Typing;
+using syntax.Parsing.Definitions;
+using syntax.Parsing.Statements;
+using syntax.Tokenization;
+using syntax.Typing;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class AnonymousFuncNode(IReadOnlyList tokens, List parameters, BlockNode body, NubType returnType) : ExpressionNode(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/ArrayIndexAccessNode.cs b/src/Syntax/Parsing/Expressions/ArrayIndexAccessNode.cs
similarity index 73%
rename from src/syntax/Parsing/Expressions/ArrayIndexAccessNode.cs
rename to src/Syntax/Parsing/Expressions/ArrayIndexAccessNode.cs
index 705d763..428ced6 100644
--- a/src/syntax/Parsing/Expressions/ArrayIndexAccessNode.cs
+++ b/src/Syntax/Parsing/Expressions/ArrayIndexAccessNode.cs
@@ -1,6 +1,6 @@
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class ArrayIndexAccessNode(IReadOnlyList tokens, ExpressionNode array, ExpressionNode index) : LValueNode(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/ArrayInitializerNode.cs b/src/Syntax/Parsing/Expressions/ArrayInitializerNode.cs
similarity index 68%
rename from src/syntax/Parsing/Expressions/ArrayInitializerNode.cs
rename to src/Syntax/Parsing/Expressions/ArrayInitializerNode.cs
index 960075d..0ac17b7 100644
--- a/src/syntax/Parsing/Expressions/ArrayInitializerNode.cs
+++ b/src/Syntax/Parsing/Expressions/ArrayInitializerNode.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Syntax.Tokenization;
-using Nub.Lang.Syntax.Typing;
+using syntax.Tokenization;
+using syntax.Typing;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class ArrayInitializerNode(IReadOnlyList tokens, ExpressionNode capacity, NubType elementType) : ExpressionNode(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/BinaryExpressionNode.cs b/src/Syntax/Parsing/Expressions/BinaryExpressionNode.cs
similarity index 85%
rename from src/syntax/Parsing/Expressions/BinaryExpressionNode.cs
rename to src/Syntax/Parsing/Expressions/BinaryExpressionNode.cs
index 6cc5912..1fbcf53 100644
--- a/src/syntax/Parsing/Expressions/BinaryExpressionNode.cs
+++ b/src/Syntax/Parsing/Expressions/BinaryExpressionNode.cs
@@ -1,6 +1,6 @@
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class BinaryExpressionNode(IReadOnlyList tokens, ExpressionNode left, BinaryExpressionOperator @operator, ExpressionNode right) : ExpressionNode(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/DereferenceNode.cs b/src/Syntax/Parsing/Expressions/DereferenceNode.cs
similarity index 66%
rename from src/syntax/Parsing/Expressions/DereferenceNode.cs
rename to src/Syntax/Parsing/Expressions/DereferenceNode.cs
index 1f6cd7e..1dbf092 100644
--- a/src/syntax/Parsing/Expressions/DereferenceNode.cs
+++ b/src/Syntax/Parsing/Expressions/DereferenceNode.cs
@@ -1,6 +1,6 @@
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class DereferenceNode(IReadOnlyList tokens, ExpressionNode expression) : LValueNode(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/ExpressionNode.cs b/src/Syntax/Parsing/Expressions/ExpressionNode.cs
similarity index 76%
rename from src/syntax/Parsing/Expressions/ExpressionNode.cs
rename to src/Syntax/Parsing/Expressions/ExpressionNode.cs
index 1e3c0f8..be63953 100644
--- a/src/syntax/Parsing/Expressions/ExpressionNode.cs
+++ b/src/Syntax/Parsing/Expressions/ExpressionNode.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Syntax.Tokenization;
-using Nub.Lang.Syntax.Typing;
+using syntax.Tokenization;
+using syntax.Typing;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public abstract class ExpressionNode(IReadOnlyList tokens) : Node(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/FixedArrayInitializerNode.cs b/src/Syntax/Parsing/Expressions/FixedArrayInitializerNode.cs
similarity index 67%
rename from src/syntax/Parsing/Expressions/FixedArrayInitializerNode.cs
rename to src/Syntax/Parsing/Expressions/FixedArrayInitializerNode.cs
index e709967..6c6baaa 100644
--- a/src/syntax/Parsing/Expressions/FixedArrayInitializerNode.cs
+++ b/src/Syntax/Parsing/Expressions/FixedArrayInitializerNode.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Syntax.Tokenization;
-using Nub.Lang.Syntax.Typing;
+using syntax.Tokenization;
+using syntax.Typing;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class FixedArrayInitializerNode(IReadOnlyList tokens, NubType elementType, int capacity) : ExpressionNode(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/FuncCallNode.cs b/src/Syntax/Parsing/Expressions/FuncCallNode.cs
similarity index 80%
rename from src/syntax/Parsing/Expressions/FuncCallNode.cs
rename to src/Syntax/Parsing/Expressions/FuncCallNode.cs
index b50a6ef..c44c01b 100644
--- a/src/syntax/Parsing/Expressions/FuncCallNode.cs
+++ b/src/Syntax/Parsing/Expressions/FuncCallNode.cs
@@ -1,6 +1,6 @@
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class FuncCallNode(IReadOnlyList tokens, ExpressionNode expression, List parameters) : ExpressionNode(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/IdentifierNode.cs b/src/Syntax/Parsing/Expressions/IdentifierNode.cs
similarity index 74%
rename from src/syntax/Parsing/Expressions/IdentifierNode.cs
rename to src/Syntax/Parsing/Expressions/IdentifierNode.cs
index 1ff9afa..7e52a5d 100644
--- a/src/syntax/Parsing/Expressions/IdentifierNode.cs
+++ b/src/Syntax/Parsing/Expressions/IdentifierNode.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Common;
-using Nub.Lang.Syntax.Tokenization;
+using common;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class IdentifierNode(IReadOnlyList tokens, Optional @namespace, string name) : LValueNode(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/LiteralNode.cs b/src/Syntax/Parsing/Expressions/LiteralNode.cs
similarity index 70%
rename from src/syntax/Parsing/Expressions/LiteralNode.cs
rename to src/Syntax/Parsing/Expressions/LiteralNode.cs
index 9b02bcc..40c355d 100644
--- a/src/syntax/Parsing/Expressions/LiteralNode.cs
+++ b/src/Syntax/Parsing/Expressions/LiteralNode.cs
@@ -1,6 +1,6 @@
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class LiteralNode(IReadOnlyList tokens, string literal, LiteralKind kind) : ExpressionNode(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/MemberAccessNode.cs b/src/Syntax/Parsing/Expressions/MemberAccessNode.cs
similarity index 72%
rename from src/syntax/Parsing/Expressions/MemberAccessNode.cs
rename to src/Syntax/Parsing/Expressions/MemberAccessNode.cs
index 54ffc5b..454410c 100644
--- a/src/syntax/Parsing/Expressions/MemberAccessNode.cs
+++ b/src/Syntax/Parsing/Expressions/MemberAccessNode.cs
@@ -1,6 +1,6 @@
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class MemberAccessNode(IReadOnlyList tokens, ExpressionNode expression, string member) : LValueNode(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/StructInitializerNode.cs b/src/Syntax/Parsing/Expressions/StructInitializerNode.cs
similarity index 72%
rename from src/syntax/Parsing/Expressions/StructInitializerNode.cs
rename to src/Syntax/Parsing/Expressions/StructInitializerNode.cs
index d6198dd..c203262 100644
--- a/src/syntax/Parsing/Expressions/StructInitializerNode.cs
+++ b/src/Syntax/Parsing/Expressions/StructInitializerNode.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Syntax.Tokenization;
-using Nub.Lang.Syntax.Typing;
+using syntax.Tokenization;
+using syntax.Typing;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class StructInitializerNode(IReadOnlyList tokens, NubStructType structType, Dictionary initializers) : ExpressionNode(tokens)
{
diff --git a/src/syntax/Parsing/Expressions/UnaryExpressionNode.cs b/src/Syntax/Parsing/Expressions/UnaryExpressionNode.cs
similarity index 79%
rename from src/syntax/Parsing/Expressions/UnaryExpressionNode.cs
rename to src/Syntax/Parsing/Expressions/UnaryExpressionNode.cs
index aa2f01f..d07fb05 100644
--- a/src/syntax/Parsing/Expressions/UnaryExpressionNode.cs
+++ b/src/Syntax/Parsing/Expressions/UnaryExpressionNode.cs
@@ -1,6 +1,6 @@
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Expressions;
+namespace syntax.Parsing.Expressions;
public class UnaryExpressionNode(IReadOnlyList tokens, UnaryExpressionOperator @operator, ExpressionNode operand) : ExpressionNode(tokens)
{
diff --git a/src/syntax/Parsing/Node.cs b/src/Syntax/Parsing/Node.cs
similarity index 62%
rename from src/syntax/Parsing/Node.cs
rename to src/Syntax/Parsing/Node.cs
index 0fba550..c0a0281 100644
--- a/src/syntax/Parsing/Node.cs
+++ b/src/Syntax/Parsing/Node.cs
@@ -1,6 +1,6 @@
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing;
+namespace syntax.Parsing;
public abstract class Node(IReadOnlyList tokens)
{
diff --git a/src/syntax/Parsing/Parser.cs b/src/Syntax/Parsing/Parser.cs
similarity index 98%
rename from src/syntax/Parsing/Parser.cs
rename to src/Syntax/Parsing/Parser.cs
index 16179e4..a3dba2c 100644
--- a/src/syntax/Parsing/Parser.cs
+++ b/src/Syntax/Parsing/Parser.cs
@@ -1,14 +1,14 @@
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
-using Nub.Lang.Common;
-using Nub.Lang.Syntax.Diagnostics;
-using Nub.Lang.Syntax.Parsing.Definitions;
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Parsing.Statements;
-using Nub.Lang.Syntax.Tokenization;
-using Nub.Lang.Syntax.Typing;
+using common;
+using syntax.Diagnostics;
+using syntax.Parsing.Definitions;
+using syntax.Parsing.Expressions;
+using syntax.Parsing.Statements;
+using syntax.Tokenization;
+using syntax.Typing;
-namespace Nub.Lang.Syntax.Parsing;
+namespace syntax.Parsing;
public static class Parser
{
@@ -763,7 +763,7 @@ public static class Parser
}
throw new ParseException(Diagnostic
- .Error("Invalid type syntax")
+ .Error("Invalid type Syntax")
.WithHelp("Expected type name, '^' for pointer, or '[]' for array")
.At(peekToken)
.Build());
@@ -775,7 +775,7 @@ public static class Parser
{
throw new ParseException(Diagnostic
.Error("Unexpected end of file")
- .WithHelp("Expected more tokens to complete the syntax")
+ .WithHelp("Expected more tokens to complete the Syntax")
.At(_tokens.Last())
.Build());
}
diff --git a/src/syntax/Parsing/Statements/ArrayIndexAssignmentNode.cs b/src/Syntax/Parsing/Statements/ArrayIndexAssignmentNode.cs
similarity index 69%
rename from src/syntax/Parsing/Statements/ArrayIndexAssignmentNode.cs
rename to src/Syntax/Parsing/Statements/ArrayIndexAssignmentNode.cs
index 890feee..8fa11bc 100644
--- a/src/syntax/Parsing/Statements/ArrayIndexAssignmentNode.cs
+++ b/src/Syntax/Parsing/Statements/ArrayIndexAssignmentNode.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Parsing.Expressions;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Statements;
+namespace syntax.Parsing.Statements;
public class ArrayIndexAssignmentNode(IReadOnlyList tokens, ArrayIndexAccessNode arrayIndexAccess, ExpressionNode value) : StatementNode(tokens)
{
diff --git a/src/syntax/Parsing/Statements/BlockNode.cs b/src/Syntax/Parsing/Statements/BlockNode.cs
similarity index 66%
rename from src/syntax/Parsing/Statements/BlockNode.cs
rename to src/Syntax/Parsing/Statements/BlockNode.cs
index 89732b7..16fe3c5 100644
--- a/src/syntax/Parsing/Statements/BlockNode.cs
+++ b/src/Syntax/Parsing/Statements/BlockNode.cs
@@ -1,6 +1,6 @@
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Statements;
+namespace syntax.Parsing.Statements;
public class BlockNode(IReadOnlyList tokens, List statements) : Node(tokens)
{
diff --git a/src/Syntax/Parsing/Statements/BreakNode.cs b/src/Syntax/Parsing/Statements/BreakNode.cs
new file mode 100644
index 0000000..3eb6069
--- /dev/null
+++ b/src/Syntax/Parsing/Statements/BreakNode.cs
@@ -0,0 +1,5 @@
+using syntax.Tokenization;
+
+namespace syntax.Parsing.Statements;
+
+public class BreakNode(IReadOnlyList tokens) : StatementNode(tokens);
\ No newline at end of file
diff --git a/src/Syntax/Parsing/Statements/ContinueNode.cs b/src/Syntax/Parsing/Statements/ContinueNode.cs
new file mode 100644
index 0000000..98c888a
--- /dev/null
+++ b/src/Syntax/Parsing/Statements/ContinueNode.cs
@@ -0,0 +1,5 @@
+using syntax.Tokenization;
+
+namespace syntax.Parsing.Statements;
+
+public class ContinueNode(IReadOnlyList tokens) : StatementNode(tokens);
\ No newline at end of file
diff --git a/src/syntax/Parsing/Statements/DereferenceAssignmentNode.cs b/src/Syntax/Parsing/Statements/DereferenceAssignmentNode.cs
similarity index 67%
rename from src/syntax/Parsing/Statements/DereferenceAssignmentNode.cs
rename to src/Syntax/Parsing/Statements/DereferenceAssignmentNode.cs
index 77b140e..7ab2bb2 100644
--- a/src/syntax/Parsing/Statements/DereferenceAssignmentNode.cs
+++ b/src/Syntax/Parsing/Statements/DereferenceAssignmentNode.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Parsing.Expressions;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Statements;
+namespace syntax.Parsing.Statements;
public class DereferenceAssignmentNode(IReadOnlyList tokens, DereferenceNode dereference, ExpressionNode value) : StatementNode(tokens)
{
diff --git a/src/syntax/Parsing/Statements/IfNode.cs b/src/Syntax/Parsing/Statements/IfNode.cs
similarity index 68%
rename from src/syntax/Parsing/Statements/IfNode.cs
rename to src/Syntax/Parsing/Statements/IfNode.cs
index a84af29..3bb52ba 100644
--- a/src/syntax/Parsing/Statements/IfNode.cs
+++ b/src/Syntax/Parsing/Statements/IfNode.cs
@@ -1,8 +1,8 @@
-using Nub.Lang.Common;
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Tokenization;
+using common;
+using syntax.Parsing.Expressions;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Statements;
+namespace syntax.Parsing.Statements;
public class IfNode(IReadOnlyList tokens, ExpressionNode condition, BlockNode body, Optional> @else) : StatementNode(tokens)
{
diff --git a/src/syntax/Parsing/Statements/MemberAssignmentNode.cs b/src/Syntax/Parsing/Statements/MemberAssignmentNode.cs
similarity index 67%
rename from src/syntax/Parsing/Statements/MemberAssignmentNode.cs
rename to src/Syntax/Parsing/Statements/MemberAssignmentNode.cs
index 19c169a..b9cd7ee 100644
--- a/src/syntax/Parsing/Statements/MemberAssignmentNode.cs
+++ b/src/Syntax/Parsing/Statements/MemberAssignmentNode.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Parsing.Expressions;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Statements;
+namespace syntax.Parsing.Statements;
public class MemberAssignmentNode(IReadOnlyList tokens, MemberAccessNode expression, ExpressionNode value) : StatementNode(tokens)
{
diff --git a/src/syntax/Parsing/Statements/ReturnNode.cs b/src/Syntax/Parsing/Statements/ReturnNode.cs
similarity index 53%
rename from src/syntax/Parsing/Statements/ReturnNode.cs
rename to src/Syntax/Parsing/Statements/ReturnNode.cs
index 3acc5fd..6c073bf 100644
--- a/src/syntax/Parsing/Statements/ReturnNode.cs
+++ b/src/Syntax/Parsing/Statements/ReturnNode.cs
@@ -1,8 +1,8 @@
-using Nub.Lang.Common;
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Tokenization;
+using common;
+using syntax.Parsing.Expressions;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Statements;
+namespace syntax.Parsing.Statements;
public class ReturnNode(IReadOnlyList tokens, Optional value) : StatementNode(tokens)
{
diff --git a/src/syntax/Parsing/Statements/StatementExpressionNode.cs b/src/Syntax/Parsing/Statements/StatementExpressionNode.cs
similarity index 58%
rename from src/syntax/Parsing/Statements/StatementExpressionNode.cs
rename to src/Syntax/Parsing/Statements/StatementExpressionNode.cs
index d9400e6..31937c2 100644
--- a/src/syntax/Parsing/Statements/StatementExpressionNode.cs
+++ b/src/Syntax/Parsing/Statements/StatementExpressionNode.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Parsing.Expressions;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Statements;
+namespace syntax.Parsing.Statements;
public class StatementExpressionNode(IReadOnlyList tokens, ExpressionNode expression) : StatementNode(tokens)
{
diff --git a/src/Syntax/Parsing/Statements/StatementNode.cs b/src/Syntax/Parsing/Statements/StatementNode.cs
new file mode 100644
index 0000000..56bd0f9
--- /dev/null
+++ b/src/Syntax/Parsing/Statements/StatementNode.cs
@@ -0,0 +1,5 @@
+using syntax.Tokenization;
+
+namespace syntax.Parsing.Statements;
+
+public abstract class StatementNode(IReadOnlyList tokens) : Node(tokens);
\ No newline at end of file
diff --git a/src/syntax/Parsing/Statements/VariableAssignmentNode.cs b/src/Syntax/Parsing/Statements/VariableAssignmentNode.cs
similarity index 66%
rename from src/syntax/Parsing/Statements/VariableAssignmentNode.cs
rename to src/Syntax/Parsing/Statements/VariableAssignmentNode.cs
index e6878f4..fa6c383 100644
--- a/src/syntax/Parsing/Statements/VariableAssignmentNode.cs
+++ b/src/Syntax/Parsing/Statements/VariableAssignmentNode.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Parsing.Expressions;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Statements;
+namespace syntax.Parsing.Statements;
public class VariableAssignmentNode(IReadOnlyList tokens, IdentifierNode identifier, ExpressionNode value) : StatementNode(tokens)
{
diff --git a/src/syntax/Parsing/Statements/VariableDeclarationNode.cs b/src/Syntax/Parsing/Statements/VariableDeclarationNode.cs
similarity index 65%
rename from src/syntax/Parsing/Statements/VariableDeclarationNode.cs
rename to src/Syntax/Parsing/Statements/VariableDeclarationNode.cs
index d5beed9..e9073bb 100644
--- a/src/syntax/Parsing/Statements/VariableDeclarationNode.cs
+++ b/src/Syntax/Parsing/Statements/VariableDeclarationNode.cs
@@ -1,9 +1,9 @@
-using Nub.Lang.Common;
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Tokenization;
-using Nub.Lang.Syntax.Typing;
+using common;
+using syntax.Parsing.Expressions;
+using syntax.Tokenization;
+using syntax.Typing;
-namespace Nub.Lang.Syntax.Parsing.Statements;
+namespace syntax.Parsing.Statements;
public class VariableDeclarationNode(IReadOnlyList tokens, string name, Optional explicitType, Optional value) : StatementNode(tokens)
{
diff --git a/src/syntax/Parsing/Statements/WhileNode.cs b/src/Syntax/Parsing/Statements/WhileNode.cs
similarity index 63%
rename from src/syntax/Parsing/Statements/WhileNode.cs
rename to src/Syntax/Parsing/Statements/WhileNode.cs
index 13aa304..f8e20ce 100644
--- a/src/syntax/Parsing/Statements/WhileNode.cs
+++ b/src/Syntax/Parsing/Statements/WhileNode.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Parsing.Expressions;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Parsing.Statements;
+namespace syntax.Parsing.Statements;
public class WhileNode(IReadOnlyList tokens, ExpressionNode condition, BlockNode body) : StatementNode(tokens)
{
diff --git a/src/syntax/Source.cs b/src/Syntax/Source.cs
similarity index 99%
rename from src/syntax/Source.cs
rename to src/Syntax/Source.cs
index 3cd0095..46bfc10 100644
--- a/src/syntax/Source.cs
+++ b/src/Syntax/Source.cs
@@ -1,6 +1,6 @@
using System.Diagnostics.CodeAnalysis;
-namespace Nub.Lang.Syntax;
+namespace syntax;
///
/// Represents a location in source code with line and column information.
diff --git a/src/syntax/syntax.csproj b/src/Syntax/Syntax.csproj
similarity index 74%
rename from src/syntax/syntax.csproj
rename to src/Syntax/Syntax.csproj
index 156b747..2261bfe 100644
--- a/src/syntax/syntax.csproj
+++ b/src/Syntax/Syntax.csproj
@@ -5,10 +5,11 @@
enable
enable
true
+ syntax
-
+
diff --git a/src/syntax/Tokenization/DocumentationToken.cs b/src/Syntax/Tokenization/DocumentationToken.cs
similarity index 69%
rename from src/syntax/Tokenization/DocumentationToken.cs
rename to src/Syntax/Tokenization/DocumentationToken.cs
index d0b4ccc..dc22931 100644
--- a/src/syntax/Tokenization/DocumentationToken.cs
+++ b/src/Syntax/Tokenization/DocumentationToken.cs
@@ -1,6 +1,4 @@
-using Nub.Lang.Common;
-
-namespace Nub.Lang.Syntax.Tokenization;
+namespace syntax.Tokenization;
public class DocumentationToken(SourceSpan span, string documentation) : Token(span)
{
diff --git a/src/syntax/Tokenization/IdentifierToken.cs b/src/Syntax/Tokenization/IdentifierToken.cs
similarity index 63%
rename from src/syntax/Tokenization/IdentifierToken.cs
rename to src/Syntax/Tokenization/IdentifierToken.cs
index 512a31c..7e5b652 100644
--- a/src/syntax/Tokenization/IdentifierToken.cs
+++ b/src/Syntax/Tokenization/IdentifierToken.cs
@@ -1,6 +1,4 @@
-using Nub.Lang.Common;
-
-namespace Nub.Lang.Syntax.Tokenization;
+namespace syntax.Tokenization;
public class IdentifierToken(SourceSpan span, string value) : Token(span)
{
diff --git a/src/syntax/Tokenization/LiteralToken.cs b/src/Syntax/Tokenization/LiteralToken.cs
similarity index 78%
rename from src/syntax/Tokenization/LiteralToken.cs
rename to src/Syntax/Tokenization/LiteralToken.cs
index 3ee15bd..cefbc98 100644
--- a/src/syntax/Tokenization/LiteralToken.cs
+++ b/src/Syntax/Tokenization/LiteralToken.cs
@@ -1,6 +1,4 @@
-using Nub.Lang.Common;
-
-namespace Nub.Lang.Syntax.Tokenization;
+namespace syntax.Tokenization;
public class LiteralToken(SourceSpan span, LiteralKind kind, string value) : Token(span)
{
diff --git a/src/syntax/Tokenization/ModifierToken.cs b/src/Syntax/Tokenization/ModifierToken.cs
similarity index 73%
rename from src/syntax/Tokenization/ModifierToken.cs
rename to src/Syntax/Tokenization/ModifierToken.cs
index fae5977..6cce6c6 100644
--- a/src/syntax/Tokenization/ModifierToken.cs
+++ b/src/Syntax/Tokenization/ModifierToken.cs
@@ -1,6 +1,4 @@
-using Nub.Lang.Common;
-
-namespace Nub.Lang.Syntax.Tokenization;
+namespace syntax.Tokenization;
public class ModifierToken(SourceSpan span, Modifier modifier) : Token(span)
{
diff --git a/src/syntax/Tokenization/SymbolToken.cs b/src/Syntax/Tokenization/SymbolToken.cs
similarity index 90%
rename from src/syntax/Tokenization/SymbolToken.cs
rename to src/Syntax/Tokenization/SymbolToken.cs
index 708adce..917e6f2 100644
--- a/src/syntax/Tokenization/SymbolToken.cs
+++ b/src/Syntax/Tokenization/SymbolToken.cs
@@ -1,6 +1,4 @@
-using Nub.Lang.Common;
-
-namespace Nub.Lang.Syntax.Tokenization;
+namespace syntax.Tokenization;
public class SymbolToken(SourceSpan span, Symbol symbol) : Token(span)
{
diff --git a/src/syntax/Tokenization/Token.cs b/src/Syntax/Tokenization/Token.cs
similarity index 57%
rename from src/syntax/Tokenization/Token.cs
rename to src/Syntax/Tokenization/Token.cs
index b76d8cb..77ca346 100644
--- a/src/syntax/Tokenization/Token.cs
+++ b/src/Syntax/Tokenization/Token.cs
@@ -1,6 +1,4 @@
-using Nub.Lang.Common;
-
-namespace Nub.Lang.Syntax.Tokenization;
+namespace syntax.Tokenization;
public abstract class Token(SourceSpan span)
{
diff --git a/src/syntax/Tokenization/Tokenizer.cs b/src/Syntax/Tokenization/Tokenizer.cs
similarity index 98%
rename from src/syntax/Tokenization/Tokenizer.cs
rename to src/Syntax/Tokenization/Tokenizer.cs
index 6fe56ba..4858e4b 100644
--- a/src/syntax/Tokenization/Tokenizer.cs
+++ b/src/Syntax/Tokenization/Tokenizer.cs
@@ -1,7 +1,7 @@
-using Nub.Lang.Common;
-using Nub.Lang.Syntax.Diagnostics;
+using common;
+using syntax.Diagnostics;
-namespace Nub.Lang.Syntax.Tokenization;
+namespace syntax.Tokenization;
public static class Tokenizer
{
diff --git a/src/syntax/Typing/NubType.cs b/src/Syntax/Typing/NubType.cs
similarity index 99%
rename from src/syntax/Typing/NubType.cs
rename to src/Syntax/Typing/NubType.cs
index 25d5a4f..6428088 100644
--- a/src/syntax/Typing/NubType.cs
+++ b/src/Syntax/Typing/NubType.cs
@@ -1,6 +1,6 @@
using System.Diagnostics.CodeAnalysis;
-namespace Nub.Lang.Syntax.Typing;
+namespace syntax.Typing;
public abstract class NubType
{
diff --git a/src/syntax/Typing/TypeChecker.cs b/src/Syntax/Typing/TypeChecker.cs
similarity index 98%
rename from src/syntax/Typing/TypeChecker.cs
rename to src/Syntax/Typing/TypeChecker.cs
index ff0d2f5..5963137 100644
--- a/src/syntax/Typing/TypeChecker.cs
+++ b/src/Syntax/Typing/TypeChecker.cs
@@ -1,12 +1,12 @@
using System.Diagnostics;
-using Nub.Lang.Syntax.Diagnostics;
-using Nub.Lang.Syntax.Parsing;
-using Nub.Lang.Syntax.Parsing.Definitions;
-using Nub.Lang.Syntax.Parsing.Expressions;
-using Nub.Lang.Syntax.Parsing.Statements;
-using Nub.Lang.Syntax.Tokenization;
+using syntax.Diagnostics;
+using syntax.Parsing;
+using syntax.Parsing.Definitions;
+using syntax.Parsing.Expressions;
+using syntax.Parsing.Statements;
+using syntax.Tokenization;
-namespace Nub.Lang.Syntax.Typing;
+namespace syntax.Typing;
public static class TypeChecker
{
diff --git a/src/syntax/Parsing/Statements/BreakNode.cs b/src/syntax/Parsing/Statements/BreakNode.cs
deleted file mode 100644
index e8e4300..0000000
--- a/src/syntax/Parsing/Statements/BreakNode.cs
+++ /dev/null
@@ -1,5 +0,0 @@
-using Nub.Lang.Syntax.Tokenization;
-
-namespace Nub.Lang.Syntax.Parsing.Statements;
-
-public class BreakNode(IReadOnlyList tokens) : StatementNode(tokens);
\ No newline at end of file
diff --git a/src/syntax/Parsing/Statements/ContinueNode.cs b/src/syntax/Parsing/Statements/ContinueNode.cs
deleted file mode 100644
index 3309119..0000000
--- a/src/syntax/Parsing/Statements/ContinueNode.cs
+++ /dev/null
@@ -1,5 +0,0 @@
-using Nub.Lang.Syntax.Tokenization;
-
-namespace Nub.Lang.Syntax.Parsing.Statements;
-
-public class ContinueNode(IReadOnlyList tokens) : StatementNode(tokens);
\ No newline at end of file
diff --git a/src/syntax/Parsing/Statements/StatementNode.cs b/src/syntax/Parsing/Statements/StatementNode.cs
deleted file mode 100644
index aaa2cea..0000000
--- a/src/syntax/Parsing/Statements/StatementNode.cs
+++ /dev/null
@@ -1,5 +0,0 @@
-using Nub.Lang.Syntax.Tokenization;
-
-namespace Nub.Lang.Syntax.Parsing.Statements;
-
-public abstract class StatementNode(IReadOnlyList tokens) : Node(tokens);
\ No newline at end of file