mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
parser: get rid of "invalid token" error
This commit is contained in:
parent
9c36cf92f0
commit
35e989235b
2 changed files with 6 additions and 11 deletions
|
|
@ -291,11 +291,6 @@ pub fn renderError(tree: Ast, parse_error: Error, stream: anytype) !void {
|
|||
.invalid_bit_range => {
|
||||
return stream.writeAll("bit range not allowed on slices and arrays");
|
||||
},
|
||||
.invalid_token => {
|
||||
return stream.print("invalid token: '{s}'", .{
|
||||
token_tags[parse_error.token].symbol(),
|
||||
});
|
||||
},
|
||||
.same_line_doc_comment => {
|
||||
return stream.writeAll("same line documentation comment");
|
||||
},
|
||||
|
|
@ -2515,7 +2510,6 @@ pub const Error = struct {
|
|||
extra_volatile_qualifier,
|
||||
ptr_mod_on_array_child_type,
|
||||
invalid_bit_range,
|
||||
invalid_token,
|
||||
same_line_doc_comment,
|
||||
unattached_doc_comment,
|
||||
varargs_nonfinal,
|
||||
|
|
|
|||
|
|
@ -1437,7 +1437,8 @@ const Parser = struct {
|
|||
}
|
||||
const rhs = try p.parseExprPrecedence(info.prec + 1);
|
||||
if (rhs == 0) {
|
||||
return p.fail(.invalid_token);
|
||||
try p.warn(.expected_expr);
|
||||
return node;
|
||||
}
|
||||
|
||||
node = try p.addNode(.{
|
||||
|
|
@ -1916,7 +1917,7 @@ const Parser = struct {
|
|||
|
||||
/// IfExpr <- IfPrefix Expr (KEYWORD_else Payload? Expr)?
|
||||
fn parseIfExpr(p: *Parser) !Node.Index {
|
||||
return p.parseIf(parseExpr);
|
||||
return p.parseIf(expectExpr);
|
||||
}
|
||||
|
||||
/// Block <- LBRACE Statement* RBRACE
|
||||
|
|
@ -2384,7 +2385,7 @@ const Parser = struct {
|
|||
|
||||
.builtin => return p.parseBuiltinCall(),
|
||||
.keyword_fn => return p.parseFnProto(),
|
||||
.keyword_if => return p.parseIf(parseTypeExpr),
|
||||
.keyword_if => return p.parseIf(expectTypeExpr),
|
||||
.keyword_switch => return p.expectSwitchExpr(),
|
||||
|
||||
.keyword_extern,
|
||||
|
|
@ -3577,7 +3578,7 @@ const Parser = struct {
|
|||
_ = try p.parsePtrPayload();
|
||||
|
||||
const then_expr = try bodyParseFn(p);
|
||||
if (then_expr == 0) return p.fail(.invalid_token);
|
||||
assert(then_expr != 0);
|
||||
|
||||
_ = p.eatToken(.keyword_else) orelse return p.addNode(.{
|
||||
.tag = .if_simple,
|
||||
|
|
@ -3589,7 +3590,7 @@ const Parser = struct {
|
|||
});
|
||||
_ = try p.parsePayload();
|
||||
const else_expr = try bodyParseFn(p);
|
||||
if (else_expr == 0) return p.fail(.invalid_token);
|
||||
assert(then_expr != 0);
|
||||
|
||||
return p.addNode(.{
|
||||
.tag = .@"if",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue