Start of Tri Parser for a Program Pv1.tri at Tue Dec 04 12:28:43 2001


Scanner started

Input program:

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

Scanned program:

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

Identifiers:F, I, M2, M1;

Constants:0, 5;

Scanner ended

Parser started


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


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


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

no relationship between the symbols := and ;
The relationships of :=
:= < #i#
:= < #c#
:= < (
:= = omistamine1
:= = loogilav
:= < aritmav
:= < yksliige
:= < tegur

I'll try to correct..
Stack & Word # <•muutuja =•:= <•#i#; := #c# 0 ; : := + ; IF #i# I > #c# 5 THEN GOTO GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


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



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



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



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



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

Parsing tree

omistamine
FDUMMY



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



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


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

no relationship between the symbols ; and :=
The relationships of ;
; < #i#
; < GOTO
; < IF
; < READ
; < WRITE
; = operaatorid
; < operaator
; < operaatorid13
; < label
; < omistamine
; < iflause
; < suunamine
; < lugemine
; < kirjutamine
; < muutuja
; < tingimus

I'll try to correct..
Stack & Word # <•operaatorid13 =•; <•#i#:= #c# 0 ; : := + ; IF #i# I > #c# 5 THEN GOTO GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


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


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

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


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



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



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



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



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

Parsing tree

omistamine
DUMMY0



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



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


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

no relationship between the symbols ; and :
The relationships of ;
; < #i#
; < GOTO
; < IF
; < READ
; < WRITE
; = operaatorid
; < operaator
; < operaatorid13
; < label
; < omistamine
; < iflause
; < suunamine
; < lugemine
; < kirjutamine
; < muutuja
; < tingimus

I'll try to correct..
Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•#i#: := + ; IF #i# I > #c# 5 THEN GOTO GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


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

Parsing tree

label
DUMMY


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

no relationship between the symbols : and :=
The relationships of :
: < #i#
: < GOTO
: < IF
: < READ
: < WRITE
: = operaator
: < label
: < omistamine
: < iflause
: < suunamine
: < lugemine
: < kirjutamine
: < muutuja
: < tingimus

I'll try to correct..
Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•#i#:= + ; IF #i# I > #c# 5 THEN GOTO GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #


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


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

no relationship between the symbols := and +
The relationships of :=
:= < #i#
:= < #c#
:= < (
:= = omistamine1
:= = loogilav
:= < aritmav
:= < yksliige
:= < tegur

I'll try to correct..
Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•#i#+ ; IF #i# I > #c# 5 THEN GOTO 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+ ; IF #i# I > #c# 5 THEN GOTO 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+ ; IF #i# I > #c# 5 THEN GOTO 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 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 GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

no relationship between the symbols + and ;
The relationships of +
+ < #i#
+ < #c#
+ < (
+ < yksliige
+ = aritmav2
+ < tegur

I'll try to correct..
Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•label =•: <•muutuja =•:= <•aritmav =•+ <•#i#; IF #i# I > #c# 5 THEN GOTO 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 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 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 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 GOTO #i# M2 ; #i# F := #i# F * #i# I ; GOTO #i# M1 ; #i# M2 : #i# F := #i# F #

Parsing tree

aritmav
DUMMYDUMMY



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

Parsing tree

omistamine
DUMMYaritmav
DUMMYDUMMY



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

Parsing tree

loogilav
I5


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


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

Parsing tree

tingimus
loogilav
I5


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

no relationship between the symbols GOTO and GOTO
The relationships of GOTO
GOTO < #i#
GOTO = label

I'll try to correct..
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

label
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

suunamine
label
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

yksliige
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

omistamine
Fyksliige
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

label
M1



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

Parsing tree

suunamine
label
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

label
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

omistamine
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

programm12
omistamine
FDUMMY
omistamine
DUMMY0
label
DUMMY
omistamine
DUMMYaritmav
DUMMYDUMMY
tingimus
loogilav
I5
suunamine
label
M2
omistamine
Fyksliige
FI
suunamine
label
M1
label
M2
omistamine
FF

Table of constants

c1=0c2=5

Table of identifiers

i1=Fi2=Ii3=M2i4=M1i5=DUMMY

Result tables


FileSize
Pv1.prm28
Pv1.t1180
Pv1.it20
Pv1.kt8
Pv1.pt1224

Parser ended at Tue Dec 04 12:28:43 2001