Mercurial > ~dholland > hg > ag > index.cgi
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/anagram/guisupport/tracedc.h Sat Dec 22 17:52:45 2007 -0500 @@ -0,0 +1,54 @@ +/* + * AnaGram, A System for Syntax Directed Programming + * Copyright 1993-2002 Parsifal Software. All Rights Reserved. + * See the file COPYING for license and usage terms. + * + * tracedc.h + */ + +#ifndef TRACEDC_H +#define TRACEDC_H + +#include "dc.h" +#include "tsd.h" + + +class trace_window_dc : public dc { +public: + dc::ref menu; + unsigned look_ahead; + tsd *parser_stack; + + trace_window_dc(AgString, tsd *); + trace_window_dc(AgString, AgString, tsd *); + trace_window_dc(AgString, tsd *, unsigned, unsigned, unsigned); + trace_window_dc(trace_window_dc &x) + : dc(x), look_ahead(x.look_ahead), + parser_stack(copy_tuple_set(x.parser_stack)) + {} + + ~trace_window_dc(void) { + dc::ref m(menu); + menu.discardData(); + //close_window(m); + //if (!clone()) delete_tsd(parser_stack); + delete_tsd(parser_stack); + } + void init(void); + class ref : public dc::ref { + public: + ref(void) {} + ref(trace_window_dc *x) : dc::ref(x) {} + ref(const ref &x) : dc::ref(x) {} + ref(dc::ref x) : dc::ref(x) {} + + operator trace_window_dc *(void) { + return (trace_window_dc *) window; + } + trace_window_dc *operator ->(void) { + return (trace_window_dc *) window; + } + }; +}; + +#endif /* TRACEDC_H */