/*
* $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 <string.h>
#include <stdlib.h>
#if defined HAS_TCL
#include "tcl_l.h"
#endif
#include "expression.h"
#include "generic.h"
#include "database.h"
#include "printout.h"
#include "routing.h"
#include "cmdparse.h"
#include "cmdlog.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;
extern int yyparse();
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);
}