Start of TRI Parser for a Program P6.tri at Sat Apr 03 16:11:10 2004


Scanner started

Input program:

# READ n ; F := 1 ; I := 0 ; M1 : I := I + 1 ; IF I > n THEN GOTO M2 ; F := F * I ; GOTO M1 ; M2 : WRITE F #

Scanned program:

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

Identifiers:n, F, I, M1, M2;

Constants:1, 0;

Scanner ended

Parser started


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

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


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

Parsing tree

lugemine
n



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



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


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

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


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


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

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


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



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



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



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



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

Parsing tree

omistamine
F1



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



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


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

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


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


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

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


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



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



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



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



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

Parsing tree

omistamine
I0



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



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


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

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


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

Parsing tree

label
M1


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

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


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


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

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


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



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



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


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

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


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



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



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



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

Parsing tree

aritmav
I1



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



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

Parsing tree

omistamine
Iaritmav
I1



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



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



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


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

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

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


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



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



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


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

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


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



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



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



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



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

Parsing tree

loogilav
In


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


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

Parsing tree

tingimus
loogilav
In


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

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


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

Parsing tree

label
M2



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

Parsing tree

suunamine
label
M2



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



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



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



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


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

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


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


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

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


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



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


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

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


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



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



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

Parsing tree

yksliige
FI



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



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



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

Parsing tree

omistamine
Fyksliige
FI



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



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


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

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

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


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

Parsing tree

label
M1



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

Parsing tree

suunamine
label
M1



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



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


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

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


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

Parsing tree

label
M2


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

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

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


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

Parsing tree

kirjutamine
F



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



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



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



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

programm12
lugemine
n
omistamine
F1
omistamine
I0
label
M1
omistamine
Iaritmav
I1
tingimus
loogilav
In
suunamine
label
M2
omistamine
Fyksliige
FI
suunamine
label
M1
label
M2
kirjutamine
F

Table of constants

c1=1c2=0

Table of identifiers

i1=ni2=Fi3=Ii4=M1i5=M2

Result tables


FileSize
P6.prm28
P6.t1200
P6.it20
P6.kt8
P6.pt1260

Parser ended at Sat Apr 03 16:11:10 2004