diff options
| author | Vexu <git@vexu.eu> | 2020-11-22 21:15:12 +0200 |
|---|---|---|
| committer | Vexu <git@vexu.eu> | 2020-11-22 21:30:09 +0200 |
| commit | 98d5bfbd4d21e99363a0a68ef5a0d0104c302ecb (patch) | |
| tree | 72054da66b60a355470f2d5d50f4a8cd5f522cfc /lib | |
| parent | 2fbe9519acec0d7b9c9dcc41a877fec912337124 (diff) | |
| download | zig-98d5bfbd4d21e99363a0a68ef5a0d0104c302ecb.tar.gz zig-98d5bfbd4d21e99363a0a68ef5a0d0104c302ecb.zip | |
update grammar in langref
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/std/zig/parse.zig | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/std/zig/parse.zig b/lib/std/zig/parse.zig index d36bf55ecd..411273b149 100644 --- a/lib/std/zig/parse.zig +++ b/lib/std/zig/parse.zig @@ -488,7 +488,7 @@ const Parser = struct { return &node.base; } - /// FnProto <- KEYWORD_fn IDENTIFIER? LPAREN ParamDeclList RPAREN ByteAlign? LinkSection? EXCLAMATIONMARK? (Keyword_anytype / TypeExpr) + /// FnProto <- KEYWORD_fn IDENTIFIER? LPAREN ParamDeclList RPAREN ByteAlign? LinkSection? CallConv? EXCLAMATIONMARK? (Keyword_anytype / TypeExpr) fn parseFnProto(p: *Parser, level: enum { top_level, as_type }, fields: struct { doc_comments: ?*Node.DocComment = null, visib_token: ?TokenIndex = null, @@ -1023,7 +1023,7 @@ const Parser = struct { return p.parseBinOpExpr(parseAssignOp, parseExpr, .Once); } - /// Expr <- KEYWORD_try* BoolOrExpr + /// Expr <- BoolOrExpr fn parseExpr(p: *Parser) Error!?*Node { return p.parsePrefixOpExpr(parseTry, parseBoolOrExpr); } @@ -2758,7 +2758,7 @@ const Parser = struct { rparen: TokenIndex, }; - /// ArrayTypeStart <- LBRACKET Expr? RBRACKET + /// ArrayTypeStart <- LBRACKET Expr? (COLON Expr)? RBRACKET fn parseArrayTypeStart(p: *Parser) !?*Node { const lbracket = p.eatToken(.LBracket) orelse return null; const expr = try p.parseExpr(); @@ -2803,8 +2803,7 @@ const Parser = struct { /// PtrTypeStart /// <- ASTERISK /// / ASTERISK2 - /// / PTRUNKNOWN - /// / PTRC + /// / LBRACKET ASTERISK (LETTERC / COLON Expr)? RBRACKET fn parsePtrTypeStart(p: *Parser) !?*Node { if (p.eatToken(.Asterisk)) |asterisk| { const sentinel = if (p.eatToken(.Colon)) |_| |
