comparison anagram/agcore/tsd.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 * tsd.h - tuple set dictionary
7 */
8
9 #ifndef TSD_H
10 #define TSD_H
11
12 #define check_tsd(t) assert(!invalid_tsd(t))
13
14 struct tsd {
15 int *sb;
16 unsigned nt;
17 unsigned tw;
18 unsigned na;
19 };
20
21 void at(tsd *t, ...);
22 tsd *copy_tuple_set(tsd *t);
23 tsd *delete_tsd(tsd *ts);
24 tsd *init_tsd(unsigned n);
25 int invalid_tsd(tsd *t);
26 void purge_tsd(tsd *r, tsd *k);
27 void p1_tsd(tsd *r, int rc, tsd *k, int kc);
28 void reset_tsd(tsd *ts);
29 tsd *resize_tsd(tsd *ts, unsigned n);
30 int sit(tsd *t, ...);
31 tsd *spec_tsd(unsigned size, unsigned n);
32 void xtx(tsd *t, unsigned x, ...);
33 void xtxf(tsd *t, unsigned x, ...);
34
35
36 #endif /* TSD_H */