Shigio,
On Apr 24, 2011, at 2:23 AM, "Shigio YAMAGUCHI" <[email protected]> wrote:
>> That seems a little dangerous to me. I could easily see someone adding an e=
>> xtra line after a function definition by accident, and being completely con=
>> fused when that function doesn't show up. (leading to another bug report..)
>> ...
>>
>> Alternatively, would it be possible to use the semicolon at the end of the S=
>> TRUCT_DEF_MACRO to stop the parsing of that function? (so we move on to the
>> n=
>> ext function..)
>>
>> The rule should be something like: If we hit a semicolon, and we don't have=
>> any open braces, then consider the function to be complete..
>
> It is a good rule.
> However, may I throw away K&R style?
Ouch. Yeah... we don't want to do that. I think we need k&r support.
>
> 1. ANSI style
> -------------
>
> int
> main(int argc, char **argv) {
> printf("Hello\n");
> }
>
> 2. K&R(old) style
> -----------------
>
> int
> main(argc, argv)
> int argc;
> char **argv;
> {
> printf("Hello\n");
> }
>
> If we need not support K&R, I would like to adopt your rule.
> What do you think?
Ok.. Ok. How about THIS rule.. (if this even possible?)
If we see a semicolon, AND then we see an open paren BEFORE we see an open
brace, we know the token before the paren is a function and the previous
function is complete?
That would catch this:
A() bob;
int foo() <==== this paren means the previous symbol is complete
{
}
...
But not k and r:
A(bar)
int bar;
{
}
> --
> Shigio YAMAGUCHI <[email protected]>
> PGP fingerprint: D1CB 0B89 B346 4AB6 5663 C4B6 3CA5 BBB3 57BE DDA3
Cheers,
--Phil
_______________________________________________
Bug-global mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-global