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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 54 - (show annotations) (download) (as text)
Tue Aug 2 11:20:09 2005 UTC (19 years, 2 months ago) by jds
File MIME type: text/x-chdr
File size: 5615 byte(s)
Manual rework of doxygen comments in all headers.
- Added @file comment to all headers.
- Added parameter names to all function declarations in headers.
- Corrected comment referencing where necessary.
- Split some comments which documented blocks of declarations.
- Converted notes about required work into @todo comments so doxygen can generate a todo list.
Minor bug fixes.
1 /*
2 * Ascend Instance Atom Size Functions.
3 * by Tom Epperly & Ben Allan
4 * 8/16/89
5 * Version: $Revision: 1.4 $
6 * Version control file: $RCSfile: atomsize.h,v $
7 * Date last modified: $Date: 1997/07/18 12:28:03 $
8 * Last modified by: $Author: mthomas $
9 *
10 * This file is part of the Ascend Language Interpreter.
11 *
12 * Copyright (C) 1996 Benjamin Andrew Allan
13 * based on instance.c
14 * Copyright (C) 1990, 1993, 1994 Thomas Guthrie Epperly
15 *
16 * The Ascend Language Interpreter is free software; you can redistribute
17 * it and/or modify it under the terms of the GNU General Public License as
18 * published by the Free Software Foundation; either version 2 of the
19 * License, or (at your option) any later version.
20 *
21 * The Ascend Language Interpreter is distributed in hope that it will be
22 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24 * 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 Foundation,
28 * Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check the file named
29 * COPYING.
30 */
31
32 /** @file
33 * Byte length calculation routines for atoms/relations.
34 * Routines provided to fill the byte length field of the type description.
35 * <pre>
36 * When #including atomsize.h, make sure these files are #included first:
37 * #include "utilities/ascConfig.h"
38 * #include "instance_enum.h"
39 * #include "childinfo.h"
40 * </pre>
41 */
42
43 #ifndef __ATOMSIZE_H_SEEN__
44 #define __ATOMSIZE_H_SEEN__
45
46 extern unsigned long ConstantByteLength(enum inst_t it);
47 /**<
48 * <!-- unsigned long ConstantByteLength(it) -->
49 * <!-- enum inst_t it; -->
50 * Returns the number of bytes needed for the Constant instance of type it.
51 */
52
53 extern unsigned long RealAtomByteLength(unsigned long num_children,
54 CONST struct ChildDesc *c);
55 /**<
56 * <!-- unsigned long RealAtomByteLength(num_children,c) -->
57 * <!-- unsigned long num_children; -->
58 * <!-- const struct ChildDesc *c; -->
59 * Given the number of children and descriptions of the children, this
60 * routine will calculate the number of bytes needed for the instance.
61 */
62
63 extern unsigned long IntegerAtomByteLength(unsigned long num_children,
64 CONST struct ChildDesc *c);
65 /**<
66 * <!-- unsigned long IntegerAtomByteLength(num_children,c) -->
67 * <!-- unsigned long num_children; -->
68 * <!-- const struct ChildDesc *c; -->
69 * Given the number of children and descriptions of the children, this
70 * routine will calculate the number of bytes needed for the instance.
71 */
72
73 extern unsigned long BooleanAtomByteLength(unsigned long num_children,
74 CONST struct ChildDesc *c);
75 /**<
76 * <!-- unsigned long BooleanAtomByteLength(num_children,c) -->
77 * <!-- unsigned long num_children; -->
78 * <!-- const struct ChildDesc *c; -->
79 * Given the number of children and descriptions of the children, this
80 * routine will calculate the number of bytes needed for the instance.
81 */
82
83 extern unsigned long SetAtomByteLength(unsigned long num_children,
84 CONST struct ChildDesc *c);
85 /**<
86 * <!-- unsigned long SetAtomByteLength(num_children,c) -->
87 * <!-- unsigned long num_children; -->
88 * <!-- const struct ChildDesc *c; -->
89 * Given the number of children and descriptions of the children, this
90 * routine will calculate the number of bytes needed for the instance.
91 */
92
93 extern unsigned long SymbolAtomByteLength(unsigned long num_children,
94 CONST struct ChildDesc *c);
95 /**<
96 * <!-- unsigned long SymbolAtomByteLength(num_children,c) -->
97 * <!-- unsigned long num_children; -->
98 * <!-- const struct ChildDesc *c; -->
99 * Given the number of children and descriptions of the children, this
100 * routine will calculate the number of bytes needed for the instance.
101 */
102
103 extern unsigned long RelationAtomByteLength(unsigned long num_children,
104 CONST struct ChildDesc *c);
105 /**<
106 * <!-- unsigned long RelationAtomByteLength(num_children,c) -->
107 * <!-- unsigned long num_children; -->
108 * <!-- const struct ChildDesc *c; -->
109 * Given the number of children and descriptions of the children, this
110 * routine will calculate the number of bytes needed for the instance.
111 */
112
113 extern unsigned long LogRelAtomByteLength(unsigned long num_children,
114 CONST struct ChildDesc *c);
115 /**<
116 * <!-- unsigned long LogRelAtomByteLength(num_children,c) -->
117 * <!-- unsigned long num_children; -->
118 * <!-- const struct ChildDesc *c; -->
119 * Given the number of children and descriptions of the children, this
120 * routine will calculate the number of bytes needed for the instance.
121 */
122
123 #endif /* __ATOMSIZE_H_SEEN__ */
124

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