Start of Interpreter for program ext2.tri at Sun Dec 12 23:11:28 2010

Program

# alen:=5
ARRAY a[alen]
a[0]:=23
a[1]:=85
a[2]:=10
a[3]:=47
a[4]:=62
max:=0
i:=1
WHILE: IF (a[max]i:=(i+1)
IF (imaxvalue:=a[max]#

Parsing tree

root
:=
alen5
ARRAY
aalen
[]:=
a023
[]:=
a185
[]:=
a210
[]:=
a347
[]:=
a462
:=
max0
:=
i1
label
WHILE
IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Table of constants

c1=5c2=0c3=23c4=1c5=85c6=2c7=10c8=3c9=47c10=4c11=62

Table of identifiers

i1=aleni2=ai3=maxi4=ii5=WHILEi6=maxvalue

label 'WHILE' is address of the operator {tingimus} (00331498)

Modified tree

root
:=
alen5
ARRAY
aalen
[]:=
a023
[]:=
a185
[]:=
a210
[]:=
a347
[]:=
a462
:=
max0
:=
i1
IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax


Stackid alen=0

Stackid alen=0const=5
interpreting the operator alen:=5
:=
alen5
ARRAY
aalen
[]:=
a023
[]:=
a185
[]:=
a210
[]:=
a347
[]:=
a462
:=
max0
:=
i1
IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

alen:=5

Stack

Stackid a=0

Stackid a=0id alen=5
interpreting the operator ARRAY a[alen]
ARRAY
aalen
[]:=
a023
[]:=
a185
[]:=
a210
[]:=
a347
[]:=
a462
:=
max0
:=
i1
IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Created new array a
a00000

Stack

Stackid a=0

Stackid a=0const=0

Stackid a=0const=0const=23
interpreting the operator a[0]:=23
[]:=
a023
[]:=
a185
[]:=
a210
[]:=
a347
[]:=
a462
:=
max0
:=
i1
IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Writed value 23 to a[0]
a230000

Stack

Stackid a=0

Stackid a=0const=1

Stackid a=0const=1const=85
interpreting the operator a[1]:=85
[]:=
a185
[]:=
a210
[]:=
a347
[]:=
a462
:=
max0
:=
i1
IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Writed value 85 to a[1]
a2385000

Stack

Stackid a=0

Stackid a=0const=2

Stackid a=0const=2const=10
interpreting the operator a[2]:=10
[]:=
a210
[]:=
a347
[]:=
a462
:=
max0
:=
i1
IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Writed value 10 to a[2]
a23851000

Stack

Stackid a=0

Stackid a=0const=3

Stackid a=0const=3const=47
interpreting the operator a[3]:=47
[]:=
a347
[]:=
a462
:=
max0
:=
i1
IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Writed value 47 to a[3]
a238510470

Stack

Stackid a=0

Stackid a=0const=4

Stackid a=0const=4const=62
interpreting the operator a[4]:=62
[]:=
a462
:=
max0
:=
i1
IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Writed value 62 to a[4]
a2385104762

Stack

Stackid max=0

Stackid max=0const=0
interpreting the operator max:=0
:=
max0
:=
i1
IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

max:=0

Stack

Stackid i=0

Stackid i=0const=1
interpreting the operator i:=1
:=
i1
IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

i:=1

Stack
WHILE:
Stackid a=0

Stackid a=0id max=0
interpreting the operator a[max]
->
amax
->
ai
a[0]=23
Stacktm=23

Stacktm=23id a=0

Stacktm=23id a=0id i=1
interpreting the operator a[i]
->
ai
a[1]=85
Stacktm=23tm=85
interpreting the operator (a[max]<
->
amax
->
ai

23 < 85 ?

Stacktm=1
interpreting the operator IF (a[max]IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Stack

Stackid max=0

Stackid max=0id i=1
interpreting the operator max:=i
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

max:=1

Stack

Stackid i=1

Stackid i=1id i=1

Stackid i=1id i=1const=1
interpreting the operator (i+1)
+
i1

2 = 1 + 1

Stackid i=1tm=2
interpreting the operator i:=(i+1)
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

i:=2

Stack

Stackid i=2

Stackid i=2id alen=5
interpreting the operator (i<
ialen

2 < 5 ?

Stacktm=1
interpreting the operator IF (iIF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Stack

StackWHILE:
interpreting the operator WHILE:
label
WHILE

StackWHILE:
interpreting the operator GOTO WHILE
GOTO
label
WHILE
:=
maxvalue->
amax
goto WHILE
WHILE:
Stackid a=0

Stackid a=0id max=1
interpreting the operator a[max]
->
amax
->
ai
a[1]=85
Stacktm=85

Stacktm=85id a=0

Stacktm=85id a=0id i=2
interpreting the operator a[i]
->
ai
a[2]=10
Stacktm=85tm=10
interpreting the operator (a[max]<
->
amax
->
ai

85 < 10 ?

Stacktm=0
interpreting the operator IF (a[max]IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Stackid i=2

Stackid i=2id i=2

Stackid i=2id i=2const=1
interpreting the operator (i+1)
+
i1

3 = 2 + 1

Stackid i=2tm=3
interpreting the operator i:=(i+1)
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

i:=3

Stack

Stackid i=3

Stackid i=3id alen=5
interpreting the operator (i<
ialen

3 < 5 ?

Stacktm=1
interpreting the operator IF (iIF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Stack

StackWHILE:
interpreting the operator WHILE:
label
WHILE

StackWHILE:
interpreting the operator GOTO WHILE
GOTO
label
WHILE
:=
maxvalue->
amax
goto WHILE
WHILE:
Stackid a=0

Stackid a=0id max=1
interpreting the operator a[max]
->
amax
->
ai
a[1]=85
Stacktm=85

Stacktm=85id a=0

Stacktm=85id a=0id i=3
interpreting the operator a[i]
->
ai
a[3]=47
Stacktm=85tm=47
interpreting the operator (a[max]<
->
amax
->
ai

85 < 47 ?

Stacktm=0
interpreting the operator IF (a[max]IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Stackid i=3

Stackid i=3id i=3

Stackid i=3id i=3const=1
interpreting the operator (i+1)
+
i1

4 = 3 + 1

Stackid i=3tm=4
interpreting the operator i:=(i+1)
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

i:=4

Stack

Stackid i=4

Stackid i=4id alen=5
interpreting the operator (i<
ialen

4 < 5 ?

Stacktm=1
interpreting the operator IF (iIF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Stack

StackWHILE:
interpreting the operator WHILE:
label
WHILE

StackWHILE:
interpreting the operator GOTO WHILE
GOTO
label
WHILE
:=
maxvalue->
amax
goto WHILE
WHILE:
Stackid a=0

Stackid a=0id max=1
interpreting the operator a[max]
->
amax
->
ai
a[1]=85
Stacktm=85

Stacktm=85id a=0

Stacktm=85id a=0id i=4
interpreting the operator a[i]
->
ai
a[4]=62
Stacktm=85tm=62
interpreting the operator (a[max]<
->
amax
->
ai

85 < 62 ?

Stacktm=0
interpreting the operator IF (a[max]IF
<
->
amax
->
ai
:=
maxi
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Stackid i=4

Stackid i=4id i=4

Stackid i=4id i=4const=1
interpreting the operator (i+1)
+
i1

5 = 4 + 1

Stackid i=4tm=5
interpreting the operator i:=(i+1)
:=
i+
i1
IF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

i:=5

Stack

Stackid i=5

Stackid i=5id alen=5
interpreting the operator (i<
ialen

5 < 5 ?

Stacktm=0
interpreting the operator IF (iIF
<
ialen
GOTO
label
WHILE
:=
maxvalue->
amax

Stackid maxvalue=0

Stackid maxvalue=0id a=0

Stackid maxvalue=0id a=0id max=1
interpreting the operator a[max]
->
amax
a[1]=85
Stackid maxvalue=0tm=85
interpreting the operator maxvalue:=a[max]
:=
maxvalue->
amax

maxvalue:=85

Stack
program ext2.tri is completed

THE VARIABLES:

alen=5
a=0
max=1
i=5
maxvalue=85

ARRAYS:

a2385104762

Interpreter ended at Sun Dec 12 23:11:28 2010