Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › std/ › zig/ › Parse.zig › parseAsmOutputItem
parseAsmOutputItem
Parse.parseAsmOutputItem
fn parseAsmOutputItem (p : *Parse ) !?Node .Index
File
Code
fn parseAsmOutputItem (p : *Parse ) !?Node .Index {
_ = p .eatToken (.l_bracket ) orelse return null ;
const identifier = try p .expectToken (.identifier );
_ = try p .expectToken (.r_bracket );
_ = try p .expectToken (.string_literal );
_ = try p .expectToken (.l_paren );
const type_expr : Node .OptionalIndex = blk : {
if (p .eatToken (.arrow )) |_ | {
break :blk .fromOptional (try p .expectTypeExpr ());
} else {
_ = try p .expectToken (.identifier );
break :blk .none ;
}
};
const rparen = try p .expectToken (.r_paren );
return try p .addNode (.{
.tag = .asm_output ,
.main_token = identifier ,
.data = .{ .opt_node_and_token = .{
type_expr ,
rparen ,
} },
});
}