Subversion Repositories Vertical

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 mjames 1
/*
2
 * $Header: c:\\cygwin\\cvsroot/Vert03/gen_src/gen_main.c,v 1.1.1.1 2003/11/04 23:34:57 mjames
3
 Exp $
4
 *
5
 * $Log: gen_main.c,v $
6
 * Revision 1.1.1.1  2003/11/04 23:34:57  mjames
7
 * Imported into local repositrory
8
 *
9
 * Revision 1.8  2002/09/09 10:36:20  mjames
10
 * Checkpoint checkin
11
 *
12
 * Revision 1.7  2001/10/31 22:20:06  mjames
13
 * Tidying up problematical comments caused by CVS
14
 * 'intelligent' comment guessing
15
 *
16
 * Revision 1.6  2001/10/22 11:00:15  mjames
17
 * Modified list_devices to take an options flag
18
 *
19
 * Revision 1.5  2001/09/28 14:34:12  mjames
20
 * FIxed yydebug variable to exist when YYDEBUG macro
21
 * is not defined. Otherwise linker error will be reported.
22
 *
23
 * Revision 1.4  2001/07/09 15:47:36  mjames
24
 * Placed the version string in an independent file to save time on building
25
 * all of the variants of Vertical
26
 *
27
 * Revision 1.3  2001/06/06 12:10:22  mjames
28
 * Move from HPUX
29
 *
30
 * Revision 1.2  2000/12/04 13:14:03  mjames
31
 * Imported all of the PCB syntax readers.
32
 *
33
 * Converted "a/b" to mean "a" divided by "b" insted of a single string
34
 * "a/b" in Verilog
35
 *
36
 * Revision 1.1.1.1  2000/10/19 21:58:38  mjames
37
 * Mike put it here
38
 *
39
 *
40
 * Revision 1.19  2000/10/04  10:37:05  10:37:05  mjames (Mike James)
41
 * Modified for Vertical2 : support COMPONENTS and SIGNALS
42
 *
43
 * Revision 1.19  2000/10/04  10:37:05  10:37:05  mjames (Mike James)
44
 * Part of Release PSAVAT01
45
 *
46
 * Revision 1.18  2000/10/02  11:04:14  11:04:14  mjames (Mike James)
47
 * new_vhdl
48
 *
49
 
50
 * Revision 1.17  2000/09/27  14:42:14  14:42:14  mjames (Mike James)
51
 
52
 * Part of Release Sep_27_ST_2000
53
 
54
 *
55
 
56
 * Revision 1.16  2000/09/27  10:45:39  10:45:39  mjames (Mike James)
57
 
58
 * Corrected to use correct return code from yyparse()
59
 
60
 *
61
 
62
 * Revision 1.15  2000/09/21  10:15:44  10:15:44  mjames (Mike James)
63
 
64
 * Part of Release Sep21Alpha
65
 
66
 *
67
 
68
 * Revision 1.14  2000/08/25  09:57:18  09:57:18  mjames (Mike James)
69
 
70
 * Part of Release Aug25_alpha
71
 
72
 *
73
 
74
 * Revision 1.13  2000/08/16  08:57:35  08:57:35  mjames (Mike James)
75
 
76
 * Part of Release CD01_Aug2000
77
 
78
 *
79
 
80
 * Revision 1.12  2000/08/14  14:45:15  14:45:15  mjames (Mike James)
81
 
82
 * Part of Release Aug_14_2000
83
 
84
 *
85
 
86
 * Revision 1.11  2000/08/11  08:30:36  08:30:36  mjames (Mike James)
87
 
88
 * Part of Release Aug_11_2000
89
 
90
 *
91
 
92
 * Revision 1.10  2000/08/09  10:31:52  10:31:52  mjames (Mike James)
93
 
94
 * Part of Release Aug__9_2000
95
 
96
 *
97
 
98
 * Revision 1.9  2000/05/31  11:43:03  11:43:03  mjames (Mike James)
99
 
100
 * Part of Release May_31_2000
101
 
102
 *
103
 
104
 * Revision 1.8  2000/05/31  11:30:30  11:30:30  mjames (Mike James)
105
 
106
 * Added acfread.ini file reading
107
 
108
 *
109
 
110
 * Revision 1.7  2000/05/08  17:01:42  17:01:42  mjames (Mike James)
111
 
112
 * Part of Release May__8_2000
113
 
114
 *
115
 
116
 * Revision 1.6  2000/05/08  16:59:35  16:59:35  mjames (Mike James)
117
 
118
 * Part of Release May__8_2000
119
 
120
 *
121
 
122
 * Revision 1.5  2000/05/08  16:57:12  16:57:12  mjames (Mike James)
123
 
124
 * Part of Release May__8_2000
125
 
126
 *
127
 
128
 * Revision 1.4  2000/03/08  16:19:06  16:19:06  mjames (Mike James)
129
 
130
 * New version including PC
131
 
132
 *
133
 
134
 * Revision 1.1  2000/02/23  13:17:30  13:17:30  mjames (Mike James)
135
 
136
 * Initial revision
137
 
138
 *
139
 
140
 * Revision 1.8  2000/01/20  15:58:46  15:58:46  mjames (Mike James)
141
 
142
 * Part of Release R22
143
 
144
 *
145
 
146
 * Revision 1.7  99/12/22  11:15:27  11:15:27  mjames (Mike James)
147
 
148
 * Part of Release Dec_22_1999
149
 
150
 *
151
 
152
 * Revision 1.6  99/06/25  14:35:44  14:35:44  mjames (Mike James)
153
 
154
 * Added in reference to expression.h, but no changes made
155
 
156
 * to the function of acfread yet.
157
 
158
 *
159
 
160
 * Revision 1.5  99/05/04  09:52:29  09:52:29  mjames (Mike James)
161
 
162
 * General checkin
163
 
164
 *
165
 
166
 * Revision 1.3  98/02/11  11:26:44  11:26:44  mjames (Mike James)
167
 
168
 * Checked in for version 6.2a
169
 
170
 *
171
 
172
 * Revision 1.2  97/04/23  08:43:16  08:43:16  mjames (Mike James)
173
 
174
 * CHecked in for release rel23041997
175
 
176
 *
177
 
178
 * Revision 1.1  97/01/03  13:32:40  13:32:40  mjames (Mike James)
179
 
180
 * Initial revision
181
 
182
 *
183
 
184
 *
185
 
186
*/
187
 
