-
Consider the following grammar:
stmt - > if expr then expr else expr; stmt | o
expr - > term relop term | term
term - > id | number
id - > a | b | c
number - > [0-9]
where relop is a relational operator (e.g., <, >, ...), o refers to the empty statement, and if, then, else are terminals. Consider a program P following the above grammar containing ten if terminals. The number of control flow paths in P is ________. For example, the program
if e1 then e2 else e3
has 2 control flow paths, e1 → e2 and e1 → e3.
-
- 1024
- 512
- 128
- 64
Correct Option: A
The number of control Paths is depends on number of if statement that is 2n, where, n is the number. of if statements For (2 “if statements”) 22 = 4 control flow Paths are possible :
These four control flow are :
(1) e1 → e2
(2) e1 → e3
(3) (e2 if e4 ) → e5
(4) (e3 if e4 ) → e5
So, for (10 “if statements”), 210 = 1024.
Control flow path are possible. Hence, answer is 1024.