summaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/main.zig b/src/main.zig
index 05dde7d..b51b170 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -5,6 +5,12 @@ const gen = @import("codegen.zig");
const symb = @import("symtable.zig");
pub fn main() !void {
+ var gpa = std.heap.GeneralPurposeAllocator(.{}){};
+ const alc = gpa.allocator();
+ defer _ = gpa.deinit();
+ var arena = std.heap.ArenaAllocator.init(alc);
+ defer arena.deinit();
+ var allocator = arena.allocator();
if (std.os.argv.len < 2) {
std.debug.print(
\\info: Usage: calico [input file]
@@ -13,10 +19,6 @@ pub fn main() !void {
return;
}
- var gpa = std.heap.GeneralPurposeAllocator(.{}){};
- var allocator = gpa.allocator();
- defer _ = gpa.deinit();
-
var args = std.process.args();
_ = args.skip();
const inputFileName = args.next();
@@ -47,8 +49,7 @@ pub fn main() !void {
const tokens = try tokenizer.tokenize();
// Parse
- var arena = std.heap.ArenaAllocator.init(allocator);
- defer arena.deinit();
+ // var arena = std.heap.ArenaAllocator.init(allocator);
const symbTable = try initSymbolTable(arena.allocator());
var parser = parse.Parser.init(arena.allocator(), tokens, symbTable);