authorgravatar for jhc@dismail.deJimmi Holst Christensen <jhc@dismail.de> 2018-04-10 15:01:21+02:00
committergravatar for jhc@dismail.deJimmi Holst Christensen <jhc@dismail.de> 2018-04-10 15:01:21+02:00
logaa09e7b63995639084d25329954b1972a72ad12d
treeec7b6e78cc7deac1d185f97fb83861356a79f019
parent3b80e665074cd56d9e24fb8ae0fb9d86e8cd841a

std.zig.tokinizer now treats string identifiers as identifiers


2 files changed, 10 insertions(+), 3 deletions(-)

std/zig/parser.zig+8
......@@ -5041,3 +5041,11 @@ test "zig fmt: use" {
50415041 \\
50425042 );
50435043}
5044
5045test "zig fmt: string identifier" {
5046 try testCanonical(
5047 \\const @"a b" = @"c d".@"e f";
5048 \\fn @"g h"() void {}
5049 \\
5050 );
5051}
std/zig/tokenizer.zig+2-3
......@@ -78,7 +78,6 @@ pub const Token = struct {
7878 StringLiteral: StrLitKind,
7979 MultilineStringLiteralLine: StrLitKind,
8080 CharLiteral,
81 StringIdentifier,
8281 Eof,
8382 Builtin,
8483 Bang,
......@@ -434,7 +433,7 @@ pub const Tokenizer = struct {
434433
435434 State.SawAtSign => switch (c) {
436435 '"' => {
437 result.id = Token.Id.StringIdentifier;
436 result.id = Token.Id.Identifier;
438437 state = State.StringLiteral;
439438 },
440439 else => {
......@@ -1136,7 +1135,7 @@ test "tokenizer - string identifier and builtin fns" {
11361135 ,
11371136 []Token.Id{
11381137 Token.Id.Keyword_const,
1139 Token.Id.StringIdentifier,
1138 Token.Id.Identifier,
11401139 Token.Id.Equal,
11411140 Token.Id.Builtin,
11421141 Token.Id.LParen,