aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorVexu <git@vexu.eu>2020-11-22 21:15:12 +0200
committerVexu <git@vexu.eu>2020-11-22 21:30:09 +0200
commit98d5bfbd4d21e99363a0a68ef5a0d0104c302ecb (patch)
tree72054da66b60a355470f2d5d50f4a8cd5f522cfc /lib
parent2fbe9519acec0d7b9c9dcc41a877fec912337124 (diff)
downloadzig-98d5bfbd4d21e99363a0a68ef5a0d0104c302ecb.tar.gz
zig-98d5bfbd4d21e99363a0a68ef5a0d0104c302ecb.zip
update grammar in langref
Diffstat (limited to 'lib')
-rw-r--r--lib/std/zig/parse.zig9
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)) |_|