aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2021-08-28 10:54:14 -0700
committerAndrew Kelley <andrew@ziglang.org>2021-08-28 12:10:55 -0700
commit05cf44933d753f7a5a53ab289ea60fd43761de57 (patch)
tree41c6fd4776628161769f26161baa36d77ba1c47c /src
parent6a6e2cd64f3ebb1919dd0ac53d8a1f29c56e6ec2 (diff)
downloadzig-05cf44933d753f7a5a53ab289ea60fd43761de57.tar.gz
zig-05cf44933d753f7a5a53ab289ea60fd43761de57.zip
stage2: delete keywords `true`, `false`, `undefined`, `null`
The grammar does not need these as keywords; they are merely primitives provided by the language the same as `void`, `u32`, etc.
Diffstat (limited to 'src')
-rw-r--r--src/AstGen.zig20
-rw-r--r--src/translate_c/ast.zig20
2 files changed, 10 insertions, 30 deletions
diff --git a/src/AstGen.zig b/src/AstGen.zig
index a425540a38..0a34e9a0ca 100644
--- a/src/AstGen.zig
+++ b/src/AstGen.zig
@@ -370,10 +370,6 @@ fn lvalExpr(gz: *GenZir, scope: *Scope, node: ast.Node.Index) InnerError!Zir.Ins
.bool_not,
.address_of,
.float_literal,
- .undefined_literal,
- .true_literal,
- .false_literal,
- .null_literal,
.optional_type,
.block,
.block_semicolon,
@@ -759,10 +755,6 @@ fn expr(gz: *GenZir, scope: *Scope, rl: ResultLoc, node: ast.Node.Index) InnerEr
const result = try expr(gz, scope, .ref, node_datas[node].lhs);
return rvalue(gz, rl, result, node);
},
- .undefined_literal => return rvalue(gz, rl, .undef, node),
- .true_literal => return rvalue(gz, rl, .bool_true, node),
- .false_literal => return rvalue(gz, rl, .bool_false, node),
- .null_literal => return rvalue(gz, rl, .null_value, node),
.optional_type => {
const operand = try typeExpr(gz, scope, node_datas[node].lhs);
const result = try gz.addUnNode(.optional_type, operand, node);
@@ -7852,10 +7844,6 @@ fn nodeMayNeedMemoryLocation(tree: *const ast.Tree, start_node: ast.Node.Index)
.string_literal,
.multiline_string_literal,
.char_literal,
- .true_literal,
- .false_literal,
- .null_literal,
- .undefined_literal,
.unreachable_literal,
.identifier,
.error_set_decl,
@@ -8092,10 +8080,6 @@ fn nodeMayEvalToError(tree: *const ast.Tree, start_node: ast.Node.Index) enum {
.string_literal,
.multiline_string_literal,
.char_literal,
- .true_literal,
- .false_literal,
- .null_literal,
- .undefined_literal,
.unreachable_literal,
.error_set_decl,
.container_decl,
@@ -8265,10 +8249,6 @@ fn nodeImpliesRuntimeBits(tree: *const ast.Tree, start_node: ast.Node.Index) boo
.string_literal,
.multiline_string_literal,
.char_literal,
- .true_literal,
- .false_literal,
- .null_literal,
- .undefined_literal,
.unreachable_literal,
.identifier,
.error_set_decl,
diff --git a/src/translate_c/ast.zig b/src/translate_c/ast.zig
index e1da1c7d05..1058936191 100644
--- a/src/translate_c/ast.zig
+++ b/src/translate_c/ast.zig
@@ -928,23 +928,23 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {
return renderCall(c, lhs, payload.args);
},
.null_literal => return c.addNode(.{
- .tag = .null_literal,
- .main_token = try c.addToken(.keyword_null, "null"),
+ .tag = .identifier,
+ .main_token = try c.addToken(.identifier, "null"),
.data = undefined,
}),
.undefined_literal => return c.addNode(.{
- .tag = .undefined_literal,
- .main_token = try c.addToken(.keyword_undefined, "undefined"),
+ .tag = .identifier,
+ .main_token = try c.addToken(.identifier, "undefined"),
.data = undefined,
}),
.true_literal => return c.addNode(.{
- .tag = .true_literal,
- .main_token = try c.addToken(.keyword_true, "true"),
+ .tag = .identifier,
+ .main_token = try c.addToken(.identifier, "true"),
.data = undefined,
}),
.false_literal => return c.addNode(.{
- .tag = .false_literal,
- .main_token = try c.addToken(.keyword_false, "false"),
+ .tag = .identifier,
+ .main_token = try c.addToken(.identifier, "false"),
.data = undefined,
}),
.zero_literal => return c.addNode(.{
@@ -1599,8 +1599,8 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {
const while_tok = try c.addToken(.keyword_while, "while");
_ = try c.addToken(.l_paren, "(");
const cond = try c.addNode(.{
- .tag = .true_literal,
- .main_token = try c.addToken(.keyword_true, "true"),
+ .tag = .identifier,
+ .main_token = try c.addToken(.identifier, "true"),
.data = undefined,
});
_ = try c.addToken(.r_paren, ")");