]> git.corax.cc Git - ccc/commitdiff
parser: Implement parsing of specifier-qualifier-lists
authorMatthias Kruk <m@m10k.eu>
Sat, 11 Jul 2020 08:59:14 +0000 (17:59 +0900)
committerMatthias Kruk <m@m10k.eu>
Sat, 11 Jul 2020 08:59:14 +0000 (17:59 +0900)
src/parser.c

index cfc67c9739eb4e8f039346f8b15bc22661761224..fecb5691d18b414baf8fda2813b1942148bed9b4 100644 (file)
@@ -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);
+}