Question 2,3 please thanks Using the grammar below: <program> begin <stmt_list>
ID: 3745090 • Letter: Q
Question
Question 2,3 please thanks
Using the grammar below:
<program> begin <stmt_list> end
<stmt_list> <stmt>
| <stmt> ; <stmt_list>
<stmt> <var> = <expression>
<var> A | B | C
<expression> <var> + <var>
| <var> – <var>
| <var>
1) show a leftmost derivation for each of the statements below:
(1) begin A=A-B; B=C; C=A end
(2) begin A=B+C; C=C+B end
2) repeat a rightmost derivation for each of the statements above.
Explanation / Answer
1) show a leftmost derivation for each of the statements below: (1) begin A=A-B; B=C; C=A end -> begin end -> begin ; end -> begin = ; end -> begin A = ; end -> begin A = - ; end -> begin A = A - ; end -> begin A = A - B ; end -> begin A = A - B ; ; end -> begin A = A - B ; = ; end -> begin A = A - B ; B = ; end -> begin A = A - B ; B = ; end -> begin A = A - B ; B = ; end -> begin A = A - B ; B = C ; end -> begin A = A - B ; B = C ; end -> begin A = A - B ; B = C ; = end -> begin A = A - B ; B = C ; C = end -> begin A = A - B ; B = C ; C = end -> begin A = A - B ; B = C ; C = A end (2) begin A=B+C; C=C+B end -> begin end -> begin ; end -> begin = ; end -> begin A = ; end -> begin A = + ; end -> begin A = B + ; end -> begin A = B + C ; end -> begin A = B + C ; = end -> begin A = B + C ; C = end -> begin A = B + C ; C = + end -> begin A = B + C ; C = C + end -> begin A = B + C ; C = C + B end right-most derivations: -------------------------- (1) -> begin end -> begin ; end -> begin ; ; end -> begin ; ; end -> begin ; ; = end -> begin ; ; = end -> begin ; ; = A end -> begin ; ; C = A end -> begin ; = ; C = A end -> begin ; = ; C = A end -> begin ; = C ; C = A end -> begin ; B = C ; C = A end -> begin = ; B = C ; C = A end -> begin = - ; B = C ; C = A end -> begin = - B ; B = C ; C = A end -> begin = A - B ; B = C ; C = A end -> begin A = A - B ; B = C ; C = A end (2) -> begin end -> begin ; end -> begin ; end -> begin ; = end -> begin ; = + end -> begin ; = + B end -> begin ; = C + B end -> begin ; C = C + B end -> begin = ; C = C + B end -> begin = + ; C = C + B end -> begin = + C ; C = C + B end -> begin = B + C ; C = C + B end -> begin A = B + C ; C = C + B endRelated Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.