Computer Science Engineering (CSE) Exam  >  Computer Science Engineering (CSE) Questions  >  Consider the grammar rule E → E1 –... Start Learning for Free
Consider the grammar rule E → E1 – E2 for arithmetic expressions. The code generated is targeted to a CPU having a single user register. The subtraction operation requires the first operand to be in the register. If E1 and E2 do not have any common sub expression, in order to get the shortest possible code
  • a)
    E1 should be evaluated first
  • b)
    E2 should be evaluated first
  • c)
    Evaluation of E1 and E2 should necessarily be interleaved
  • d)
    Order of evaluation of E1 and E2 is of no consequence
Correct answer is option 'B'. Can you explain this answer?
Verified Answer
Consider the grammar rule E → E1 – E2 for arithmetic expre...
E2 should be evaluated first
After evaluating E2 first and then E1, we will have E1 in the register and thus we can simply do SUB operation with E2 which will be in memory (as we have only a single register). If we do E1 first and then E2, we must move E2 to memory and E1 back to register before doing SUB, which will increase the code size.
View all questions of this test
Most Upvoted Answer
Consider the grammar rule E → E1 – E2 for arithmetic expre...
Explanation:

The given grammar rule E E1 E2 represents an arithmetic expression where E1 and E2 are subexpressions. The code generated is targeted to a CPU having a single user register. The subtraction operation requires the first operand to be in the register.

In order to minimize the code length, we need to minimize the number of instructions required to evaluate the expression.

Option B: E2 should be evaluated first.

Explanation:

When E2 is evaluated first, the result of E2 is stored in the register. Then, when E1 is evaluated, the result of E1 is subtracted from the value in the register. This requires only one subtraction instruction.

Example:

Consider the arithmetic expression: E = E1 - E2

If we evaluate E2 first, the code generated will be:

1. Evaluate E2 and store the result in the register.
2. Subtract the value in the register from E1.

This requires only one subtraction instruction.

If we evaluate E1 first, the code generated will be:

1. Evaluate E1 and store the result in the register.
2. Evaluate E2 and store the result in a temporary location.
3. Subtract the value in the temporary location from the value in the register.

This requires two subtraction instructions.

Therefore, in order to minimize the code length, E2 should be evaluated first.
Explore Courses for Computer Science Engineering (CSE) exam

Similar Computer Science Engineering (CSE) Doubts

Top Courses for Computer Science Engineering (CSE)

