-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDEBUG.ACH
69 lines (39 loc) · 1.03 KB
/
DEBUG.ACH
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# DEBUG.ACH
#
# Objects to be included which respond to the 'debug' verb.
lex null full : 'debug' end
class debug_object based on null
IsAobject : TRUE # to be parseable
methods
'ACCESS' : TRUE
end
debug_object messages_d
methods
'NAME' : 'messages' -> system
'debug' : 'DEBUG MESSAGES' -> system
end
debug_object memory_d
monitor : FALSE
mem : 0
methods
'INITIAL' : 'REGISTER' -> after
'AFTER' : if monitor then {
'DEBUG MEMORY' -> system
write "Change since last monitor: ", ('FREE MEMORY' -> system) - mem
mem := 'FREE MEMORY' -> system
}
'NAME' : 'memory' -> system
'debug':
monitor := not monitor
'look' : 'DEBUG MEMORY' -> system
end
debug_object expr_d
methods
'NAME' : { 'expressions' -> system; 'expr' -> system }
'debug' : 'DEBUG EXPRESSIONS' -> system
end
debug_object stmt_d
methods
'NAME' : { 'statements' -> system; 'stmt' -> system }
'debug' : 'DEBUG STATEMENTS' -> system
end