X-Git-Url: https://git.ayoreis.com/zlox.git/blobdiff_plain/6d286699938880d7a1482be65e5e4771788c6b6f..e07eaf5e064b9f42a95b7cf47f7a0cb38bccd8ba:/src/Parser.zig diff --git a/src/Parser.zig b/src/Parser.zig index a584c3f..7b5a311 100644 --- a/src/Parser.zig +++ b/src/Parser.zig @@ -27,9 +27,9 @@ pub fn deinit(self: *Parser) void { pub fn parse(self: *Parser) !?*Expr { self.allocator = self.arena.allocator(); - return self.expression() catch |err| switch (err) { + return self.expression() catch |err2| switch (err2) { error.ParseError => return null, - else => return err, + else => return err2, }; } @@ -102,7 +102,7 @@ fn unary(self: *Parser) !*Expr { return expr; } - return try self.primary(); + return self.primary(); } fn primary(self: *Parser) !*Expr { @@ -138,7 +138,7 @@ fn primary(self: *Parser) !*Expr { return grouping; } - try self.@"error"(self.peek(), "Expect expression."); + try self.err(self.peek(), "Expect expression."); } fn match(self: *Parser, types: []const TokenType) bool { @@ -155,7 +155,7 @@ fn match(self: *Parser, types: []const TokenType) bool { fn consume(self: *Parser, @"type": TokenType, message: []const u8) !Token { if (self.check(@"type")) return self.advance(); - try self.@"error"(self.peek(), message); + try self.err(self.peek(), message); } fn check(self: *Parser, @"type": TokenType) bool { @@ -180,8 +180,8 @@ fn previous(self: *Parser) Token { return self.tokens[self.current - 1]; } -fn @"error"(self: *Parser, token: Token, message: []const u8) !noreturn { - try lox.parse_error(self.allocator, token, message); +fn err(self: *Parser, token: Token, message: []const u8) !noreturn { + try lox.parseError(self.allocator, token, message); return error.ParseError; }