comparison anagram/guisupport/tracedc.h @ 0:13d2b8934445

Import AnaGram (near-)release tree into Mercurial.
author David A. Holland
date Sat, 22 Dec 2007 17:52:45 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:13d2b8934445
1 /*
2 * AnaGram, A System for Syntax Directed Programming
3 * Copyright 1993-2002 Parsifal Software. All Rights Reserved.
4 * See the file COPYING for license and usage terms.
5 *
6 * tracedc.h
7 */
8
9 #ifndef TRACEDC_H
10 #define TRACEDC_H
11
12 #include "dc.h"
13 #include "tsd.h"
14
15
16 class trace_window_dc : public dc {
17 public:
18 dc::ref menu;
19 unsigned look_ahead;
20 tsd *parser_stack;
21
22 trace_window_dc(AgString, tsd *);
23 trace_window_dc(AgString, AgString, tsd *);
24 trace_window_dc(AgString, tsd *, unsigned, unsigned, unsigned);
25 trace_window_dc(trace_window_dc &x)
26 : dc(x), look_ahead(x.look_ahead),
27 parser_stack(copy_tuple_set(x.parser_stack))
28 {}
29
30 ~trace_window_dc(void) {
31 dc::ref m(menu);
32 menu.discardData();
33 //close_window(m);
34 //if (!clone()) delete_tsd(parser_stack);
35 delete_tsd(parser_stack);
36 }
37 void init(void);
38 class ref : public dc::ref {
39 public:
40 ref(void) {}
41 ref(trace_window_dc *x) : dc::ref(x) {}
42 ref(const ref &x) : dc::ref(x) {}
43 ref(dc::ref x) : dc::ref(x) {}
44
45 operator trace_window_dc *(void) {
46 return (trace_window_dc *) window;
47 }
48 trace_window_dc *operator ->(void) {
49 return (trace_window_dc *) window;
50 }
51 };
52 };
53
54 #endif /* TRACEDC_H */