Subversion Repositories Vertical

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 mjames 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
}