Выполнение интерпретатора арифметических выражений

1.2.5

Выполнение
интерпретатора арифметических выражений

 

 <Fact 1> 

Шаг 1, пр. 2:  sN = 1

<Arex 1 '*' Fact (1 '-' 1)>

Шаг 2, пр. 5: eX = 1, eY = Fact(1 '-' 1)

<MUL (<Arex 1>) <Arex Fact (1 '-' 1)>>

Шаг 3, пр. 1: sN = 1

<MUL (1) <Arex Fact (1 '-' 1)>>

Шаг 4, пр. 7: sF = Fact, eX = 1 '-' 1

<MUL (1) <Apply Fact <Arex 1 '-' 1>>

Шаг 5, пр. 4: eX = 1, eY = 1

<MUL (1) <Apply Fact <SUB (<Arex 1>) <Arex 1>>>>

Шаг 6, пр. 1: sN = 1

<MUL (1) <Apply Fact <SUB (1) <Arex 1>>>>

Шаг 6, пр. 1: sN = 1

<MUL (1) <Apply Fact <SUB (1) 1>>>

Шаг 7:

<MUL (1) <Apply Fact 0>>

Шаг 8: eN = <SUB (1) 1>

<MUL (1) <Fact 0>>

Шаг 8, пр. 1: sN = 0

 <MUL (1) 1>

Шаг 9:  

 1