Start of TRIGOL Interpreter for a Program P2.tri at Fri Apr 06 15:58:35 2001


Scanner started

Input program:

# #i# F := #c# 1 ; #i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Scanned program:

1 4 52 5 11 53 2 4 54 5 11 55 2 4 56 3 4 54 5 4 54 7 11 53 2 20 4 54 15 11 57 21 6 4 58 2 4 52 5 4 52 9 4 54 2 6 4 56 2 4 58 3 4 52 5 4 52 1

Identifiers:F, I, M1, M2;

Constants:1, 0, 5;

Scanner ended

Parser started


Stack & Word # <•#i#:= #c# 1 ; #i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•muutuja:= #c# 1 ; #i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•muutuja =•:=#c# 1 ; #i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•muutuja =•:= <•#c#; #i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•muutuja =•:= <•tegur; #i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•muutuja =•:= <•yksliige; #i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•muutuja =•:= <•aritmav; #i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•muutuja =•:= =•omistamine1; #i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•omistamine; #i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Parsing tree

:=
F1



Stack & Word # <•operaator; #i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13; #i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•;#i# I := #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•#i#:= #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•muutuja:= #c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•muutuja =•:=#c# 0 ; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•#c#; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•tegur; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•yksliige; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= =•omistamine1; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•omistamine; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Parsing tree

:=
I0



Stack & Word # <•operaatorid13 =•; <•operaator; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13; #i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•;#i# M1 : #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•#i#: #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label: #i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Parsing tree

M1


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•:#i# I := #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•#i#:= #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja:= #i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:=#i# I + #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•#i#+ #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•tegur+ #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•yksliige+ #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•aritmav+ #c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•aritmav =•+#c# 1 ; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•aritmav =•+ <•#c#; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•aritmav =•+ <•tegur; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•aritmav =•+ <•yksliige; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•aritmav =•+ =•aritmav2; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•aritmav; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Parsing tree

+
I1



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= =•omistamine1; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•omistamine; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Parsing tree

:=
I+
I1



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: =•operaator; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaator; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13; IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•;IF #i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF#i# I > #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF <•#i#> #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF <•tegur> #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF <•yksliige> #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF <•aritmav> #c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF <•aritmav =•>#c# 5 THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF <•aritmav =•> <•#c#THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF <•aritmav =•> <•tegurTHEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF <•aritmav =•> <•yksliigeTHEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF <•aritmav =•> <•aritmavTHEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF <•aritmav =•> =•loogilav7THEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF =•loogilavTHEN GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Parsing tree

>
I5


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•IF =•loogilav =•THENGOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•tingimusGOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Parsing tree

IF
>
I5


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•tingimus <•GOTO#i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•tingimus <•GOTO <•#i#; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•tingimus <•GOTO =•label; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Parsing tree

M2



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•tingimus <•suunamine; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Parsing tree

GOTO
M2



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•tingimus =•operaator; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•iflause; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaator; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•;#i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•#i#:= #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•muutuja:= #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•muutuja =•:=#i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•muutuja =•:= <•#i#* #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•muutuja =•:= <•tegur* #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•muutuja =•:= <•yksliige* #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•muutuja =•:= <•yksliige =•*#i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•muutuja =•:= <•yksliige =•* <•#i#; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•muutuja =•:= <•yksliige =•* <•tegur; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•muutuja =•:= <•yksliige =•* =•yksliige4; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•muutuja =•:= <•yksliige; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Parsing tree

*
FI



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•muutuja =•:= <•aritmav; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•muutuja =•:= =•omistamine1; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•omistamine; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Parsing tree

:=
F*
FI



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaator; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•;GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•GOTO#i# M1 ; #i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•GOTO <•#i#; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•GOTO =•label; #i# M2 : #i# F := #i# F #

Parsing tree

M1



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•suunamine; #i# M2 : #i# F := #i# F #

Parsing tree

GOTO
M1



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaator; #i# M2 : #i# F := #i# F #



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13; #i# M2 : #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•;#i# M2 : #i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•#i#: #i# F := #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•label: #i# F := #i# F #

Parsing tree

M2


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•label =•:#i# F := #i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•#i#:= #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja:= #i# F #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:=#i# F #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•#i##


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•tegur#



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•yksliige#



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•aritmav#



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= =•omistamine1#



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•omistamine#

Parsing tree

:=
FF



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: =•operaator#



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaator#



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; =•operaatorid#



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; =•operaatorid#



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; =•operaatorid#



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•operaatorid13 =•; =•operaatorid#



Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; =•operaatorid#



