Path: csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Martin Gregorie Newsgroups: comp.lang.java.programmer Subject: Re: Forward references Date: Sun, 2 Oct 2016 22:37:01 -0000 (UTC) Organization: A noiseless patient Spider Lines: 26 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Sun, 2 Oct 2016 22:37:01 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="e5160e2be48f1ea550cf61512446f525"; logging-data="27790"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+nx8M5MeHKIBJBsw8Wpi7ChveaQbFfwG8=" User-Agent: Pan/0.140 (Chocolate Salty Balls; GIT 3663720 git://git.gnome.org/pan2) Cancel-Lock: sha1:4MhUGGzauPvi8jQMfrQ8JAbIe+o= Xref: csiph.com comp.lang.java.programmer:35692 On Sun, 02 Oct 2016 17:44:45 -0400, Jerry Stuckle wrote: > Stefan is correct. The preprocessor is not a compiler; neither is the > linker. And there was not a c->Assembler and assembler - every C > compiler I know of (at least since the mid 80's) generated machine code > directly, although most did have the option to output the assembler > code, also. There was not a separate assembler step. > There is in all K&R and gnu C compilers I've used. Its not normally visible because 'cc' or 'gcc' is a micro-OS that runs the compilation modules (pre, c translator, ...) as required by the supplied arguments and options. Thus it *looks* like a single step, but really isn't. Some of the other compilers, e.g. Borland, may differ. > And yes, the compiler is a one-pass compiler. It does not allow forward > references. > So shoot me. Been writing too much Java recently. Hopefully back to rather more C this winter. -- martin@ | Martin Gregorie gregorie. | Essex, UK org |