/[ascend]/trunk/base/generic/compiler/childio.h
ViewVC logotype

Contents of /trunk/base/generic/compiler/childio.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1063 - (show annotations) (download) (as text)
Sun Jan 7 07:54:06 2007 UTC (17 years, 9 months ago) by johnpye
File MIME type: text/x-chdr
File size: 3117 byte(s)
Changed ASC_DLLSPEC(TYPE) to ASC_DLLSPEC TYPE, because it was causing havoc with doxygen and ctags.
1 /* ASCEND modelling environment
2 Copyright (C) 1998 Carnegie Mellon University
3 Copyright (C) 2006 Carnegie Mellon University
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2, or (at your option)
8 any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
19 *//** @file
20 This is a package of routines to process child list I/O.
21
22 Requires:
23 #include "utilities/ascConfig.h"
24 #include "compiler.h"
25 #include "list.h"
26 #include "child.h"
27 *//*
28 by Ben Allan
29 Version: $Revision: 1.3 $
30 Version control file: $RCSfile: childio.h,v $
31 Date last modified: $Date: 1998/06/11 17:36:23 $
32 Last modified by: $Author: ballan $
33 */
34
35 #ifndef ASC_CHILDIO_H
36 #define ASC_CHILDIO_H
37
38 #include <utilities/ascConfig.h>
39
40 /*
41 * WriteChildList(fp,cl)
42 */
43 /**
44 * Write what is known at parse time about the children in the child list
45 * given. What is known may be surprising. It may be only mildly
46 * accurate.
47 */
48 extern void WriteChildList(FILE *fp, ChildListPtr cl);
49
50 /**
51 * Return a string containing buckets o'stuff about the nth child in list.
52 * The string will make use of braces as necessary to delimit
53 * items. What each item is will be subject to change according
54 * to the meta-data given by WriteChildMetaDetails.
55 * Items are booleans, integers or strings as explained below.<br><br>
56 *
57 * The string returned is the caller's responsibility.
58 */
59 ASC_DLLSPEC char *WriteChildDetails(ChildListPtr cl, unsigned long n);
60
61 /**
62 * Returns a string with fields brace delimited. Each field
63 * describes the corresponding field of a WriteChildDetails
64 * return string. The ordering and size may be expected to shift as
65 * ASCEND evolves. The hope is that the contents of metas individual
66 * fields will shift much more slowly than the ordering, number of
67 * fields and so forth. Using metas, one can expect to write code
68 * which survives changes in plain s.<br><br>
69 *
70 * The returned string is NOT yours to free. (safe to keep, though).
71 * The format is one or more elements in braces like: <br>
72 * "{data} {data} {data}" <br>
73 * where data is a triplet separated by - "name-ctype-{explanation}"
74 * Name is a single string with no blanks,
75 * ctype is boolean, integer, or string.
76 * explanation is for human consumption and explains the field.
77 */
78 ASC_DLLSPEC CONST char *WriteChildMetaDetails(void);
79
80 /**
81 * Issues a child missing error to file if the same childname/scope
82 * has not been missing since the last call with any NULL argument.
83 */
84 ASC_DLLSPEC void WriteChildMissing(FILE *fp, char *scope, symchar *childname);
85
86 #endif /* ASC_CHILDIO_H */
87

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22