in Compiler Design retagged by
475 views
1 vote
1 vote

Consider the following CFG:

$S\rightarrow Aa\mid ca$

$A\rightarrow c\mid d$

How many conflict occur in $CLR\left ( 1 \right )$ Parsing construction ?


I think $LR\left ( 0 \right )$ there is $1$ conflict, but in $SLR\left ( 1 \right )orCLR\left ( 1 \right )$ there won’t be any conflict. Someone verify it.

in Compiler Design retagged by
by
475 views

4 Comments

edited by
pls check it again, lookaheads must be different.

S -> c.a , $
S -> c. , a
0
0

@balchandar reddy san

If different lookahead, then there won't be any SR conflict in CLR(1). Because, GOTO works only those rows, which have lookaheads

0
0
S -> c.a , $ ( this is shift conflict so, we have to take 'a'),

we have to take lookahead only in case of reduce conflict
0
0

1 Answer

0 votes
0 votes

Grammer is not CLR(1) because it have Shift-Reduce conflict. 

S->c.a $   (Shift production)

A->c.   a  (Reduce production)

The shift reduce condition in CLR(1) is that Shifting symbol should not be appearing look ahead list of reducing production.

Here 'a' is shift in 1st production and  it also appear look ahead list of 2nd production.

 

And another alternative grammer is ambiguous it  have 2 parse tree for the string 'ca' if the grammer is ambigious it can not be CLR(1) 

Related questions