Refer to the given 3-address code sequence. This code sequence is split into…

2025

Refer to the given 3-address code sequence. This code sequence is split into basic blocks. The number of basic blocks is ________. (Answer in integer)

1001: i = 1

1002: j = 1

1003: t1 = 10 * i

1004: t2 = t1 + j

1005: t3 = 8 * t2

1006: t4 = t3 - 88

1007: a[t4] = 0.0

1008: j = j + 1

1009: if j <= 10 goto 1003

1010: i = i + 1

1011: if i <= 10 goto 1002

1012: i = 1

1013: t5 = i - 1

1014: t6 = 88 * t5

1015: a[t6] = 1.0

1016: i = i + 1

1017: if i <= 10 goto 1013

Answer: 6To find the number of basic blocks, we identify all leaders in the 3-address code sequence. Step 1: Identify LeadersA leader is a statement that starts a…

Show answer & explanation

Correct answer: 6

To find the number of basic blocks, we identify all leaders in the 3-address code sequence.

Step 1: Identify Leaders

A leader is a statement that starts a basic block. Leaders include:

  • The first statement (line 1001)

  • Targets of conditional jumps (lines 1002, 1003, and 1013)

  • Statements immediately following jump instructions (lines 1010 and 1012)

Step 2: Count the Leaders

The leaders are at lines: 1001, 1002, 1003, 1010, 1012, and 1013.

Total count = 6 leaders, which means there are exactly 6 basic blocks.

Answer: 6

A video solution is available for this question — log in and enroll to watch it.

Explore the full course: Compiler Design

Loading lesson…