Subversion Repositories Vertical

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 11
Line 1... Line 1...
1
/*
1
/*
2
 *$Header: c:\\cygwin\\cvsroot/Vert03/vertlib/lx_support.h,v 1.1.1.1 2003/11/04 23:34:56 mjames
2
 *$Header: c:\\cygwin\\cvsroot/Vert03/vertlib/lx_support.h,v 1.1.1.1 2003/11/04 23:34:56 mjames Exp $
3
 Exp $
-
 
4
 *
3
 *
5
 * $Log: lx_support.h,v $
4
 * $Log: lx_support.h,v $
6
 * Revision 1.1.1.1  2003/11/04 23:34:56  mjames
5
 * Revision 1.1.1.1  2003/11/04 23:34:56  mjames
7
 * Imported into local repositrory
6
 * Imported into local repositrory
8
 *
7
 *
Line 21... Line 20...
21
 * Mike put it here
20
 * Mike put it here
22
 *
21
 *
23
 *
22
 *
24
 * Revision 1.34  2000/10/04  10:37:11  10:37:11  mjames (Mike James)
23
 * Revision 1.34  2000/10/04  10:37:11  10:37:11  mjames (Mike James)
25
 * Modified for Vertical2 : support COMPONENTS and SIGNALS
24
 * Modified for Vertical2 : support COMPONENTS and SIGNALS
26
 *
25
 *
27
 * Revision 1.34  2000/10/04  10:37:11  10:37:11  mjames (Mike James)
26
 * Revision 1.34  2000/10/04  10:37:11  10:37:11  mjames (Mike James)
28
 * Part of Release PSAVAT01
27
 * Part of Release PSAVAT01
29
 *
28
 *
30
 * Revision 1.33  2000/10/02  11:04:16  11:04:16  mjames (Mike James)
29
 * Revision 1.33  2000/10/02  11:04:16  11:04:16  mjames (Mike James)
31
 * new_vhdl
30
 * new_vhdl
32
 *
31
 *
33
 
32
 
34
 * Revision 1.32  2000/09/27  14:42:23  14:42:23  mjames (Mike James)
33
 * Revision 1.32  2000/09/27  14:42:23  14:42:23  mjames (Mike James)
35
 
34
 
36
 * Part of Release Sep_27_ST_2000
35
 * Part of Release Sep_27_ST_2000
37
 
36
 
38
 *
37
 *
39
 
38
 
40
 * Revision 1.31  2000/09/27  10:57:48  10:57:48  mjames (Mike James)
39
 * Revision 1.31  2000/09/27  10:57:48  10:57:48  mjames (Mike James)
41
 
40
 
42
 * Moved cleanup lex_strings call to the yacc parser
41
 * Moved cleanup lex_strings call to the yacc parser
43
 
42
 
44
 * as it previously free'd strings prior to use
43
 * as it previously free'd strings prior to use
45
 
44
 
46
 * under some circumstances.
45
 * under some circumstances.
47
 
46
 
48
 *
47
 *
49
 
48
 
50
 * Revision 1.30  2000/09/21  10:15:53  10:15:53  mjames (Mike James)
49
 * Revision 1.30  2000/09/21  10:15:53  10:15:53  mjames (Mike James)
51
 
50
 
52
 * Part of Release Sep21Alpha
51
 * Part of Release Sep21Alpha
53
 
52
 
54
 *
53
 *
55
 
54
 
56
 * Revision 1.29  2000/08/25  09:57:18  09:57:18  mjames (Mike James)
55
 * Revision 1.29  2000/08/25  09:57:18  09:57:18  mjames (Mike James)
57
 
56
 
58
 * Part of Release Aug25_alpha
57
 * Part of Release Aug25_alpha
59
 
58
 
60
 *
59
 *
61
 
60
 
62
 * Revision 1.28  2000/08/16  08:57:35  08:57:35  mjames (Mike James)
61
 * Revision 1.28  2000/08/16  08:57:35  08:57:35  mjames (Mike James)
63
 
62
 
64
 * Part of Release CD01_Aug2000
63
 * Part of Release CD01_Aug2000
65
 
64
 
66
 *
65
 *
67
 
66
 
68
 * Revision 1.27  2000/08/14  14:45:15  14:45:15  mjames (Mike James)
67
 * Revision 1.27  2000/08/14  14:45:15  14:45:15  mjames (Mike James)
69
 
68
 
70
 * Part of Release Aug_14_2000
69
 * Part of Release Aug_14_2000
71
 
70
 
72
 *
71
 *
73
 
72
 
74
 * Revision 1.26  2000/08/11  08:30:36  08:30:36  mjames (Mike James)
73
 * Revision 1.26  2000/08/11  08:30:36  08:30:36  mjames (Mike James)
75
 
74
 
76
 * Part of Release Aug_11_2000
75
 * Part of Release Aug_11_2000
77
 
76
 
78
 *
77
 *
79
 
78
 
80
 * Revision 1.25  2000/08/09  10:31:52  10:31:52  mjames (Mike James)
79
 * Revision 1.25  2000/08/09  10:31:52  10:31:52  mjames (Mike James)
81
 
80
 
82
 * Part of Release Aug__9_2000
81
 * Part of Release Aug__9_2000
83
 
82
 
84
 *
83
 *
85
 
84
 
86
 * Revision 1.24  2000/05/31  11:43:04  11:43:04  mjames (Mike James)
85
 * Revision 1.24  2000/05/31  11:43:04  11:43:04  mjames (Mike James)
87
 
86
 
88
 * Part of Release May_31_2000
87
 * Part of Release May_31_2000
89
 
88
 
90
 *
89
 *
91
 
90
 
92
 * Revision 1.23  2000/05/08  17:01:42  17:01:42  mjames (Mike James)
91
 * Revision 1.23  2000/05/08  17:01:42  17:01:42  mjames (Mike James)
93
 
92
 
94
 * Part of Release May__8_2000
93
 * Part of Release May__8_2000
95
 
94
 
96
 *
95
 *
97
 
96
 
98
 * Revision 1.22  2000/05/08  16:59:35  16:59:35  mjames (Mike James)
97
 * Revision 1.22  2000/05/08  16:59:35  16:59:35  mjames (Mike James)
99
 
98
 
100
 * Part of Release May__8_2000
99
 * Part of Release May__8_2000
101
 
100
 
102
 *
101
 *
103
 
102
 
104
 * Revision 1.21  2000/05/08  16:57:12  16:57:12  mjames (Mike James)
103
 * Revision 1.21  2000/05/08  16:57:12  16:57:12  mjames (Mike James)
105
 
104
 
106
 * Part of Release May__8_2000
105
 * Part of Release May__8_2000
107
 
106
 
108
 *
107
 *
109
 
108
 
110
 * Revision 1.20  2000/03/08  16:19:14  16:19:14  mjames (Mike James)
109
 * Revision 1.20  2000/03/08  16:19:14  16:19:14  mjames (Mike James)
111
 
110
 
112
 * New version including PC
111
 * New version including PC
113
 
112
 
114
 *
113
 *
115
 
114
 
116
 * Revision 1.17  2000/02/18  15:45:36  15:45:36  mjames (Mike James)
115
 * Revision 1.17  2000/02/18  15:45:36  15:45:36  mjames (Mike James)
117
 
116
 
118
 * Amended to support PC
117
 * Amended to support PC
119
 
118
 
120
 *
119
 *
121
 
120
 
122
 * Revision 1.16  2000/01/20  15:58:52  15:58:52  mjames (Mike James)
121
 * Revision 1.16  2000/01/20  15:58:52  15:58:52  mjames (Mike James)
123
 
122
 
124
 * Part of Release R22
123
 * Part of Release R22
125
 
124
 
126
 *
125
 *
127
 
126
 
128
 * Revision 1.15  99/12/22  11:15:33  11:15:33  mjames (Mike James)
127
 * Revision 1.15  99/12/22  11:15:33  11:15:33  mjames (Mike James)
129
 
128
 
130
 * Part of Release Dec_22_1999
129
 * Part of Release Dec_22_1999
131
 
130
 
132
 *
131
 *
133
 
132
 
134
 * Revision 1.14  99/11/23  13:52:08  13:52:08  mjames (Mike James)
133
 * Revision 1.14  99/11/23  13:52:08  13:52:08  mjames (Mike James)
135
 
134
 
136
 * Addded syntax to support special generics for Certify support
135
 * Addded syntax to support special generics for Certify support
137
 
136
 
138
 *
137
 *
139
 
138
 
140
 * Revision 1.13  99/05/04  09:52:21  09:52:21  mjames (Mike James)
139
 * Revision 1.13  99/05/04  09:52:21  09:52:21  mjames (Mike James)
141
 
140
 
142
 * General checkin
141
 * General checkin
143
 
142
 
144
 *
143
 *
145
 
144
 
146
 * Revision 1.12  98/02/11  11:26:40  11:26:40  mjames (Mike James)
145
 * Revision 1.12  98/02/11  11:26:40  11:26:40  mjames (Mike James)
147
 
146
 
148
 * Checked in for version 6.2a
147
 * Checked in for version 6.2a
149
 
148
 
150
 *
149
 *
151
 
150
 
152
 * Revision 1.11  97/04/23  08:44:15  08:44:15  mjames (Mike James)
151
 * Revision 1.11  97/04/23  08:44:15  08:44:15  mjames (Mike James)
153
 
152
 
154
 * CHecked in for release rel23041997
153
 * CHecked in for release rel23041997
155
 
154
 
156
 *
155
 *
157
 
156
 
158
 * Revision 1.10  96/07/19  14:38:54  14:38:54  mjames (Mike James)
157
 * Revision 1.10  96/07/19  14:38:54  14:38:54  mjames (Mike James)
159
 
158
 
160
 * Update to give to PRL
159
 * Update to give to PRL
161
 
160
 
162
 *
161
 *
163
 
162
 
164
 * Revision 1.9  1996/07/12  15:52:12  mjames
163
 * Revision 1.9  1996/07/12  15:52:12  mjames
165
 
164
 
166
 * Sorted out things like Alias and Jumpers
165
 * Sorted out things like Alias and Jumpers
167
 
166
 
Line 173... Line 172...
173
 
172
 
174
 * Revision 1.8  96/06/17  13:01:56  13:01:56  mjames (Mike James)
173
 * Revision 1.8  96/06/17  13:01:56  13:01:56  mjames (Mike James)
175
 
174
 
176
 * Added case insensitive string compares
175
 * Added case insensitive string compares
177
 
176
 
178
 *
177
 *
179
 
178
 
180
 * Revision 1.7  96/03/29  14:46:53  14:46:53  mjames (Mike James)
179
 * Revision 1.7  96/03/29  14:46:53  14:46:53  mjames (Mike James)
181
 
180
 
182
 * Added VHDL netlist writing to the capabilities of ACFREAD
181
 * Added VHDL netlist writing to the capabilities of ACFREAD
183
 
182
 
Line 235... Line 234...
235
 
234
 
236
 * RCS header
235
 * RCS header
237
 
236
 
238
 *  */
