| Deutsch English Français Italiano |
|
<87wmg5x4b1.fsf@nosuchdomain.example.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.misty.com!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Keith Thompson <Keith.S.Thompson+u@gmail.com>
Newsgroups: comp.lang.c
Subject: Re: question about linker
Date: Wed, 11 Dec 2024 14:06:42 -0800
Organization: None to speak of
Lines: 25
Message-ID: <87wmg5x4b1.fsf@nosuchdomain.example.com>
References: <vi54e9$3ie0o$1@dont-email.me> <vifcll$1q9rj$1@dont-email.me>
<vifiib$1s07p$1@dont-email.me> <87ldwx10gv.fsf@bsb.me.uk>
<vimtt4$27vv$1@dont-email.me> <86ser1kgp5.fsf@linuxsc.com>
<vit69t$1qfgg$1@dont-email.me>
<87ldwtzlc0.fsf@nosuchdomain.example.com>
<vitjgg$1tukq$2@dont-email.me> <vj1bss$325uo$1@dont-email.me>
<vj1h4i$335q1$2@dont-email.me> <vj1mhi$34p7h$1@dont-email.me>
<vj1prj$35je4$1@dont-email.me> <vj7dup$he7i$1@dont-email.me>
<vjasuj$17uod$1@dont-email.me> <vjc87h$1apid$1@paganini.bofh.team>
<vjcbe1$1jns0$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Wed, 11 Dec 2024 23:06:43 +0100 (CET)
Injection-Info: dont-email.me; posting-host="b8deb8975f5616f4b2f2cf852414337d";
logging-data="1823554"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18mPiUwWQvgfVwmUrwuBZqJ"
User-Agent: Gnus/5.13 (Gnus v5.13)
Cancel-Lock: sha1:nkMoWJYKHm9n+Czh+BdInlAy5pM=
sha1:nHomHqO5bja+7CduZatcHozUPcQ=
Bytes: 2465
bart <bc@freeuk.com> writes:
[...]
> You need input from a symbol table in order to parse C, a table that
> the parser needs to maintain as it processes source code. That will
> tell you whether a particular identifier is a typename or not.
Yes. (I've mentioned this a number of times.)
> There are issues also with keywords like 'break'.
What issues?
If you're referring to the fact that a break statement can occur only
within a loop or switch, I don't see the problem. A break statement
that's not within a loop or switch is a constraint violation, not a
syntax error. I've never heard of a C compiler having any difficulty
diagnosing it correctly.
If you're referring to the fact that break can apply either to a loop or
to a switch, that's a potential source of confusion, but it shouldn't be
a problem once you're aware of it.
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */