X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser_proc_grammar.y;h=4b099632ca04385684b975c305dc05d69378739b;hp=a4736937ac631c92f4aab9fcec775501e02e7b19;hb=3d77b5b65efb78c1da9485dfde1fcd417066b803;hpb=7fb50f31e25b1cc307ef59fb9cbfe71e4c2283c5 diff --git a/src/parser_proc_grammar.y b/src/parser_proc_grammar.y index a473693..4b09963 100644 --- a/src/parser_proc_grammar.y +++ b/src/parser_proc_grammar.y @@ -559,7 +559,13 @@ cpp_macro_sig[sig]: %empty { $sig = psi_plist_init(NULL); } +| ELLIPSIS { + $sig = psi_plist_init(NULL); /* FIXME */ +} | cpp_macro_sig_args +| cpp_macro_sig_args[args] COMMA ELLIPSIS { + $sig = $args; +} ; cpp_macro_sig_args[args]: @@ -1458,6 +1464,9 @@ array_size[as]: %empty { $as = 0; } +| LBRACKET RBRACKET { + $as = 0; +} | LBRACKET NUMBER RBRACKET { $as = atol($NUMBER->text); } @@ -1480,14 +1489,19 @@ pointers[p]: ; asterisks[a]: - ASTERISK { + asterisk { $a = 1; } -| asterisks[a_] ASTERISK { +| asterisks[a_] asterisk { $a = $a_ + 1; } ; +asterisk: + ASTERISK +| ASTERISK CONST +; + /* * * impl