188
#include <stdio.h>
189
#include <stdlib.h>
190
#include <string.h>
191
 
192
#if defined HAS_TCL
193
#include "tcl_l.h"
194
#endif
195
#include "cmdlog.h"
196
#include "cmdparse.h"
197
#include "database.h"
198
#include "expression.h"
199
#include "generic.h"
200
#include "printout.h"
201
#include "routing.h"
202
 
203
static char IDstr[] = "@(#)$Header: c:\\cygwin\\cvsroot/Vert03/gen_src/gen_main.c,v 1.1.1.1 "
204
                      "2003/11/04 23:34:57 mjames Exp $";
205
 
206
#if defined YYDEBUG
207
extern int yydebug;
208
#else
209
int yydebug = 0;
210
#endif
211
 
212
extern FILE *yyin;
213
 
214
int main (int argc, char *argv[])
215
{
216
        InitialiseData ();
217
        ExecuteString (
218
            "echo running \\$(VERTICAL_INIT) file name = $(VERTICAL_INIT) ",
219
            argc - 1,
220
            (argv + 1));
221
        ExecuteString ("do $(VERTICAL_INIT) ", argc - 2, (argv + 2));
222
        Log (LOG_GENERAL, "# Finished initialisation script\n");
223
 
224
        print_header (stdout, "'genread': From .gen file");
225
        yydebug = 0;
226
 
227
        if (argc > 2 && argv[2][0] == 'd')
228
                yydebug = 1;
229
 
230
        if (argc > 1)
231
                yyin = fopen (argv[1], "r");
232
        else
233
                yyin = stdin;
234
 
235
        if (!yyin)
236
                printf ("cannot open input file (%s)\n", argv[1]);
237
        else
238
                while (yyparse () == 0)
239
                        ;
240
 
241
        perform_routing (Free);
242
        list_database (stdout, 0); /* no jumpers : 0=no flatten jumper */
243
        list_devices (
244
            stdout,
245
            PRINT_TYPE | PRINT_EXPAND_BUS | PRINT_GENERIC | PRINT_GROUP | PRINT_ROUTE_FLAGS |
246
                PRINT_EQUIVALENT_PINS);
247
}