Start of Tri Parser for a Program P12.tri at Fri Jun 01 15:29:52 2001


Scanner started

Input program:

# READ a ; y := 1 + 2 + 3 + a ; WRITE y #

Scanned program:

1 22 4 52 2 4 53 5 11 54 7 11 55 7 11 56 7 4 52 2 23 4 53 1

Identifiers:a, y;

Constants:1, 2, 3;

Scanner ended

Parser started


Stack & Word # <•READ#i# a ; #i# y := #c# 1 + #c# 2 + #c# 3 + #i# a ; WRITE #i# y #

Stack & Word # <•READ =•#i#; #i# y := #c# 1 + #c# 2 + #c# 3 + #i# a ; WRITE #i# y #


Stack & Word # <•lugemine; #i# y := #c# 1 + #c# 2 + #c# 3 + #i# a ; WRITE #i# y #

Parsing tree

lugemine
a



Stack & Word # <•operaator; #i# y := #c# 1 + #c# 2 + #c# 3 + #i# a ; WRITE #i# y #



Stack & Word # <•operaatorid13; #i# y := #c# 1 + #c# 2 + #c# 3 + #i# a ; WRITE #i# y #


Stack & Word # <•operaatorid13 =•;#i# y := #c# 1 + #c# 2 + #c# 3 + #i# a ; WRITE #i# y #

Stack & Word # <•operaatorid13 =•; <•#i#:= #c# 1 + #c# 2 + #c# 3 + #i# a ; WRITE #i# y #


Stack & Word # <•operaatorid13 =•; <•muutuja:= #c# 1 + #c# 2 + #c# 3 + #i# a ; WRITE #i# y #


Stack & Word # <•operaatorid13 =•; <•muutuja =•:=#c# 1 + #c# 2 + #c# 3 + #i# a ; WRITE #i# y #

Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•#c#+ #c# 2 + #c# 3 + #i# a ; WRITE #i# y #


Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•tegur+ #c# 2 + #c# 3 + #i# a ; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•yksliige+ #c# 2 + #c# 3 + #i# a ; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav+ #c# 2 + #c# 3 + #i# a ; WRITE #i# y #


Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+#c# 2 + #c# 3 + #i# a ; WRITE #i# y #

Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+ <•#c#+ #c# 3 + #i# a ; WRITE #i# y #


Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+ <•tegur+ #c# 3 + #i# a ; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+ <•yksliige+ #c# 3 + #i# a ; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+ =•aritmav2+ #c# 3 + #i# a ; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav+ #c# 3 + #i# a ; WRITE #i# y #

Parsing tree

aritmav
12


Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+#c# 3 + #i# a ; WRITE #i# y #

Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+ <•#c#+ #i# a ; WRITE #i# y #


Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+ <•tegur+ #i# a ; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+ <•yksliige+ #i# a ; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+ =•aritmav2+ #i# a ; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav+ #i# a ; WRITE #i# y #

Parsing tree

aritmav
aritmav
12
3


Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+#i# a ; WRITE #i# y #

Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+ <•#i#; WRITE #i# y #


Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+ <•tegur; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+ <•yksliige; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav =•+ =•aritmav2; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= <•aritmav; WRITE #i# y #

Parsing tree

aritmav
aritmav
aritmav
12
3
a



Stack & Word # <•operaatorid13 =•; <•muutuja =•:= =•omistamine1; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•omistamine; WRITE #i# y #

Parsing tree

omistamine
yaritmav
aritmav
aritmav
12
3
a



Stack & Word # <•operaatorid13 =•; <•operaator; WRITE #i# y #



Stack & Word # <•operaatorid13 =•; <•operaatorid13; WRITE #i# y #


Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•;WRITE #i# y #

Stack & Word # <•operaatorid13 =•; <•operaatorid13 =•; <•WRITE#i# y #

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


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

Parsing tree

kirjutamine
y



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



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



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



Stack & Word # =•operaatorid#



Stack & Word programm12#

the parsing is completed

Parsing tree

programm12
lugemine
a
omistamine
yaritmav
aritmav
aritmav
12
3
a
kirjutamine
y

Table of constants

c1=1c2=2c3=3

Table of identifiers

i1=ai2=y

Result tables


FileSize
P12.prm28
P12.t1160
P12.it12
P12.kt12
P12.pt504

Parser ended at Fri Jun 01 15:29:52 2001