Sponsored Content
Top Forums Programming How Can a Machine Reads a Compiler Since A Compiler is Written in Text! Not Binaries? Post 302257865 by jim mcnamara on Thursday 13th of November 2008 08:30:16 AM
Old 11-13-2008
You are asking the chicken & egg question - which comes first?
You can write a binary executable directly in hex, so very early assemblers (which are compilers) were written that way. There also were link editors as well. ld for example.

I like Corona's explanation. I think at one time I read that as well.

Most compilers are based on lex & yacc. Read about those.
 

We Also Found This Discussion For You

1. Programming

C compiler to build Sparc/Solaris binaries on Linux

Just that the Subject says. I am looking for a C compiler for Linux x86 that will allow me to compile a C source code file and the resulting binary will be able to run on a Sparc running Solaris. Thanks. (2 Replies)
Discussion started by: lyonsd
2 Replies
lex(1)							      General Commands Manual							    lex(1)

Name
       lex - generate lexical analyzer

Syntax
       lex [-tvfn] file...

Description
       The  command  generates	programs  to be used in simple lexical analysis of text.  The input files (standard input default) contain regular
       expressions to be searched for, and actions written in C to be executed when expressions are found.

       A C source program, 'lex.yy.c', is generated.  It is compiled using the following command line:
       cc lex.yy.c -ll
       This program copies unrecognized portions of the input to the output, and executes the associated C action for each regular expression that
       is recognized.

Options
       -f   Runs a faster compilation (does not pack resulting tables).  This is limited to small programs.

       -n   Prints no summary information (default option).

       -t   Writes to standard output instead of to file

       -v   Prints one-line summary of generated statistics.

Examples
       In the following example, the command
       lex lexcommands
       draws instructions from the file lexcommands, and places the output in lex.yy.c.  The command
       %%
       [A-Z]	 putchar(yytext[0]+'a'-'A');
       [ ]+$
       [ ]+ putchar(' ');

       is  an example of a program that would be put into a command file.  This program converts upper case to lower, removes blanks at the end of
       lines, and replaces multiple blanks by single blanks.

See Also
       sed(1), yacc(1)
       "LEX - Lexical Analyzer Generator", Supplementary Documents, Volume 2: Programmer

																	    lex(1)
All times are GMT -4. The time now is 10:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy