Mobile Cloning

Only available on StudyMode
  • Topic: Compiler, Parsing, Compiler optimization
  • Pages : 28 (4981 words )
  • Download(s) : 106
  • Published : March 3, 2013
Open Document
Text Preview
Compiler Design
UNIT 1

1 What is compiler?
Ans:- A compiler is a program that translates human readable source code into computer executable machine code. To do this successfully the human readable code must c omply with the syntax rules of whichever programming language it is written in. The compiler is only a program and cannot fix your programs for you. If you make a mistake, you have to correc t the syntax or it won't compile

2 compare NFA and DFA ?
Ans:DFA- single value transition function is represented
- it take more memory space
- number of state is more
- it not support null move
- backtracking is possible
-dfa is faster recognizer
NFA- multi value transition function is represented
- it take less memory space
- number of state is less
- it support null moves
- backtrakin is possible some cases
- nfa is slower recognizer
3 Define bootstrap and cross compiler?
Ans:- Bootstrap:In computing, bootstrapping (from an old expression "to pull oneself up by one's bootstraps") is a technique by which a simple computer program activates a more complicated system of programs. In the start up process of a computer system, a small program (such as BIOS) initializes and tests that a basic requirement of hardware, peripherals and external memory devices are connected. Cross compiler:A compiler that runs on one computer but produces object code for a different type of computer. Cross compilers are used to generate software that can run on computers with a new architecture or on specialpurpose devices that cannot host their own compilers. 4 Define token lexeme pattern ?

Ans:- Token-A lexical token is a sequence of characters that can be treated as a unit in the grammar of the programming languages.
Example of tokens:
Type token (id, num, real, . . . )
Punctuation tokens (IF, void, return, . . . )
Alphabetic tokens (keywords)
Example of non-tokens:
Comments, preprocessor directive, macros, blanks, tabs, newline, . . .

Lexeme-A lexeme is a sequence of characters in the source program that is matched by the pattern for a token.

For example, the pattern for the RELOP token contains six lexemes ( =, < >, , >=) so the lexical analyzer should return a RELOP token to parser whenever it sees any one of the six. Pattern-There is a set of strings in the input for which the sam e token is produced as output. This set of strings is described by a rule called a pattern associated with the token. Regular expressions are an important notation for specifying patterns. For example, the pattern for the Pascal identifier token, id, is: i d → letter (letter | digit)*. 5 What is compilation ? Describe phase of compiler with diagram . Compilation :- 1 the action or process of compiling.

2 a thing, especially a book or record, compiled from different sources. Phase of compiler:- There are 6 phases a typical compiler will implement. The major reason why separate a compiler into 6 phases is probably simplicity. Compiler design is thus full of ``Divide and Conquer'' strategy, component-level design, reusabililty and performance optimization. Lexical Analysis

Syntax Analysis
Error Recovery
Scope Analysis
Type Analysis
Code Generation

Phase

Output

Sample

Programmer (source code
producer)

Source string

A=B+C;

Scanner (performs lexical analysis)

Token string

‘A’, ‘=’, ‘B’, ‘+’, ‘C’, ‘;’
And symbol table with names

Parser (performs syntax analysis
based on the grammar of the
programming language)

Parse tree or abstract
syntax tree

;
|
=
/\
A+
/\
BC

Semantic analyzer (type checking,
etc)

Annotated parse tree or
abstract syntax tree

Intermediate code generator

Three-address code, quads,
or RTL

int2fp B
t1
+ t1 C t2
:= t2
A

Optimizer

Three-address code, quads,
or RTL

int2fp B
t1
+ t1 #2.3 A

Code generator

Assembly code

MOVF #2.3,r1
ADDF2 r1,r2
MOVF r2,A

Peephole optimizer

Assembly code

ADDF2 #2.3,r2
MOVF r2,A

6 Compare...
tracking img