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 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: <87ldwx10gv.fsf@bsb.me.uk> <86ser1kgp5.fsf@linuxsc.com> <87ldwtzlc0.fsf@nosuchdomain.example.com> 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 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 */