1 |
aw0a |
1 |
/* |
2 |
|
|
* Utility functions for Ascend |
3 |
|
|
* Version: $Revision: 1.2 $ |
4 |
|
|
* Version control file: $RCSfile: old_utils.h,v $ |
5 |
|
|
* Date last modified: $Date: 1998/01/29 01:04:09 $ |
6 |
|
|
* Last modified by: $Author: ballan $ |
7 |
|
|
* Part of Ascend |
8 |
|
|
* |
9 |
|
|
* This file is part of the Ascend Programming System. |
10 |
|
|
* |
11 |
|
|
* Copyright (C) 1990 Karl Michael Westerberg |
12 |
|
|
* Copyright (C) 1993 Joseph James Zaher |
13 |
|
|
* Copyright (C) 1993, 1994 Benjamin Andrew Allan, Joseph James Zaher |
14 |
|
|
* |
15 |
|
|
* The Ascend Programming System is free software; you can redistribute |
16 |
|
|
* it and/or modify it under the terms of the GNU General Public License as |
17 |
|
|
* published by the Free Software Foundation; either version 2 of the |
18 |
|
|
* License, or (at your option) any later version. |
19 |
|
|
* |
20 |
|
|
* Ascend is distributed in hope that it will be |
21 |
|
|
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
22 |
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
23 |
|
|
* General Public License for more details. |
24 |
|
|
* |
25 |
|
|
* You should have received a copy of the GNU General Public License |
26 |
|
|
* along with the program; if not, write to the Free Software Foundation, |
27 |
|
|
* Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check the file named |
28 |
|
|
* COPYING. |
29 |
jds |
54 |
*/ |
30 |
|
|
|
31 |
|
|
/** @file |
32 |
|
|
* THE UTILITIES IN THIS HEADER ARE DEPRECATED. |
33 |
|
|
* <pre> |
34 |
aw0a |
1 |
* This module defines the dimensionality checking and some other |
35 |
|
|
* auxillaries for Ascend. |
36 |
|
|
* |
37 |
|
|
* This file is called old_utils because these utilities are outdated and |
38 |
|
|
* need to go away. DO NOT MAKE ANY MORE REFERENCES TO THESE FUNCTIONS! |
39 |
jds |
54 |
* |
40 |
aw0a |
1 |
* Contents: ASCEND Utilities module |
41 |
|
|
* |
42 |
|
|
* Authors: Karl Westerberg |
43 |
|
|
* Joseph Zaher |
44 |
|
|
* |
45 |
|
|
* Dates: 06/90 - original version |
46 |
|
|
* 03/94 - Re-wrote name making functions which no longer |
47 |
|
|
* need pre-allocated string space as an argument |
48 |
|
|
* to write to. Added an additional function which |
49 |
|
|
* creates instance names utilizing the shortest |
50 |
|
|
* path. The dimension string output function also |
51 |
|
|
* no longer requires pre-allocation of a string. |
52 |
|
|
* 04/94 - Provided a relation dimension checker. |
53 |
|
|
* |
54 |
|
|
* Description: This module provides supplementary functions which may |
55 |
|
|
* prove useful by any client of the ASCEND system. |
56 |
|
|
* |
57 |
jds |
54 |
* Requires: #include "utilities/ascConfig.h" |
58 |
|
|
* #include "compiler/instance_enum.h" |
59 |
|
|
* #include "compiler/fractions.h" |
60 |
|
|
* #include "compiler/dimen.h" |
61 |
|
|
* #include "compiler/relation_type.h" |
62 |
|
|
* </pre> |
63 |
aw0a |
1 |
*/ |
64 |
jds |
54 |
|
65 |
aw0a |
1 |
#ifndef _OLD_UTILS_H |
66 |
|
|
#define _OLD_UTILS_H |
67 |
|
|
|
68 |
jds |
54 |
/** |
69 |
aw0a |
1 |
* functions that are soon to go away are surrounded with |
70 |
|
|
* #if (NOLONGERSUPPORTED == 0). These functions should not be used. |
71 |
|
|
*/ |
72 |
|
|
#define NOLONGERSUPPORTED 1 |
73 |
|
|
|
74 |
johnpye |
89 |
extern char *asc_make_dimensions(CONST dim_type *dim); |
75 |
jds |
54 |
/**< |
76 |
|
|
* <!-- dimens = asc_make_dimensions(dim) --> |
77 |
|
|
* <!-- char *dimens; --> |
78 |
|
|
* <!-- dim_type *dim; --> |
79 |
aw0a |
1 |
* |
80 |
|
|
* Prints the dimensions to a sufficiently long string which |
81 |
|
|
* is created and returned. The string should be destroyed when |
82 |
|
|
* no longer in use. |
83 |
jds |
54 |
* |
84 |
|
|
* @deprecated No longer supported. |
85 |
aw0a |
1 |
*/ |
86 |
|
|
|
87 |
|
|
extern int g_check_dimensions_noisy; |
88 |
jds |
54 |
/**< |
89 |
|
|
* If 0, warnings are suppressed. If 1, warnings are given |
90 |
|
|
* from asc_check_dimensions(). |
91 |
|
|
* |
92 |
|
|
* @deprecated No longer supported. |
93 |
aw0a |
1 |
*/ |
94 |
|
|
|
95 |
jds |
54 |
extern int asc_check_dimensions(struct relation *rel, dim_type *dimens); |
96 |
|
|
/**< |
97 |
|
|
* <!-- valid = asc_check_dimensions(rel,dimens); --> |
98 |
|
|
* <!-- int valid; --> |
99 |
|
|
* <!-- struct relation *rel; --> |
100 |
|
|
* <!-- dim_type *dimens; --> |
101 |
aw0a |
1 |
* |
102 |
|
|
* Scans a relation in postfix and collects all dimensional |
103 |
|
|
* information by applying each token. It returns a value of TRUE |
104 |
|
|
* only if no real instances or real atom instances with wild |
105 |
|
|
* dimensionality and no dimensional inconsistencies were encountered. |
106 |
|
|
* If the return value is 2 rather than 1, then the dimensionality |
107 |
|
|
* has been determined before. |
108 |
|
|
* The address of an allocated dimension type is passed in so that |
109 |
|
|
* the dimensions of the relation (or at least what the function |
110 |
jds |
54 |
* thinks the dimensions ought to be) can be also obtained.<br><br> |
111 |
|
|
* |
112 |
|
|
* |
113 |
|
|
* THIS ONLY WORKS ON e_token relations and later for e_opcode |
114 |
|
|
* relations. rel is assumed to be valid when called. !!! |
115 |
|
|
* @deprecated No longer supported. |
116 |
aw0a |
1 |
*/ |
117 |
jds |
54 |
|
118 |
|
|
#endif /* _OLD_UTILS_H */ |
119 |
|
|
|