Sponsored Content
Top Forums Programming How Can a Machine Reads a Compiler Since A Compiler is Written in Text! Not Binaries? Post 302257985 by f.ben.isaac on Thursday 13th of November 2008 01:41:50 PM
Old 11-13-2008
Quote:
Originally Posted by jim mcnamara
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.

>>You can write a binary executable directly in hex,

And HEX, so what translates these hexes to binaries for the compiler?
If a agree with you, writing in binary 1 & 0 will make machine understand what do you want to do! There has to be convertion between hexes to binaries and since hex is not binaries, what does the conversion! Machine does not giva a damn to anything else except if there is another binary written as a translator who translates hexes back to binary. Any idea?

I'm very new to this, i ask in a very dummy questions to know the basics - only overview, no technical stuff....

THANKS
 

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
HTML::Mason::Lexer(3pm) 				User Contributed Perl Documentation				   HTML::Mason::Lexer(3pm)

NAME
HTML::Mason::Lexer - Generates events based on component source lexing SYNOPSIS
my $lexer = HTML::Mason::Lexer->new; $lexer->lex( comp_source => $source, name => $comp_name, compiler => $compiler ); DESCRIPTION
The Lexer works in tandem with the Compiler to turn Mason component source into something else, generally Perl code. As the lexer finds component elements, like a tag or block, it calls the appropriate event methods in the compiler object it was given. It has only a few public methods. You can replace this lexer with one of your own simply by telling the Compiler to use a different lexer class. Your lexer class simply needs to call the appropriate methods in the Component Class's API as it scans the source. METHODS
The lexer has very few public methods. new This method creates a new Lexer object. This methods takes no parameters. lex ( comp_source => ..., name => ..., compiler => ... ) This method tells the lexer to start scanning the given component source. All of these parameters are required. The "name" parameter will be used in any error messages generated during lexing. The "compiler" object must be an object that implements the Mason Component API. line_number The current line number that the lexer has reached. name The name of the component currently being lexed. throw_syntax_error ($error) This throws an "HTML::Mason::Exception::Syntax" error with the given error message as well as additional information about the component source. This method is used by both the Lexer and the Compiler. SUBCLASSING
Any subclass of the lexer should declare itself to be a subclass of "HTML::Mason::Lexer", even if it plans to override all of its public methods. If you want your subclass to work with the existing Compiler classes in Mason, you must implement the methods listed above. If you plan to use a custom Compiler class that you're writing, you can do whatever you want. We recommend that any parameters you add to Lexer be read-only, because the compiler object_id is only computed once on creation and would not reflect any changes to Lexer parameters. perl v5.14.2 2012-02-04 HTML::Mason::Lexer(3pm)
All times are GMT -4. The time now is 03:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy