0 ratings0% found this document useful (0 votes) 63 views13 pagesCompiler Design Assignment 1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
Nome > Garotadty Naina
Ryeantr & “Trfessnolefin “Technde a:
Rell No +b ~ Q0643370) 20053,
Sobfesk ¢- Oanaet 2 Puig
—- AAsstenimen7 ob
L
ft. Define the following
Uy_ Pre;
Bee pl
processor and Assembles .
5
A preprocessor. generally considwied ' 0 a’ pode 16f compilen 5
iS a tool the | preduces
inpuk tor Compiles. Ib deals toith
Mocro- processing augmulation stile fuclusiou.s ; language iextensie
An assembles transkt: assembly language program into madre
tece -The output gf an assembles: FR called an obpcttille,
Which contains a combination ef machine ,, tstruchion a8 voll
as He data vtequirec| -to place these Fnstruchions in Mmermory
(ti) Types of Compiles :
ya
© Single —pass compiles:
GIn this complies jtohen a line Source fs precesses|
fs Scanned and the tokens asie extracted. ' ;
G Then He syntax of te ling IS enalyred and “tree
Altucluse gome tables, containing infor matte Jabout eaclt
token. are bulb. ; {
® Matt ~ pass Comp less
“ST Stan Hu inpul source once and produces Hrst modifred
v term Aomiliosily again andl again,
Vili» Loodess ond Linke ‘ a
loades ‘fs a pank of og ‘and fs sespansible,, bor |
executable files :
oodirg
into memory ancl execute themLinkeer Ps a computeet rogram that links and mye ee
ebyect files together in order +o make an executable le,
® Grouping _ ¢| Phases into passes
Grouping o] pases is divided in too Passes,
o Gres Pass @®_Tho - sg
Lextea] Analisis Lexfcal Rralyzis
Syntax Pralyeis |. Frontend Syntax Analysis
SIS
{
Semantic Aralysig
Passes
Thteinadiak Code
aaa
Cade [Bede Gensation |
© Lex and ynce Tools
i ana
lexe This tool fs a Atancased comPponenk gf most UNE
OS . The GRU kk Lexical anelyzess LLEK) ts genesiactad
voit the help ol regular ee pression,
Yace? - (Yer Anotus Compiles — ~Compilet) fs the Alandasid passes
Qenesatow for Hue UNDS Ofesiating Syste ,
LAW oper Aource Progrou ,YACK genesiater, cede for the lava
fn © Pregromming language.@) BNF and CNE i @.
Backus-Naur form fs a nolation — technique for CF.
Expl.) Exp2-] Expo ++
2
CNE = Chomasky Nowmol Fom fs a grammas i¢ all
produchow ane the form —
) a's
® Whot is language Processing System? Bxplatn phases iin delar',
Lyn a language processing Ayton
a The rock Fiend source, progran
Jem Hee fangeh axenbly prearam
aagemblen +0 creat
pra impuk fhe
the seurce code is first
preprocessecl is processed
by the cempilen +O
which fs then franslatel by Wu
he denget program - Tt Is basecl OM
Jronslator tokes ancl the Gubpak Tt produces sand a
{ e Jronsiatos ca" be defined oS CS gj wu fellovals
high bee [Reapecsio= Frc CES
Post i
a macelsnc Cocky,
Preprocessoy_ 3 ~ A preproc esso™ + generally considiecdl OS &
compiler 3S reol thet procluces
postr 3
tnpuk lor compiler
Tnteipretet 3 - An. intesipretor slike @ compiles
hiql lwel language into low - level, machine
translates
fanguaqe+
Assembluiy - An assembles tronslobis assembly languaae
Programs ilo madaiur Cock.Linkest 2 - Linkess Ts a Computes: program That Unks ancl nuge
Vasiious obgeck files — -togeltuss in ors to make an@)
executable He.
Loadtnt - Leaciey Ts a part | OS and is wiesponsible. bor
leading execcitable Mles into mumory and exeutte
{hem .
Ous Whe are the ditterent phases of the compiles 2 Explain |
phases in detail . Write doon the Phases in detall.
Write. down “the outpur @} each phase for the
expression = Ubte y* (btc)4a
A compiles contains 6 phases which ovte follow , -
1. Phase 1 Clerical _firalyzest)
Lexical Pralyzer phase take Source program as an
input cud Aepeviates chanactesis eG) Aourco language) inte
groups tring calltel token,
2. Phase 2 (Syntox Analyzes )
The syntax qnalyzess greups tokens Mig
Abrucluses Cporse Tree) Apastpel Wis siping
3. Phase 3 (Somonttc Rralycen)
Checks the source program fer Semantic ensiosis and
gatlwis. type Informaton for Subsequent cede gen~
esakion — PRase-
A. ek CIntuinediak Code genvration
© Takes input (Surtax tree) for — Remanti
has
and generabs Trtesnudiatr Code. “press
5. Phage 5 (bode OpHmization )
Destqneol +o improve ty _ intesimediate code go
Hhod- ul Hmerbe. obsect Program owns taster auralJakes less space.
G. Phase 6 Cole _generiatton)
SY
@ generates Ho cissembly, codes G8 ange} language.
code is trarslatts|
@ We address in the bineeyy
from logital address
r
Linput brecessing ‘In Compile
Oubpak
a
a=a(btc) & (bic) + 2
—
NE
Wy =Cido+ ids) * Uda tidste
[Taken Stream
a
Paso.
4
ey
; i N\,
f es
\S Firskty lee teal analyzes: creates @ program lex-1 in theLex
Language - Then Lex compiler oiun the lexd program anel
preduces a CG program [Link]
\S Finally C compiles oruns the lex gyre program ancl produces
ON Object program a-oub
& ‘ +
> aout Ys lexical Analyzer that doanstams an input stream
to a Sequence. oc} tokens.
Lex Source,
Program tex 7 [Lec Gonpitesr] leryyc
Vex -yy.c, —>
——> aout
fnput Steam —>[ aout]
YACC 2 -
> Sequence. o} -fokens
* Yacc stands for Yet Anothesy Compiles Compiles.
* Yace provides a tool to produce a passes bor a
Qlven — Qrammas - ~
Yace” Specitication Y
ace R
translate J > | dompiten foes
Ytab-c — > —> aout
Trpuk =
© Convent Ambiggus, Girammas, +o Dnombigour Grrowmiman . Exe
E— Ete) ete
E— IdKia Convert from NFA -to BFA uring Thompson's oul e fo~
larb)* abb
a b
oO) o2o-®
NFA for (atb)tabb
2 E-dlosure (op 72 15254,13 ——letA
e7 move (Aa) = 83,84
e-closure. (move (A,a)) = 21,2 ,3,4,6,1,83 ——lebB
* Move CA jb) = YS%
E-closune (Moe (A,b)) = &1,2,4,5,6,14 —let Cc
« Move (8.4) =83,83
€-closune (Move (8, a)) =01,2,3,4,6,7,94 ——LetB
* Move (6,b).= 25,94
Eclosune (move (8,b)) = €1.24,S56,1,9§ ——leb D
* Move €C,4) = 23,83
E-Closunc Cmove Cot} = T1234 ,6,7,84 —lel B
® Moele,bl- ist,
€-closure Cmovet¢,b)) = L 1,2,4,8,6,74 —c
2 Move(P 1a) =t3,84
€- clasune (Move (Da) =E1,2,304,6,7,84 —8
eMovel(D rb) = LS, 1%
E-closune (Move (D1b)) 224
eMovel€,a) = $3,384
€-Cosere Cmove LE G)1=814,2,3,4,6,% 84 —¥8
(2,4, 86,7; 104 —EoMovelE.b) sUsh
E-vlosune LMove (Eb) = L122,4,8,6,18 eS
EQN usta GC + >
eode tn PDP-\) |
for bext formaltey
Qed Creat a Cross compiles for
tompiler , voritten fn PDP-3L, producing
and a EQN language producing ode.
TROFF written in ce
— EQN TROFF
wo
Qu Solutions ¢
Em EsTlIT
TOPelF
F—> fd
ie E @_ td+ Id tid =)
we J% T 2
A\- “AN Tr hos 2 opesctor on ef thers
E+E Bae Bide git.
, | io | Wuielr operator should I!
ia id id id iq Avociate this with ?
\S Tp we wee associat Lolth
leit operates —> [lee a%80-
® fa+ tartd
YE Ldatiaa) Fuaiorio Uasta)etd
f & eee \S Pex [ahh _axtcclalivily }
Ee 4 E \
VAN is \,
\ | 4 id
oe
td +Utd +f >
+ O-— lett associative So
ISt panse Wee Corre
Kg Precedence deosnth fake cane
e
2. tp we taken core o}
Prececdlance then — grammasi
Now , Hote +e do that ?
& © asscdakvity AG
can be unaubigeuns.
Qu Why are we getlns
oth asrocialy sHea -
Wune ?
bIcG we one defini
Aho Gromman vol houk
any ordi,
a for fd +d rid
€ E
JIN J\\
E +e 1 AN
/\ \ | él £
ett \4
i | | |
ia id wi
Lidatdd tid éd +tideid)
leH- aecalve Right arsociativeWhen we Say Six Ap we con grow fh any direckon®
To achieve Left associativity , we have to gro tn Lett
DirecHow only. So we will otestrict the growth oJ parsee
tree .
Note we aie grotoing only in lett dlirection » BG
grammoss fs dedinesl as Left Recwnsive.
S for For _brecenclance problem
we eat Jake | cone Hot highest precedance opescter
Should be ak Me least level.
So, we will fntreduce seveial AIF aymbelS like
76-7 eo From Hus hws
Nave. reached T, we cannot
pos Tele
qenerckt OW F.
rot
Noo fd std *fd
/t\ So, we aie taking
ettrT Corre. o precerlence
1 7IN by detining AIF
Gu \ lwels.
|
' dd
ia tdG Converting Re +o DirecHy +o DFA's
> First we oun The given wtegulas: expression by wncate -
haking tr with & Aptcial Aymbol ts
ClAlete — augnunted srequlor expression
éxe (a |b)* abb
4
Aug rented Requlass Expression
4
Calby
~bt
Steps Ve
& Converting a Ayntax tree for (a)
> Travesise. the tree to construct function nlngplentestes.
lastpos and follow pos.
\& Computing — Followpos
Ls tonveiting a RE Directly +o a DFA.
nePules, Fox Computing tre Eunchou
Node n nullable tn) Hrstpos th) laskpos(n)
Rice | ee b b
led by ©
A leak with ae LB Sis
position i
. vullable Ca) Hestpos( ww loxtres ca)
i he yutlabletG,) — Hrstpesteo) lastpes C2)
< nullable qECnullableced) TF Cnutlabl Ca)
ond first post) & lost pes(cd 0"
cy c= wullable (2) Hirst pesca) laskpos(@)
» Sn else. Hrskpstery else laatpos( 2)
ec, ue.
HrstposCc) taskpos CG J—————
Slax Bee 9 \ ot
Lab) 9. a-beb He
mullable
* Finding Fixstpos and Lastpos bee
te} atl nods for Syntax the!
Tree was fdas
\
uy atin b \ Final Syntexx
4 | Pay 423 Ree
Kirst past
pos pos
% For Finding tdloco
pos enly Atan(*) and concad.
(Le) pods will consicuerad|,
=a Sharn-nede)
TF O(n 1s
+2
a for Ceach fin last pos ny)
tollowoposCid = follotopos ci) O fiestpostn)y
for « > fk(nee Cy-C2C concatenation ~nek))
for Ceach f in lastpos Ccr))
Follow posti? = follow pos li) U Fixst pos Cea) 5
% Cowotting RE to DEA
fo Te ED |
A Nambytec Firedt Stabe