From 3b5e552d7d232e01470dca496465b14069cb97c1 Mon Sep 17 00:00:00 2001 From: Matthias Kruk Date: Sat, 11 Jul 2020 17:59:14 +0900 Subject: [PATCH] parser: Implement parsing of specifier-qualifier-lists --- src/parser.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/parser.c b/src/parser.c index cfc67c9..fecb569 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1330,3 +1330,27 @@ struct argument_expression_list *parse_argument_expression_list(void) return(NULL); } + +struct specifier_qualifier_list *parse_specifier_qualifier_list(void) +{ + struct specifier_qualifier_list *sql; + + sql = specifier_qualifier_list_new(); + + if(!sql) { + return(NULL); + } + + if(!(sql->tspec = parse_type_specifier())) { + sql->tqual = parse_type_qualifier(); + } + + if(!sql->tspec && !sql->tqual) { + specifier_qualifier_list_free(sql); + return(NULL); + } + + sql->next = parse_specifier_qualifier_list(); + + return(sql); +} -- 2.47.3