Compiling -- gcc -- Lex & Yacc
Rick Stevens
ricks at nerd.com
Tue Jul 22 17:56:49 UTC 2008
William Case wrote:
> Hi;
>
> I am working my way through the compiling process. I want to be precise
> about my question so that responders do not waste time on answering the
> wrong question.
>
> Where can I find/see which preprocessor, lexical analysiser, parser etc.
> the gcc compliler is using in Fedora? What order are they being used in
> and any other instructions or agruments that are being passed to them by
> gcc (the compiler) besides the original/modified code?
>
> I have gone through 'info gcc' but that does not seem to lead to the
> answer of my specific question. I have read as much as I could
> regarding 'make'. That didn't seem to have an answer either. Maybe I
> missed it!
>
> I know the answers, from reading patches and pieces (cpp, lex and Yacc
> -- I think). But seeing is believing. Somewhere (which I can't seem to
> find) there must be a declaration, or official text or manual that says
> for sure that I have a certain version of gcc that definetly calls on
> these specific programs.
>
> All the reading I have which explains adequately what each program does
> only has a generalized definition (eg. first a preprocessor is used,
> then some lexical analysiser, followed by a parser etc.). I also have
> manuals on cpp and lex and yacc. But the two, gcc and the component
> program are never connected. I want to look somewhere, preferably on
> my system that says your system uses such and such.
>
> It would be nice if there was a nice little script that said:
>
> make /myprogram | cpp | lex | yacc | ld | asm > myexcprogam.
>
> I know it doesn't exist, so how would I fill in the information myself?
>
> Where can/do I look?
cpp, was CREATED using lex and yacc (or more correctly, their Gnu
replacements flex and bison), but it doesn't use them itself. cpp
expects C or C++ source, with appropriate escapes to put in in-line
assembly code. It does eventually call the assembler ("as") and the
linker ("ld"). Your makefile may also send the code to the librarian
("ar") to create libraries.
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer rps2 at nerd.com -
- Hosting Consulting, Inc. -
- -
- A day for firm decisions!!! Well, then again, maybe not! -
----------------------------------------------------------------------
More information about the users
mailing list