Stack & Word # <•operaatorid13 =•; =•operaatorid#



Stack & Word # =•operaatorid#



Stack & Word programm12#

the parsing is completed

Parsing tree

:=
F1
:=
I0
M1
:=
I+
I1
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
M2
:=
FF

Table of constants

c1=1c2=0c3=5

Table of identifiers

i1=Fi2=Ii3=M1i4=M2

label 'M1' is address of the operator {omistamine} (0x25d7a20)
label 'M2' is address of the operator {omistamine} (0x25d81f0)

Interpreter started

stackid F=0

:=
F1
:=
I0
:=
I+
I1
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stackid F=0 const=1

F:=1
stackid I=0

:=
I0
:=
I+
I1
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stackid I=0 const=0

I:=0
M1:
stackid I=0

stackid I=0 id I=0

+
I1
stackid I=0 id I=0 const=1

1 = 0 + 1
:=
I+
I1
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stackid I=0 tm=1

I:=1
stackid I=1

>
I5
stackid I=1 const=5

1 > 5 ?
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stacktm=0

stackid F=1

stackid F=1 id F=1

*
FI
stackid F=1 id F=1 id I=1

1 = 1 * 1
:=
F*
FI
GOTO
M1
:=
FF
stackid F=1 tm=1

F:=1
M1
stacklabel=M1

GOTO
M1
:=
FF
stacklabel=M1

goto M1
M1:
stackid I=1

stackid I=1 id I=1

+
I1
stackid I=1 id I=1 const=1

2 = 1 + 1
:=
I+
I1
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stackid I=1 tm=2

I:=2
stackid I=2

>
I5
stackid I=2 const=5

2 > 5 ?
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stacktm=0

stackid F=1

stackid F=1 id F=1

*
FI
stackid F=1 id F=1 id I=2

2 = 1 * 2
:=
F*
FI
GOTO
M1
:=
FF
stackid F=1 tm=2

F:=2
M1
stacklabel=M1

GOTO
M1
:=
FF
stacklabel=M1

goto M1
M1:
stackid I=2

stackid I=2 id I=2

+
I1
stackid I=2 id I=2 const=1

3 = 2 + 1
:=
I+
I1
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stackid I=2 tm=3

I:=3
stackid I=3

>
I5
stackid I=3 const=5

3 > 5 ?
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stacktm=0

stackid F=2

stackid F=2 id F=2

*
FI
stackid F=2 id F=2 id I=3

6 = 2 * 3
:=
F*
FI
GOTO
M1
:=
FF
stackid F=2 tm=6

F:=6
M1
stacklabel=M1

GOTO
M1
:=
FF
stacklabel=M1

goto M1
M1:
stackid I=3

stackid I=3 id I=3

+
I1
stackid I=3 id I=3 const=1

4 = 3 + 1
:=
I+
I1
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stackid I=3 tm=4

I:=4
stackid I=4

>
I5
stackid I=4 const=5

4 > 5 ?
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stacktm=0

stackid F=6

stackid F=6 id F=6

*
FI
stackid F=6 id F=6 id I=4

24 = 6 * 4
:=
F*
FI
GOTO
M1
:=
FF
stackid F=6 tm=24

F:=24
M1
stacklabel=M1

GOTO
M1
:=
FF
stacklabel=M1

goto M1
M1:
stackid I=4

stackid I=4 id I=4

+
I1
stackid I=4 id I=4 const=1

5 = 4 + 1
:=
I+
I1
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stackid I=4 tm=5

I:=5
stackid I=5

>
I5
stackid I=5 const=5

5 > 5 ?
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stacktm=0

stackid F=24

stackid F=24 id F=24

*
FI
stackid F=24 id F=24 id I=5

120 = 24 * 5
:=
F*
FI
GOTO
M1
:=
FF
stackid F=24 tm=120

F:=120
M1
stacklabel=M1

GOTO
M1
:=
FF
stacklabel=M1

goto M1
M1:
stackid I=5

stackid I=5 id I=5

+
I1
stackid I=5 id I=5 const=1

6 = 5 + 1
:=
I+
I1
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stackid I=5 tm=6

I:=6
stackid I=6

>
I5
stackid I=6 const=5

6 > 5 ?
IF
>
I5
GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stacktm=1

M2
stacklabel=M2

GOTO
M2
:=
F*
FI
GOTO
M1
:=
FF
stacklabel=M2

goto M2
M2:
stackid F=120

:=
FF
stackid F=120 id F=120

F:=120
program P2.tri is completed

THE VARIABLES:

F=120
I=6

Interpreter ended at Fri Apr 06 15:58:35 2001