237
 *  */
239
 
238
 
-
 
239
 
-
 
240
 
240
typedef struct str
241
typedef struct str
241
 
242
 
-
 
243
  {
242
{
244
 
243
        char *dat;
245
  char * dat ;
-
 
246
 
-
 
247
  struct str * next;
-
 
248
 
-
 
249
  } sstr ;
-
 
250
 
-
 
251
 
-
 
252
 
244
 
253
 
245
        struct str *next;
-
 
246
 
254
 
-
 
255
extern struct str  * lx_first, * lx_last;
247
} sstr;
256
 
248
 
257
 
249
extern __declspec(dllexport) struct str *lx_first, *lx_last;
-
 
250
 
258
 
251
/* variables defined here */
259
/* variables defined here */
252
 
260
 
253
extern int yy_nArgs;
261
extern int yy_nArgs;
254
 
262
 
255
extern char **yy_Args;
263
extern char **yy_Args;
256
 
264
 
-
 
265
 
-
 
266
 
257
/* these manipulate a small linked list of the tokens on the line */
267
/* these manipulate a small linked list of the tokens on the line */
258
 
268
 
259
/* if linemode is '1' then preserve quote escapes */
269
/* if linemode is '1' then preserve quote escapes */
260
 
270
 
261
extern void expand_string (
271
extern void expand_string( char * source ,
262
    char *source,
272
      char * dest , int nArgs, char * Args[] );
-
 
273
 
263
 
274
 
264
    char *dest,
-
 
265
    int nArgs,
-
 
266
    char *Args[]);
-
 
267
 
275
 
268
/* handler for the struct str linked list string */
276
/* handler for the struct str linked list string */
-
 
277
extern char * make_string( char * token, struct str ** pfirst,
-
 
278
                           struct str ** plast);
-
 
279
 
-
 
280
extern void   free_strings(  struct str ** pfirst,struct str ** plast);
269
 
281
 
270
extern char *make_string (
-
 
271
    char *token,
-
 
272
    struct str **pfirst,
-
 
273
 
282
 
274
    struct str **plast);
283
extern void free_lex_strings(void);
275
 
284
 
276
extern void free_strings (struct str **pfirst, struct str **plast);
-
 
277
 
285
 
278
extern void free_lex_strings (void);
-
 
279
 
286
 
280
/* string comparison. Returns '1' for EQUAL !! */
287
/* string comparison. Returns '1' for EQUAL !! */
281
 
288
 
282
extern int strneq (char *s1, char *s2, int n);
-
 
283
 
289
 
-
 
290
 
-
 
291
extern  int strneq(char    *s1,char    *s2,int n);
-
 
292
 
-
 
293
 
-
 
294
 
284
extern int streq (char *s1, char *s2);
295
extern  int streq(char    *s1,char    *s2);
-
 
296