0 ratings0% found this document useful (0 votes) 28 views8 pagesUnit-3 Part-1
Compiler design important question in bottom up approach in parsers
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
P-Toyo, Takeo
2g HAU23B
ig wt 64 3)
1) Write @ note on the Parse gD “ator NAcc: ot
bt bt
Yacc stands for “Yet Anothey Compiler compiler (S toot ne oe
generates pases for prge'"g the syntax Of programming ¥ a
languages ov Other strectove@, text. YACC uses a foymat me
iS
Qrommay specification HO Generate a porser in OF othey ht a
» i S
programming languages: c's a brief note on the YACE ot a
eo
Parser generator ;
Grammar Specification YACE attocos you to define the syntax Oe
of a language using @ EFA: This grammar clescibes the | e 4
> typicatty in Backus-naby FoYA | |. x
K
languages Yules & Strat
CenA) se
* & t
Poxsing Tables - YACC genexetes parsing tables based on the "os
grammay v~vutes. These tables Gre Used by the generated |
"parser to recognize & parse the Ip text. im «
wou )
a : a :
“Token ¢3.ation -YACC eam KS (7 confuncton with a
By
FAN ical analuaey (uspatiy ter) 10 tokenge the i[p tock
breaking it into @ sri of tokenS+ YACC then processes
“these tokens according te the grammar yoles+
ode Generation -YACC Gene}
Progvomming tanguag
integiated into a
Standalone Parsing
Ea107¥ Handling - gener
handling meéchaniems
eS a paxee’ in the target
often C OY CT > that can be
ay Large’ compiler ov Used as \
16215 typically inclode enoy—
epart €1 YeCove Honn Syne: —
ae Coan Oo
n on
al ae
ner °
Daonsbect ck Foxsing toble for eager grommo~
2 * Feast roca
al % \fosat (at
ye |tes c | facet
cone
\ sft) © tard}
iv Now lev’S corstiuct the Cin G) gauging table
aa 1 lo id a '
\ 9 ee er = 4
g 1S 1 \ Il |
| 1c lac id \ 1
“ \ Here, the entries im the tavte FepYesent the predoction 5 eo
ywles 10 be opptied based of the Covent non-terninal oe
\ and the next inpot Symbol Sf thee 18 no enty Fora ag ES
| Paxticotay combination, it implies Ever ae
ON
ee
| Jn this tables et
2 >
I) (cy0) 7 ac : when th Stated/>4 the next t[p Symbel SO
apply the piodoction C-rac
(esa) 9d: when in state c, & the next ‘Jp symbel G'd’
| me
appiy the Prodwetion c-d se
‘
‘This table ig constructed based on the Fst & foto
ta
Bk fo ensure there Ore fo conflicts, making
err a) parsing table:Tact
S ec
once wilt ode
39 2D Honetting Ambiqucly GAME" “itr Le Parsers
pu be
ty arcorgamg IR posse cam be weed 10 PPS ombbiquovs grammars
q LR porsey resotees the canfue '9 porsing table of
ambiguoos grarnmays osedyO” Exe
Enid
a
25 6,6 \
coeed lH
& e-#e Hl +1* |
Bes
oft oa Ge
ese te Ste
Bcc, aisle
Evid 4 ltle
paese fltl¥
| Jes- ere dltl®
E> -td git]
Fog-teslile
Als aos
“ae ae ae
e>-eee, $l+l* coere sS[tl*
Een é > S\tlk Coe tesgltl® \
7 eae KE SSITLE IN
rouid, $\*l*€
t
5
6
wom © Is ese ai own
. 3
we Tg Ya}esyolsd 42
i .
Farsex |
s * Poxsey 2
Stack Symbol EP. + Btace bymbo!_— tp
is ; i
\ d iaeacs o — idtid iad wh
oO td sidsid 4 * x& &
\ t 02 id sidsriag M3
oe E +id+id $s , .
t Dx
4 7 “
ols a idtid $ yi — tidtiad Ss
4 ; i aS
| oan) Eri a \
Bes Ce des OA
Jorss Ete | +iag
‘
Pidece BOi32 Euid +104
bioe ridg *
a % Ois5%) cre tad
4 shift
ids
»ws
an
\ \ +e
ot
7 94) cone truction of circ) and WF porsing table
saa |
oe RUD Fovsing Table conten?
0 ft. dtem set congtrection= |
3 s Create exts Of LEED HEMBIFP'*enting possible States of tne
porser
An RE) item 16 A pyedUEtIEN with a dot indicating the
current posinion in the prediction G a lookahead symbols
3 3
/ Closuve Ope1aon: es a
a 2 «Use closure operations 10 fod au possible 1RG) étens that ” 2 S
| can be Yeoched fom Mammo! Set of items we
x
| 3.Gpt operation? <
| + Pexfornn Goto operations $8) determine the honsitions SY
x
between tec tem OS” a
u- Poxsing Tobie &btes +
+ For €ach (RUD item Stt >fiut ip the poxsing table enttes based \
on dhift g yeduce actions~
» Ohift actions ocooy when Midying too New btalts 4 yedwe
adiong ocr when opplying a prodection.
LALR Parsing Table Condbuckion ; iN
1. Ttern Set constrection :
4
tRa) iterhS:
» Semilary to CLR CI) Create Gets of
9. Merge Stotes :
-Meuge states tat hove (gen ical
sete of (Cod items,of ul oP ER -rersers:
e
wea
» ee 2 Varese 7S :
one we Z 5
ae 7] ensering that teokancad Cets GER feongisitent
ae. “
oe oe 3: foxsing table Entries : }
a © 7M Ruita the povsing table engi for the merged dtarec,
on *
wel | cornbining Shi fh @| xedece octet )
we > 30
: ee
mS
, >
\ x
\ | f
gx
oO
cs5) Define types of 1R Povsers
Te Parse” |
o— a ia
[LR Pos ‘ tanec
= Eine] 7 eso [CLR Forse
£ See a
LecoD Teens} .
a a LRG) it
SIR:
= Simple IR fansex (StR)
«But it fotls to
fiecte to execute
- Tits vey easy 4 cost ¢
7 SOME class of groramans - Ce, why So
make a posing toble 1
CIR & (ALe. oxeiuceels corm pterment S| GSN) att classoy ©
type of gyammays : : ee
\
ere! | an
~ Canonicot took Ahead (2 Poxsey (cr) : S <
: 2 aN
~aR Parsing uses te canontcas coltectiof) of Lr) tern to, es
ee cLRED parsing table - 3
consnoct the CLR(t) poxsing taol
makes move no Of btates aS com
parsing: \
LAIR! ‘
-lwok Ahead LR Fax
~ Jt 6 gn intermediate in
compaction of ak
wi be smoalter th
pared to the SIRO,
set CLALRY-
powey bho
parse’) q hence tables
fon CLR Poxsing Table «
9 SIR G@ OR Porcey
- jt i6 the
opened WS
|
|Le \
! \
Freb L of Wis py tbh 10
/ right & gecond | iS, for lebE
| most deviatcon
Th fouows the left Onost
gerivation
using Raxcer poser Wee 19
congtiocted tn top AQLoN manner
Hn UL poxsey non -terminols We
exponded
Start with the Start Symbot(s>
frdg when Stack used becomes
eonpty
Preorder toversal of tne poasc
bree
Texminot (6 yeod after pope's,
out of Stock
Tk may use backtracking Cov)
cujnamic programming
Li 15 easier to covite
te
Co) , utd
Me os Fey kL Ee
y 3} x . ye oo
ee AN it nc ~~
t a 7 oo er
t b en, poe? oe i 5 6
6) Difference between UL & LR parr
LR
Loft He 15 left 10 vignt 4k
egy mest desivation
%
mi poucws Wesee of right
moot derivation
Poren bee 6 consbucted en yor?
ames monet: oo
' oe
‘i Re
epee eins axe ow
compressed: ay oe
oon
fnd wth Stow Symbol(s)
tows with an empty stock
Mar Ordey Haversal of the
Rouse tee
Terminal {5 Yead before
PUEHING into the Stack -
A uses dynomic
Programming:
RAS difficott to ortte
Er: trl) , ste cr?