Question: Semantic Analysis (30) Consider programs consisting of two parts (a) The first part has only one function declaration: functionName(parameterList) where functionName is an identifier (i.e.,

Semantic Analysis

Semantic Analysis (30) Consider programs consisting of two parts (a) The first

part has only one function declaration: functionName(parameterList) where functionName is an identifier

(i.e., a sequence of letters) and parameterList is of the form type

(30) Consider programs consisting of two parts (a) The first part has only one function declaration: functionName(parameterList) where functionName is an identifier (i.e., a sequence of letters) and parameterList is of the form type id1, type id2, ..., type idn, where type is int or bool, and idi's are identifiers. An example of a function declaration is f(int x, bool y) (b) The second part has only a function call of the form functionName(argumentlist) where argumentlist is of the form idi, id2, ..., idn where idi's are identifiers. For example, f(x, z) An example program is f(int x, bool y) f(x, z) Questions. b) We would like to introduce two attributes name and number for the non- terminal symbol in your CFG that defines the function declaration. The former has a value of the function name and the latter means the number of arguments of the function. Similarly we introduce name and number for the non-terminal sym- bol in your CFG that defines the function call. The former takes, as its value, the name of the function and the latter takes, as its value, the number of arguments in the function call. Write an attribute grammar for such programs using the given attributes (and aux- iliary attributes you may need)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!