Subversion Repositories Vertical

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * $Header: c:\\cygwin\\cvsroot/Vert03/acf_src/acf_main.c,v 1.1.1.1 2003/11/04 23:34:58 mjames
  3.  Exp $
  4.  *
  5.  * $Log: acf_main.c,v $
  6.  * Revision 1.1.1.1  2003/11/04 23:34:58  mjames
  7.  * Imported into local repositrory
  8.  *
  9.  * Revision 1.17  2002/10/02 19:37:30  MJAMES
  10.  * Moved dummy functions to a separate support file.
  11.  *
  12.  * Used correct number of arguments to define_pin
  13.  *
  14.  * Revision 1.16  2002/08/14 11:59:42  mjames
  15.  * Initialised the include file stack pointer as this was not done previously
  16.  *
  17.  * Revision 1.15  2002/08/06 12:56:20  mjames
  18.  * Merge in from latest version
  19.  *
  20.  *
  21.  * Revision 1.16  2002/08/06 08:57:16  mjames
  22.  * Updated copyright message
  23.  *
  24.  * Revision 1.15  2002/03/21 17:18:00  mjames
  25.  * Added search path to vertical file opening for read,
  26.  * altered order of setting up initial variable values and
  27.  * then reading init file before handling the user's file
  28.  *
  29.  * Revision 1.14  2002/01/16 10:05:17  mjames
  30.  * Tidied up copyright messages
  31.  *
  32.  * Revision 1.13  2002/01/02 10:47:07  mjames
  33.  * Changed year on date in copyright message
  34.  *
  35.  * Revision 1.12  2001/12/24 21:15:23  mjames
  36.  * Switched to #ident
  37.  *
  38.  * Revision 1.11  2001/11/19 10:41:54  mjames
  39.  * Merged back DTC release
  40.  *
  41.  * Revision 1.10.2.1  2001/11/16 15:10:23  mjames
  42.  * Suppressed an error message that TH was worried about
  43.  *
  44.  * Revision 1.10  2001/10/31 22:19:57  mjames
  45.  * Tidying up problematical comments caused by CVS
  46.  * 'intelligent' comment guessing
  47.  *
  48.  * Revision 1.9  2001/09/28 14:34:13  mjames
  49.  * FIxed yydebug variable to exist when YYDEBUG macro
  50.  * is not defined. Otherwise linker error will be reported.
  51.  *
  52.  * Revision 1.8  2001/09/16 20:01:49  mjames
  53.  * changed command prompt
  54.  *
  55.  * Revision 1.7  2001/07/09 10:05:27  mjames
  56.  * Placed the version string in an independent file to save time on building
  57.  * all of the variants of Vertical
  58.  *
  59.  * Revision 1.6  2001/06/19 05:26:12  mjames
  60.  * reordered the error message about inability to open file and
  61.  * modifying argc to correctly print missing file name if given on
  62.  * the command line
  63.  *
  64.  * Revision 1.5  2001/06/06 12:10:27  mjames
  65.  * Move from HPUX
  66.  *
  67.  * Revision 1.4  2001/02/06 22:41:14  mjames
  68.  * Added correct argument passing for 'read file comp_suffix arg0 arg1 arg2 ...
  69.  *
  70.  * Revision 1.3  2001/01/04 21:26:53  mjames
  71.  * Modifications to add in the TCL style
  72.  * argument list to all of the functions
  73.  * .
  74.  *
  75.  * Revision 1.2  2000/10/19 22:35:44  mjames
  76.  * Moved VERTICAL banner accross
  77.  *
  78.  * Revision 1.1.1.1  2000/10/19 21:58:34  mjames
  79.  * Mike put it here
  80.  
  81. */
  82. #include <stdio.h>
  83. #include <stdlib.h>
  84. #include <string.h>
  85.  
  86. #if defined HAS_TCL
  87. #include "tcl_l.h"
  88. #endif
  89. #include "cmdlog.h"
  90. #include "cmdparse.h"
  91. #include "cmdutil.h"
  92. #include "database.h"
  93. #include "expression.h"
  94. #include "generic.h"
  95. #include "lx_support.h"
  96. #include "printout.h"
  97. #include "routing.h"
  98. #include "vertcl_main.h"
  99. #if defined YYDEBUG
  100. extern int yydebug;
  101. #else
  102. int yydebug = 0;
  103. #endif
  104.  
  105. #ident                                                                                        \
  106.     "@(#)$Header: c:\\cygwin\\cvsroot/Vert03/acf_src/acf_main.c,v 1.1.1.1 2003/11/04 23:34:58 mjames Exp $"
  107.  
  108. extern int include_stack_ptr;
  109.  
  110. int main (int argc, char *argv[])
  111. {
  112.         FILE *TopFile;
  113.         int Status;
  114.  
  115.         include_stack_ptr = 0;
  116.  
  117.         /* setup intial path */
  118.         InitialiseData ();
  119.  
  120.         InitErrorLog ();
  121.  
  122.         LogSilent ();
  123.         ExecuteString (
  124.             "echo running \\$(VERTICAL_INIT) file name = $(VERTICAL_INIT) ", argc, argv);
  125.         /* this may change search path before argv[1] is opened */
  126.         ExecuteString ("do $(VERTICAL_INIT) ", argc, argv);
  127.  
  128.         LogVerbose ();
  129.  
  130.         if (argc > 1)
  131.                 TopFile = trap_fopen (argv[1], "r");
  132.         else
  133.                 TopFile = stdin;
  134.  
  135.         if (argc < 2)
  136.                 argc = 0;
  137.         else
  138.         {
  139.                 argc -= 2;
  140.                 argv += 2;
  141.         }
  142.         yy_nArgs = argc;
  143.         yy_Args = argv;
  144.  
  145.         /* sort out potential argument lists */
  146.         if (!TopFile)
  147.                 Log (LOG_ERROR, "ERROR : cannot open input file (%s)\n", argv[1]);
  148.         else
  149.         {
  150.                 Log (
  151.                     LOG_GENERAL, "#  ---------------------------------------------------- \n");
  152.                 Log (
  153.                     LOG_GENERAL, "# |                                         #          |\n");
  154.                 Log (
  155.                     LOG_GENERAL, "# |                                       # #          |\n");
  156.                 Log (
  157.                     LOG_GENERAL, "# |  Mikes                                  #          |\n");
  158.                 Log (
  159.                     LOG_GENERAL, "# |   EDA              METAL                #          |\n");
  160.                 Log (
  161.                     LOG_GENERAL, "# |    Tools                                #          |\n");
  162.                 Log (
  163.                     LOG_GENERAL, "# |     And                                 #          |\n");
  164.                 Log (
  165.                     LOG_GENERAL, "# |      Libraries                         ###         |\n");
  166.                 Log (
  167.                     LOG_GENERAL, "# |----------------------------------------------------|\n");
  168. #if defined PC
  169.                 Log (LOG_GENERAL, "# | Version: %30s (PC-CygWin)|\n", Vertical_Version);
  170. #else
  171.                 Log (LOG_GENERAL, "# | Version:  %30s (HPUX)    |\n", Vertical_Version);
  172. #endif
  173.                 Log (LOG_GENERAL, "# | Compiled: %30s           |\n", Vertical_Time);
  174.                 Log (
  175.                     LOG_GENERAL, "# |                                                    |\n");
  176.                 Log (
  177.                     LOG_GENERAL, "# | (C) Mike James 1995-2019 mike@hamble.online        |\n");
  178.                 Log (
  179.                     LOG_GENERAL, "#  ---------------------------------------------------- \n");
  180.  
  181.                 do
  182.                 {
  183.                         if (TopFile == stdin)
  184.                                 printf ("Vertical : ");
  185.                         Status =
  186.                             ExecuteCommand (TopFile, argc, argv); /* execute the command from
  187.                                                                      the stdin input stream */
  188.                 } while (Status != QUITCMD);
  189.         }
  190.         EndErrorLog ();
  191.         return (0);
  192. }
  193.