Added upstream from http://ftp.icm.edu.pl/pub/loglan/
[loglan.git] / sources / pass1 / names / printmem.pas
1 procedure printmem;\r
2 var i,j,k:integer;\r
3 begin\r
4   writeln; writeln(' ================ zmienne ============================');\r
5   writeln; writeln;\r
6   writeln('   strings      ', strings);\r
7   writeln('   ipradr       ', ipradr);\r
8   writeln('   display(fiz) ', display);\r
9   writeln('   display2     ', display2);\r
10   writeln('   temporary    ',temporary);\r
11   writeln('   main         ', main);\r
12   writeln('   lower        ', lower);\r
13   writeln('   upper        ', upper);\r
14   writeln('   free         ', free);\r
15   writeln('   freeitem     ', freeitem);\r
16   writeln('   lastused     ', lastused);\r
17   writeln('   headk        ', headk);\r
18   writeln('   headk2       ', headk2);\r
19   writeln; writeln;\r
20   writeln('   element slownika dla none ', m^[0],'  ', m^[1]);\r
21   writeln; writeln;\r
22   writeln('================= opisy typow pierwotnych i listy ===============');\r
23   j := 0;\r
24   for i := ipradr to display-1 do\r
25   begin\r
26     if j mod 5 = 0 then\r
27     begin\r
28        writeln;\r
29        write('  ',i:7,'***');\r
30     end;\r
31     j := j+1;\r
32     write(m^[i]:9);\r
33   end;\r
34   writeln; writeln;\r
35   writeln('======================= display ===============');\r
36   writeln; writeln;\r
37   for i := 0 to lastprot do\r
38   begin\r
39      write('  ',display+i:7,display2+i:7, '(',i:5,')',m^[display+i], m^[display2+i]);\r
40      writeln;\r
41   end;\r
42   writeln; writeln;\r
43   writeln(' =================   obiekt main ================');\r
44   i := m^[main];\r
45   j := 0;\r
46   for k := main to main+i-1 do\r
47   begin\r
48     if j mod 5 = 0 then\r
49     begin\r
50       writeln;\r
51       write('  ',k:7,'***');\r
52     end;\r
53     j := j+1;\r
54     write(m^[k]:9);\r
55   end;\r
56   writeln; writeln;\r
57   writeln('===================== obiekty (lower to latused) ==========');\r
58   writeln; writeln;\r
59   j :=0;\r
60   for i := lower to lastused do\r
61   begin\r
62      if j mod 5 = 0 then\r
63      begin\r
64         writeln;\r
65         write('   ',i:7,'***');\r
66     end;\r
67     j := j+1;\r
68     write(m^[i]:9);\r
69  end;\r
70  writeln; writeln;\r
71  writeln('======================= tablica H (upper downto lastitem) =====');\r
72  writeln; writeln;\r
73  i := upper-1;\r
74  while i>= lastitem do\r
75  begin\r
76    writeln('   ',i:7,'***',m^[i]:9, m^[i+1]:9);\r
77    i:=i-2;\r
78  end;\r
79  writeln; writeln;\r
80  writeln('=================================================================');\r
81 end (* printmem *);\r
82       \r
83 \r
84  procedure printkind(kind:protkind);\r
85  begin\r
86     case kind of\r
87       class :     writeln('     class');\r
88       lrecord:    writeln('     record');\r
89       coroutine:  writeln('     coroutine');\r
90       process:    writeln('     process);\r
91       block :     writeln('     block');\r
92       prefblock:  writeln('     prefblock');\r
93       lfunction:  writeln('     function');\r
94       lprocedure: writeln('     procedure');\r
95       handler: writeln('     handler');\r
96    end;\r
97  end;             \r
98               \r
99 procedure printprot;\r
100 var i:integer;\r
101 begin\r
102   writeln; writeln;     \r
103   writeln('================ prototypes  ============== ');\r
104   writeln('   lastprot     ', lastprot);\r
105   for i := mainblock to lastprot do\r
106   with prototype[i]^ do\r
107   begin\r
108      writeln; writeln;\r
109      write('   prototyp nr ',i);printkind(kind);\r
110      writeln('             SL        ', slprototype);\r
111      writeln('             codeaddr  ', codeaddr);\r
112      writeln('             appetite  ', appetite);\r
113      writeln('             span      ', span);\r
114      writeln('             reflist   ', reflist, lthreflist);\r
115      writeln('             parlist   ', parlist,lthparlist);\r
116      writeln('             preflist  ',preflist, lthpreflist);\r
117      writeln('             virtlist  ', virtlist);\r
118      if (kind = lfunction) or (kind = lprocedure) then\r
119      begin\r
120         writeln('             pardescr  ', pfdescr);\r
121         if kind = lfunction then \r
122         writeln('             type      ', finaltype);\r
123      end;\r
124    end;        \r
125  end (* printprot *);           \r
126