Consider the grammar rule E → E1 – E2 for arithmetic expressions. The code generated is targeted to a CPU having a single user register. The subtraction operation requires the first operand to be in the register. If E1 and E2 do not have any common sub expression, in order to get the shortest possible codea)E1 should be evaluated firstb)E2 should be evaluated firstc)Evaluation of E1 and E2 should necessarily be interleavedd)Order of evaluation of E1 and E2 is of no consequenceCorrect answer is option 'B'. Can you explain this answer?
Question Description
Consider the grammar rule E → E1 – E2 for arithmetic expressions. The code generated is targeted to a CPU having a single user register. The subtraction operation requires the first operand to be in the register. If E1 and E2 do not have any common sub expression, in order to get the shortest possible codea)E1 should be evaluated firstb)E2 should be evaluated firstc)Evaluation of E1 and E2 should necessarily be interleavedd)Order of evaluation of E1 and E2 is of no consequenceCorrect answer is option 'B'. Can you explain this answer? for Computer Science Engineering (CSE) 2024 is part of Computer Science Engineering (CSE) preparation. The Question and answers have been prepared according to the Computer Science Engineering (CSE) exam syllabus. Information about Consider the grammar rule E → E1 – E2 for arithmetic expressions. The code generated is targeted to a CPU having a single user register. The subtraction operation requires the first operand to be in the register. If E1 and E2 do not have any common sub expression, in order to get the shortest possible codea)E1 should be evaluated firstb)E2 should be evaluated firstc)Evaluation of E1 and E2 should necessarily be interleavedd)Order of evaluation of E1 and E2 is of no consequenceCorrect answer is option 'B'. Can you explain this answer? covers all topics & solutions for Computer Science Engineering (CSE) 2024 Exam. Find important definitions, questions, meanings, examples, exercises and tests below for Consider the grammar rule E → E1 – E2 for arithmetic expressions. The code generated is targeted to a CPU having a single user register. The subtraction operation requires the first operand to be in the register. If E1 and E2 do not have any common sub expression, in order to get the shortest possible codea)E1 should be evaluated firstb)E2 should be evaluated firstc)Evaluation of E1 and E2 should necessarily be interleavedd)Order of evaluation of E1 and E2 is of no consequenceCorrect answer is option 'B'. Can you explain this answer?.
Solutions for Consider the grammar rule E → E1 – E2 for arithmetic expressions. The code generated is targeted to a CPU having a single user register. The subtraction operation requires the first operand to be in the register. If E1 and E2 do not have any common sub expression, in order to get the shortest possible codea)E1 should be evaluated firstb)E2 should be evaluated firstc)Evaluation of E1 and E2 should necessarily be interleavedd)Order of evaluation of E1 and E2 is of no consequenceCorrect answer is option 'B'. Can you explain this answer? in English & in Hindi are available as part of our courses for Computer Science Engineering (CSE). Download more important topics, notes, lectures and mock test series for Computer Science Engineering (CSE) Exam by signing up for free.
Here you can find the meaning of Consider the grammar rule E → E1 – E2 for arithmetic expressions. The code generated is targeted to a CPU having a single user register. The subtraction operation requires the first operand to be in the register. If E1 and E2 do not have any common sub expression, in order to get the shortest possible codea)E1 should be evaluated firstb)E2 should be evaluated firstc)Evaluation of E1 and E2 should necessarily be interleavedd)Order of evaluation of E1 and E2 is of no consequenceCorrect answer is option 'B'. Can you explain this answer? defined & explained in the simplest way possible. Besides giving the explanation of Consider the grammar rule E → E1 – E2 for arithmetic expressions. The code generated is targeted to a CPU having a single user register. The subtraction operation requires the first operand to be in the register. If E1 and E2 do not have any common sub expression, in order to get the shortest possible codea)E1 should be evaluated firstb)E2 should be evaluated firstc)Evaluation of E1 and E2 should necessarily be interleavedd)Order of evaluation of E1 and E2 is of no consequenceCorrect answer is option 'B'. Can you explain this answer?, a detailed solution for Consider the grammar rule E → E1 – E2 for arithmetic expressions. The code generated is targeted to a CPU having a single user register. The subtraction operation requires the first operand to be in the register. If E1 and E2 do not have any common sub expression, in order to get the shortest possible codea)E1 should be evaluated firstb)E2 should be evaluated firstc)Evaluation of E1 and E2 should necessarily be interleavedd)Order of evaluation of E1 and E2 is of no consequenceCorrect answer is option 'B'. Can you explain this answer? has been provided alongside types of Consider the grammar rule E → E1 – E2 for arithmetic expressions. The code generated is targeted to a CPU having a single user register. The subtraction operation requires the first operand to be in the register. If E1 and E2 do not have any common sub expression, in order to get the shortest possible codea)E1 should be evaluated firstb)E2 should be evaluated firstc)Evaluation of E1 and E2 should necessarily be interleavedd)Order of evaluation of E1 and E2 is of no consequenceCorrect answer is option 'B'. Can you explain this answer? theory, EduRev gives you an ample number of questions to practice Consider the grammar rule E → E1 – E2 for arithmetic expressions. The code generated is targeted to a CPU having a single user register. The subtraction operation requires the first operand to be in the register. If E1 and E2 do not have any common sub expression, in order to get the shortest possible codea)E1 should be evaluated firstb)E2 should be evaluated firstc)Evaluation of E1 and E2 should necessarily be interleavedd)Order of evaluation of E1 and E2 is of no consequenceCorrect answer is option 'B'. Can you explain this answer? tests, examples and also practice Computer Science Engineering (CSE) tests.
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Explore Courses
Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev