Command parsing

This commit is contained in:
Robin Voetter
2020-06-10 20:10:27 +02:00
parent f2b787ff86
commit 649e855d4e
3 changed files with 85 additions and 13 deletions

View File

@@ -217,10 +217,6 @@ pub const XmlCTokenizer = struct {
}
};
const PointerInfo = struct {
is_const: bool,
};
// TYPEDEF = kw_typedef DECLARATION ';'
pub fn parseTypedef(allocator: *Allocator, xctok: *XmlCTokenizer) !registry.Declaration {
_ = try xctok.expect(.kw_typedef);
@@ -261,6 +257,14 @@ pub fn parseMember(allocator: *Allocator, xctok: *XmlCTokenizer) !registry.Conta
return field;
}
pub fn parseParamOrProto(allocator: *Allocator, xctok: *XmlCTokenizer) !registry.Declaration {
const decl = try parseDeclaration(allocator, xctok);
if (try xctok.peek()) |_| {
return error.InvalidSyntax;
}
return decl;
}
// DECLARATION = kw_const? type_name DECLARATOR
// DECLARATOR = POINTERS (id | name) ('[' ARRAY_DECLARATOR ']')*
// | POINTERS '(' kw_vkapi_ptr '*' name' ')' // TODO