We have been working very hard since 2009 to facilitate in learning Read More. We can't keep up without your support. Donate.

www.vustudents.ning.com

 www.bit.ly/vucodes + Link For Assignments, GDBs & Online Quizzes Solution www.bit.ly/papersvu + Link For Past Papers, Solved MCQs, Short Notes & More

# CS606 Compiler Construction Assignment#02 Solution & Discussion Due Date:16-11-2011

Question # 1:

Consider the following Grammar and remove the left-factoring from it.

A  xByA/xByAzA/a

B  b

Question # 2:

Consider the following CFG.

statement--> variable ASSIGNOP expr

| procedure_call

| block

| IFTOK expr THENTOK statement ELSETOK statement

| WHILETOK expr DOTOK statement

Three of the productions for statement begin with non-terminals:

variable--> ID | ID LBRK expr RBRK

procedure_call--> ID | ID LPAR expr_list RPAR

block--> BEGINTOK opt_statements ENDTOK

No remove the left factoring from the given grammar.

+ http://bit.ly/vucodes (Link for Assignments, GDBs & Online Quizzes Solution)

+ http://bit.ly/papersvu (Link for Past Papers, Solved MCQs, Short Notes & More)

Views: 282

### Replies to This Discussion

See the attached file for CS606 Assignment#02 Fall 2011

Attachments:

Assignment Statements:

Question # 1:

Consider the following Grammar and remove the left-factoring from it.

A  xByA/xByAzA/a

B  b

Solution

A  xA'/xA'zA/a

A'  ByA

Now

A  xA'/xA'zA/a

A  B'/B'zA/a

B' xA'

B  b

Question # 2:

Consider the following CFG.

statement--> variable ASSIGNOP expr

| procedure_call

| block

| IFTOK expr THENTOK statement ELSETOK statement

| WHILETOK expr DOTOK statement

Three of the productions for statement begin with non-terminals:

variable--> ID | ID LBRK expr RBRK

procedure_call--> ID | ID LPAR expr_list RPAR

block--> BEGINTOK opt_statements ENDTOK

No remove the left factoring from the given grammar.

Solution

In the productions for statement we replace nonterminals:

variable, procedure_call, and block, by the right-sides of their

productions to obtain:

statement--> ID ASSIGNOP expr

| ID LBRK expr RBRK ASSIGNOP expr

| ID

| ID LPAR expr_list RPAR

| BEGINTOK opt_statements ENDTOK

| IFTOK expr THENTOK statement ELSETOK statement

| WHILETOK expr DOTOK statement

Now every production for statement begins with a terminal but

four of the productions begin with the same terminal, ID, so we add a

new nonterminal, statement_rest, to the grammar and left factor ID

out of those four productions to obtain:

statement--> ID statement_rest

| BEGINTOK opt_statements ENDTOK

| IFTOK expr THENTOK statement ELSETOK statement

| WHILETOK expr DOTOK

statement statement_rest--> ASSIGNOP expr

| LBRK expr RBRK ASSIGNOP expr

| LPAR expr_list RPAR

| e

one more idea solution of CS606 assignment#02 fall 2011

Attachments:

## Latest Activity

3 minutes ago
+ "ραℓωαѕнα" joined + M.Tariq Malik's group

### MTH601 Operations Research

19 minutes ago
+ "ραℓωαѕнα" joined + M.Tariq Malik's group

### CS508 Modern Programming Languages

20 minutes ago
+ "ραℓωαѕнα" joined + M.Tariq Malik's group

### CS506 Web Design and Development

20 minutes ago
+ "ραℓωαѕнα" joined + M.Tariq Malik's group

### CS411 Visual Programming

20 minutes ago
Mani Siddiqui Ex posted a status
"دنیا کے سامنے اکڑ کر چلنے والا لڑکا اگر جُھک کر تمہاری پایل باندھے تو مانو گی عشق ہے"
35 minutes ago
Saleha joined + M.Tariq Malik's group

### PSY404 Abnormal Psychology

1 hour ago
trustedmeds updated their profile
3 hours ago
Minaal posted a discussion

### lesson plan

3 hours ago
Mani Siddiqui Ex posted discussions
4 hours ago
4 hours ago
Ateeqa replied to + !! Ήලᵯᵯℹ Ⲥⱨ !! +'s discussion !!!! bilkul!!!!
6 hours ago

1

2

3

4

5