//! TODO: Lexing functionality. Intentionally separate from parsing. const std = @import("std"); // Unresolved questions: OOP stateful nonsense or can we just have A Function? /// TODO: Process a code string into a flat array of tokens. pub fn lex(allocator: std.mem.Allocator, code: []const u8) !std.ArrayList(Lexeme) { _ = allocator; _ = code; return error.Todo; } pub const Lexeme = struct { text: []const u8, kind: Kind, const Kind = enum { l_paren, r_paren, identifier, number, string, inert, ignore, }; };