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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 33 - (show annotations) (download) (as text)
Sun Dec 26 20:06:01 2004 UTC (20 years, 10 months ago) by ben.allan
File MIME type: text/x-chdr
File size: 2892 byte(s)
First pass at doxygenation -- mechanically putting in ** and where
most likely needed **< using sed. Lots of cleanup needed to
be really useful, including grouping data types and their
member methods into class-like documentation.
1 /**
2 * parpend.h
3 * by Ben Allan
4 * Jan 5, 1998
5 * Part of ASCEND
6 * Version: $Revision: 1.2 $
7 * Version control file: $RCSfile: parpend.h,v $
8 * Date last modified: $Date: 1998/06/16 16:38:46 $
9 * Last modified by: $Author: mthomas $
10 *
11 * This file is part of the Ascend Language Interpreter.
12 *
13 * Copyright (C) 1998 Carnegie Mellon University
14 *
15 * The Ascend Language Interpreter is free software; you can
16 * redistribute it and/or modify it under the terms of the GNU
17 * General Public License as published by the Free Software
18 * Foundation; either version 2 of the License, or (at your option)
19 * any later version.
20 *
21 * The Ascend Language Interpreter is distributed in hope that it
22 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
23 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
24 * See the GNU General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with the program; if not, write to the Free Software
28 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check
29 * the file named COPYING.
30 */
31
32 /** this file should be resorbed into the parameter list processing
33 * code that results when instantiate.c is split up.
34 * In the meanwhile...
35 */
36 #ifndef __PARPEND_H_SEEN__
37 #define __PARPEND_H_SEEN__
38
39 enum ppstatus {
40 pp_ERR =0,
41 pp_ISA, /** IS_A of simple to be done, from absorbed. */
42 pp_ISAARR, /** IS_A of array to do, from absorbed and
43 * gets converted to asar during processing.
44 */
45 pp_ARR, /** array that's constructed but requires range checking */
46 pp_ASGN, /** assignment to do in absorbed objects */
47 pp_ASSC, /** scalar assignment to check in absorbed objects */
48 pp_ASAR, /** Array to be checked for being completely assigned,
49 * but its subscript range is presumed right.
50 */
51 pp_WV, /** WITH_VALUE to be checked */
52 pp_DONE /** finished statement */
53 };
54
55 struct parpendingentry {
56 struct Set *arg; /** parameter given in user's IS_A statement */
57 struct Statement *s;
58 struct Instance *inst;
59 struct parpendingentry *next;
60 enum ppstatus status;
61 int argn; /** the psl position if >0, or -(the absorbed position) if <0 */
62 /** argn==0 is an error */
63 };
64
65 /**
66 * allocate a parpending entry.
67 */
68 extern struct parpendingentry *CreatePPE(void);
69
70 /**
71 * destroy a parpending entry.
72 */
73 extern void DestroyPPE(struct parpendingentry *);
74
75 /**
76 * starts memory recycle. do not call twice before stopping recycle.
77 */
78 extern void ppe_init_pool(void);
79
80 /**
81 * stops memory recycle. do not call while ANY parpending are outstanding.
82 */
83 extern void ppe_destroy_pool(void);
84
85 /**
86 * write the pool report to ASCERR for the ppe pool.
87 */
88 extern void ppe_report_pool(void);
89
90 #endif /** __PARPEND_H_SEEN__ */

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