0% found this document useful (0 votes)
12 views24 pages

Lecture 10

Uploaded by

TEERTH DHAKAD
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views24 pages

Lecture 10

Uploaded by

TEERTH DHAKAD
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

BITS Pilani

BITS Pilani CS F363 Compiler Construction


Hyderabad Campus
BITS Pilani
Hyderabad Campus

Lecture 10 (LR(0)-items and SLR


parser)
Key Question: To Shift or to
Reduce?

BITS Pilani, Hyderabad Campus


LR(0) item

BITS Pilani, Hyderabad Campus


LR(0) item

BITS Pilani, Hyderabad Campus


LR(0) automaton example

Grammar

LR(0)
automata

These sets of LR(0)


items computation
needs two functions:
Closure
GoTo
BITS Pilani, Hyderabad Campus
Closure of Item Sets

BITS Pilani, Hyderabad Campus


The Function GOTO

BITS Pilani, Hyderabad Campus


Algorithm for computing
Canonical LR(0) item sets

BITS Pilani, Hyderabad Campus


LR(0) automaton example

Grammar

BITS Pilani, Hyderabad Campus


LR(0) automaton example

Grammar

BITS Pilani, Hyderabad Campus


LR-parsing Algorithm

BITS Pilani, Hyderabad Campus


LR-parse table
ACTION GOTO
Actions:
• Shift j (where j is a state)

• Reduce j (where j is a state)

•Accept

•Error

BITS Pilani, Hyderabad Campus


LR-parse table

BITS Pilani, Hyderabad Campus


LR(0) parse table
construction

Parse table
rows: states
columns: terminals (for shift and reduce
actions) non-terminals (for goto
actions)

BITS Pilani, Hyderabad Campus


Grammar

ACTION GOTO

BITS Pilani, Hyderabad Campus


LR(0) Grammars: Conflicts

The grammar is LR(0) if:


1.There are no shift-reduce conflicts:
2. There are no reduce-reduce conflicts:
BITS Pilani, Hyderabad Campus
SLR(1) / SLR parse table
construction

If any conflicting actions results from the above rules, we say the
grammar is not SLR(1).
BITS Pilani, Hyderabad Campus
Grammar
SLR table

ACTION GOTO

Terminals First Set Follow Set


E ( , id +, ), $
T ( , id +, *, ), $
F ( , id +, *, ), $

BITS Pilani, Hyderabad Campus


Grammar
SLR table

ACTION GOTO

Terminals First Set Follow Set


E ( , id +, ), $
T ( , id +, *, ), $
F ( , id +, *, ), $

BITS Pilani, Hyderabad Campus


Conflicts in SLR parsing

BITS Pilani, Hyderabad Campus


LR-parsing algorithm

BITS Pilani, Hyderabad Campus


Example:

BITS Pilani, Hyderabad Campus


Thank you

BITS Pilani, Hyderabad Campus

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy