--%>

Courseist 230cmpsc 360- rewrite the set of productions


PROJECT ON GRAMMARS

 

Course: IST 230/CMPSC 360

 

Deadline: see the calendar in Canvas for the deadline

 

Objective: To acquire a comprehensive understanding of the application of grammars and formal language theory to computing languages.

 

Given: Consider the following set of productions:

 

P01:

FN

→

FN-HEAD   FN-BODY

P02:

FN-HEAD

→

TYPE   id   (  PARAM-LIST   )

P03:

TYPE

→

char

P04:

TYPE

→

int

P05:

TYPE

→

real

P06:

PARAM-LIST

→

TYPE   id

P07:

PARAM-LIST

→

PARAM-LIST   ,   TYPE   id

P08:

FN-BODY

→

{   VAR-DECL   STMT   return   (   EXPRESN   )   ;   }

P09:

VAR-DECL

→

ë

P10:

VAR-DECL

→

TYPE   ID-LIST   ;

P11:

VAR-DECL

→

VAR-DECL   TYPE   ID-LIST   ;

P12:

ID-LIST

→

id

P13:

ID-LIST

→

ID-LIST   ,  id

P14:

STMT

→

ë

P15:

STMT

→

SIMPLE-STMT

P16:

STMT

→

SELECT-STMT

P17:

STMT

→

REPEAT-STMT

P18:

STMT

→

SEQUENCE-STMT

P19:

SIMPLE-STMT

→

ASSIGN-STMT

P20:

SIMPLE-STMT

→

FN-CALL-STMT

P21:

ASSIGN-STMT

→

var   =   EXPRESN   ;

P22:

EXPRESN

→

ARITH-EXP

P23:

EXPRESN

→

BOOL-EXP

P24:

ARITH-EXP

→

TERM

P25:

ARITH-EXP

→

ARITH-EXP   ADD-OP   TERM

P26:

ADD-OP

→

+

P27:

ADD-OP

→

-

P28:

TERM

→

FAC

P29:

TERM

→

TERM   MUL-OP   FAC

P30:

MUL-OP

→

*

P31:

MUL-OP

→

/

P32:

FAC

→

(   ARITH-EXP   )

P33:

FAC

→

OPD

P34:

OPD

→

var

P35:

OPD

→

const

P36:

BOOL-EXP

→

RELN-EXP

P37:

BOOL-EXP

→

LOGIC-EXP

P38:

RELN-EXP

→

OPD   RELN-OPR   OPD

P39:

RELN-OPR

→

==

P40:

RELN-OPR

→

!=

P41:

RELN-OPR

→

< 

P42:

RELN-OPR

→

<=

P43:

RELN-OPR

→

> 

P44:

RELN-OPR

→

>=

P45:

LOGIC-EXP

→

OPD   LOGIC-OPR   OPD

P46:

LOGIC-EXP

→

LOGIC-OPR   OPD

P47:

LOGIC-OPR

→

and

P48:

LOGIC-OPR

→

or

P49:

LOGIC-OPR

→

not

P50:

FN-CALL-STMT

→

id   (  ARG-LIST   )   ;

P51:

ARG-LIST

→

ë

P52:

ARG-LIST

→

id

P53:

ARG-LIST

→

ARG-LIST   ,   id

P54:

SELECT-STMT

→

if   CONDITION   STMT   else   STMT

P55:

CONDITION

→

(   BOOL-EXP   )

P56:

REPEAT-STMT

→

DO-STMT

P57:

REPEAT-STMT

→

WHILE-STMT

P58:

DO-STMT

→

do   {   STMT   }   while   CONDITION   ;

P59:

WHILE-STMT

→

while   CONDITION   do   {   STMT   }   ;

P60:

SEQUENCE-STMT

→

STMT   STMT

Instructions:

 

1. Rewrite the set of productions above in Extended Backus-Naur Form (EBNF).

 

2.  Using a Push Down Automaton (PDA), determine if the following function is valid code according to the given set of productions.

 

int Max ( int x, int y )
{
int z ;

 

if ( x >y )
z = x ;
else
z = y ;

 

return ( z ) ;
}

 

3.  Validate your answer in (2) by illustrating it with a derivation tree

 

Deliverable: Submit a paper Times New Roman font, 12 pt., double-space lines). The project must contain an introduction which includes the purpose of the project.

 

1)

 

BNF:

 

1. ::=
2. ::= ( )
3. ::= "char" | "int" | "real"
4. ::= , |
5. ::={ return ( ) ; }
6. ::= "" | | < ID-LIST>
7. ::= | |
8. ::= "" | | | | SEQUENCE - STMT
9. ::= |
10. ::= "var" =
11. ::= |
12. ::== | | |
13. ::= "+" | "-"
14. ::= |
15. ::= "*" | "/"
16. ::= ( ) |
17. ::= "var" | "const"
18. ::== |
19. ::=
20. ::= "==" | "!=" | "<" | "<=" | ">" | ">="
21. ::= | | | |
22. ::= "and" | "or" | "not"
23. ::= "id" ( ) ;
24. ::= "" | "id" | "id"
25. ::= if else
26. ::= <(BOOL-EXP)>
27. ::= |
28. ::= do { } while ;
29. ::= while do { }
30. ::=

 

EBNF:

 

1. ::=
2. ::= ( * )
3. ::= "char" | "int" | "real"
4. ::= , + | +
5. ::= { * return ( ) ; }
6. ::= "" | * | * < ID-LIST>*
7. ::= "id" | * , "id"
8. ::= "" | | | |
9. ::= |
10. ::= "var" = ;
11. ::= |
12. ::== * | * *
13. ::= "+" | "-"
14. ::= | *
15. ::= "*" | "/"
16. ::= ( * ) |
17. ::= "var" | "const"
18. ::== |
19. ::=
20. ::= "==" | "!=" | "<" | "<=" | ">" | ">="
21. ::= |
22. ::= "and" | "or" | "not"
23. ::= "id" ( * ) ;
24. ::= "" | "id" | * "id"
25. ::= if else
26. ::= <(BOOL-EXP)>
27. ::= |
28. ::= do { } while ;
29. ::= while do { }
30. ::=

Request for Solution File

Ask an Expert for Answer!!
Programming Languages: Courseist 230cmpsc 360- rewrite the set of productions
Reference No:- TGS01711772

Expected delivery within 24 Hours