Subversion Repositories Vertical

Rev

Blame | Last modification | View Log | Download | RSS feed

  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. }
  248.