/*
* $Header: c:\\cygwin\\cvsroot/Vert03/gen_src/gen_main.c,v 1.1.1.1 2003/11/04 23:34:57 mjames
Exp $
*
* $Log: gen_main.c,v $
* Revision 1.1.1.1 2003/11/04 23:34:57 mjames
* Imported into local repositrory
*
* Revision 1.8 2002/09/09 10:36:20 mjames
* Checkpoint checkin
*
* Revision 1.7 2001/10/31 22:20:06 mjames
* Tidying up problematical comments caused by CVS
* 'intelligent' comment guessing
*
* Revision 1.6 2001/10/22 11:00:15 mjames
* Modified list_devices to take an options flag
*
* Revision 1.5 2001/09/28 14:34:12 mjames
* FIxed yydebug variable to exist when YYDEBUG macro
* is not defined. Otherwise linker error will be reported.
*
* Revision 1.4 2001/07/09 15:47:36 mjames
* Placed the version string in an independent file to save time on building
* all of the variants of Vertical
*
* Revision 1.3 2001/06/06 12:10:22 mjames
* Move from HPUX
*
* Revision 1.2 2000/12/04 13:14:03 mjames
* Imported all of the PCB syntax readers.
*
* Converted "a/b" to mean "a" divided by "b" insted of a single string
* "a/b" in Verilog
*
* Revision 1.1.1.1 2000/10/19 21:58:38 mjames
* Mike put it here
*
*
* Revision 1.19 2000/10/04 10:37:05 10:37:05 mjames (Mike James)
* Modified for Vertical2 : support COMPONENTS and SIGNALS
*
* Revision 1.19 2000/10/04 10:37:05 10:37:05 mjames (Mike James)
* Part of Release PSAVAT01
*
* Revision 1.18 2000/10/02 11:04:14 11:04:14 mjames (Mike James)
* new_vhdl
*
* Revision 1.17 2000/09/27 14:42:14 14:42:14 mjames (Mike James)
* Part of Release Sep_27_ST_2000
*
* Revision 1.16 2000/09/27 10:45:39 10:45:39 mjames (Mike James)
* Corrected to use correct return code from yyparse()
*
* Revision 1.15 2000/09/21 10:15:44 10:15:44 mjames (Mike James)
* Part of Release Sep21Alpha
*
* Revision 1.14 2000/08/25 09:57:18 09:57:18 mjames (Mike James)
* Part of Release Aug25_alpha
*
* Revision 1.13 2000/08/16 08:57:35 08:57:35 mjames (Mike James)
* Part of Release CD01_Aug2000
*
* Revision 1.12 2000/08/14 14:45:15 14:45:15 mjames (Mike James)
* Part of Release Aug_14_2000
*
* Revision 1.11 2000/08/11 08:30:36 08:30:36 mjames (Mike James)
* Part of Release Aug_11_2000
*
* Revision 1.10 2000/08/09 10:31:52 10:31:52 mjames (Mike James)
* Part of Release Aug__9_2000
*
* Revision 1.9 2000/05/31 11:43:03 11:43:03 mjames (Mike James)
* Part of Release May_31_2000
*
* Revision 1.8 2000/05/31 11:30:30 11:30:30 mjames (Mike James)
* Added acfread.ini file reading
*
* Revision 1.7 2000/05/08 17:01:42 17:01:42 mjames (Mike James)
* Part of Release May__8_2000
*
* Revision 1.6 2000/05/08 16:59:35 16:59:35 mjames (Mike James)
* Part of Release May__8_2000
*
* Revision 1.5 2000/05/08 16:57:12 16:57:12 mjames (Mike James)
* Part of Release May__8_2000
*
* Revision 1.4 2000/03/08 16:19:06 16:19:06 mjames (Mike James)
* New version including PC
*
* Revision 1.1 2000/02/23 13:17:30 13:17:30 mjames (Mike James)
* Initial revision
*
* Revision 1.8 2000/01/20 15:58:46 15:58:46 mjames (Mike James)
* Part of Release R22
*
* Revision 1.7 99/12/22 11:15:27 11:15:27 mjames (Mike James)
* Part of Release Dec_22_1999
*
* Revision 1.6 99/06/25 14:35:44 14:35:44 mjames (Mike James)
* Added in reference to expression.h, but no changes made
* to the function of acfread yet.
*
* Revision 1.5 99/05/04 09:52:29 09:52:29 mjames (Mike James)
* General checkin
*
* Revision 1.3 98/02/11 11:26:44 11:26:44 mjames (Mike James)
* Checked in for version 6.2a
*
* Revision 1.2 97/04/23 08:43:16 08:43:16 mjames (Mike James)
* CHecked in for release rel23041997
*
* Revision 1.1 97/01/03 13:32:40 13:32:40 mjames (Mike James)
* Initial revision
*
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#if defined HAS_TCL
#include "tcl_l.h"
#endif
#include "cmdlog.h"
#include "cmdparse.h"
#include "database.h"
#include "expression.h"
#include "generic.h"
#include "printout.h"
#include "routing.h"
static char IDstr[] = "@(#)$Header: c:\\cygwin\\cvsroot/Vert03/gen_src/gen_main.c,v 1.1.1.1 "
"2003/11/04 23:34:57 mjames Exp $";
#if defined YYDEBUG
extern int yydebug;
#else
int yydebug = 0;
#endif
extern FILE *yyin;
int main (int argc, char *argv[])
{
InitialiseData ();
ExecuteString (
"echo running \\$(VERTICAL_INIT) file name = $(VERTICAL_INIT) ",
argc - 1,
(argv + 1));
ExecuteString ("do $(VERTICAL_INIT) ", argc - 2, (argv + 2));
Log (LOG_GENERAL, "# Finished initialisation script\n");
print_header (stdout, "'genread': From .gen file");
yydebug = 0;
if (argc > 2 && argv[2][0] == 'd')
yydebug = 1;
if (argc > 1)
yyin
= fopen (argv
[1], "r");
else
yyin = stdin;
if (!yyin)
printf ("cannot open input file (%s)\n", argv
[1]);
else
while (yyparse () == 0)
;
perform_routing (Free);
list_database (stdout, 0); /* no jumpers : 0=no flatten jumper */
list_devices (
stdout,
PRINT_TYPE | PRINT_EXPAND_BUS | PRINT_GENERIC | PRINT_GROUP | PRINT_ROUTE_FLAGS |
PRINT_EQUIVALENT_PINS);
}