using NubLang.Tokenization; namespace NubLang.Parsing.Syntax; public abstract record SyntaxNode(IEnumerable Tokens); public record SyntaxTreeMetadata(string? ModuleName, IReadOnlyList Imports); public record SyntaxTree(IReadOnlyList Definitions, SyntaxTreeMetadata Metadata); public record BlockSyntax(IEnumerable Tokens, IReadOnlyList Statements) : SyntaxNode(Tokens);