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
/*
3
 * $Header: c:\\cygwin\\cvsroot/Vert03/cdi_src/cdi_lex.l,v 1.1.1.1 2003/11/04 23:34:57 mjames Exp $ 
4
 *
5
 * $Log: cdi_lex.l,v $
6
 * Revision 1.1.1.1  2003/11/04 23:34:57  mjames
7
 * Imported into local repositrory
8
 *
9
 * Revision 1.9  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.8  2002/09/18 09:18:37  mjames
15
 * Added dummy function to make code link to create final application
16
 *
17
 * Revision 1.7  2002/09/09 10:36:19  mjames
18
 * Checkpoint checkin
19
 *
20
 * Revision 1.6  2002/01/16 11:22:41  mjames
21
 * database.h header file is read in first as it undefined DLL stuff irrelevant
22
 * to HPUX
23
 *
24
 * Revision 1.5  2001/12/13 22:21:37  mjames
25
 * Using #ident with header to identify file
26
 *
27
 * Added dummy function to satisfy linker needs for read command
28
 *
29
 * Revision 1.4  2001/10/31 22:19:58  mjames
30
 * Tidying up problematical comments caused by CVS
31
 * 'intelligent' comment guessing
32
 *
33
 * Revision 1.3  2001/06/06 12:10:26  mjames
34
 * Move from HPUX
35
 *
36
 * Revision 1.2  2000/12/04 13:03:06  mjames
37
 * Amended all the PCB netlist parsers to work with latest version of
38
 * database functions,
39
 *
40
 * Converted VHDL/Verliog parser so that a/2 was parsed as "a" "divided by"
41
 * "2" rather than the text string "a/2"
42
 *
43
 * This problem was derived from an earlier "universal" definition of what
44
 * constituted a valid identifier string. Maxplus2 uses "/" in the middle
45
 * of a name to indicate hierarchy.
46
 *
47
 * Revision 1.1.1.1  2000/10/19 21:58:34  mjames
48
 * Mike put it here
49
 *
50
 *
51
 * Revision 1.30  2000/10/04  10:37:01  10:37:01  mjames (Mike James)
52
 * Modified to become part of vertical2, complete
53
 * with VHDL COMPONENT and SIGNAL declarations.
54
 * 
55
 * Revision 1.30  2000/10/04  10:37:01  10:37:01  mjames (Mike James)
56
 * Part of Release PSAVAT01
57
 * 
58
 * Revision 1.29  2000/10/02  11:04:07  11:04:07  mjames (Mike James)
59
 * new_vhdl
60
 * 
61
 * Revision 1.28  2000/09/27  14:42:07  14:42:07  mjames (Mike James)
62
 * Part of Release Sep_27_ST_2000
63
 * 
64
 * Revision 1.27  2000/09/21  10:15:36  10:15:36  mjames (Mike James)
65
 * Part of Release Sep21Alpha
66
 * 
67
 * Revision 1.26  2000/08/25  09:57:05  09:57:05  mjames (Mike James)
68
 * Part of Release Aug25_alpha
69
 * 
70
 * Revision 1.25  2000/08/16  08:57:23  08:57:23  mjames (Mike James)
71
 * Part of Release CD01_Aug2000
72
 * 
73
 * Revision 1.24  2000/08/14  14:45:05  14:45:05  mjames (Mike James)
74
 * Part of Release Aug_14_2000
75
 * 
76
 * Revision 1.23  2000/08/11  08:30:26  08:30:26  mjames (Mike James)
77
 * Part of Release Aug_11_2000
78
 * 
79
 * Revision 1.22  2000/08/09  10:31:39  10:31:39  mjames (Mike James)
80
 * Part of Release Aug__9_2000
81
 * 
82
 * Revision 1.21  2000/05/31  11:42:44  11:42:44  mjames (Mike James)
83
 * Part of Release May_31_2000
84
 * 
85
 * Revision 1.20  2000/05/08  17:01:30  17:01:30  mjames (Mike James)
86
 * Part of Release May__8_2000
87
 * 
88
 * Revision 1.19  2000/05/08  16:59:23  16:59:23  mjames (Mike James)
89
 * Part of Release May__8_2000
90
 * 
91
 * Revision 1.18  2000/05/08  16:57:00  16:57:00  mjames (Mike James)
92
 * Part of Release May__8_2000
93
 * 
94
 * Revision 1.17  2000/03/08  16:17:17  16:17:17  mjames (Mike James)
95
 * Removed syntactically confused 'junk'
96
 * 
97
 * Revision 1.14  2000/01/20  15:58:38  15:58:38  mjames (Mike James)
98
 * Part of Release R22
99
 * 
100
 * Revision 1.13  99/12/22  11:15:18  11:15:18  mjames (Mike James)
101
 * Part of Release Dec_22_1999
102
 * 
103
 * Revision 1.12  99/06/25  14:34:24  14:34:24  mjames (Mike James)
104
 * Added in reference to expression.h, but no changes made 
105
 * to the function of acfread yet.
106
 * 
107
 * Revision 1.11  99/06/18  09:06:30  09:06:30  mjames (Mike James)
108
 * Checkin before major design changes
109
 * 
110
 * Revision 1.10  1999/06/14  10:47:18  mjames
111
 * *** empty log message ***
112
 *
113
 * Revision 1.10  1999/06/14  10:47:18  mjames
114
 * *** empty log message ***
115
 *
116
 * Revision 1.9  1999/06/11  14:21:15  mjames
117
 * *** empty log message ***
118
 *
119
 * Revision 1.9  1999/06/11  14:21:15  mjames
120
 * *** empty log message ***
121
 *
122
 * Revision 1.8  99/05/04  09:48:04  09:48:04  mjames (Mike James)
123
 * 
124
 * 
125
 * Revision 1.5  98/03/16  11:35:12  11:35:12  mjames (Mike James)
126
 * Made compatible with newer example of .cdi file
127
 * 
128
 * Revision 1.4  98/02/11  11:24:52  11:24:52  mjames (Mike James)
129
 * Checked in for version 6.2a
130
 * 
131
 * Revision 1.3  97/04/23  08:44:59  08:44:59  mjames (Mike James)
132
 * CHecked in for release rel23041997
133
 * 
134
 * Revision 1.2  97/01/03  13:34:11  13:34:11  mjames (Mike James)
135
 * Changed the order of printing the banner on startup so that it is before all 
136
 * other output from the tool.
137
 * 
138
 * Revision 1.1  96/12/13  08:43:57  08:43:57  mjames (Mike James)
139
 * Initial revision
140
 * 
141
 * Revision 1.14  96/07/19  14:38:28  14:38:28  mjames (Mike James)
142
 * Update to give to PRL
143
 *
144
 * Revision 1.13  1996/07/12  15:52:12  mjames
145
 * Sorted out things like Alias and Jumpers
146
 * Work Correctly
147
 * Print COrrectly
148
 *
149
 * Revision 1.12  96/06/17  10:52:22  10:52:22  mjames (Mike James)
150
 * Tidying up
151
 *
152
 * Revision 1.11  96/06/04  11:52:43  11:52:43  mjames (Mike James)
153
 * Slight modifications
154
 *
155
 * Revision 1.10  96/04/26  16:03:54  16:03:54  mjames (Mike James)
156
 *  Set the limit on token length to be consistent with the rest of the code
157
 *
158
 * Revision 1.9  96/03/29  14:47:24  14:47:24  mjames (Mike James)
159
 * Added VHDL netlist writing to the capabilities of ACFREAD
160
 *
161
 * Revision 1.8  96/03/18  13:51:30  13:51:30  mjames (Mike James)
162
 * Real Revision 2.1
163
 *
164
 * Revision 1.6  96/02/13  09:13:19  09:13:19  mjames (Mike James)
165
 * Updated to be version 2.0 with net joining
166
 *
167
 * Revision 1.5  96/02/07  16:01:27  16:01:27  mjames (Mike James)
168
 * Added correct RCS header
169
 *
170
 * Revision 1.4  96/02/07  15:50:32  15:50:32  mjames (Mike James)
171
 * Added RCS ident message
172
 *
173
 * Revision 1.3  96/01/10  13:13:24  13:13:24  mjames (Mike James)
174
 * Works in debug mode with EPLD listings and PCB layout
175
 *
176
 * Revision 1.2  96/01/08  15:23:44  15:23:44  mjames (Mike James)
177
 * Managing to make sense of things now
178
 *
179
 * Revision 1.1  96/01/07  12:40:11  Mike_James
180
 * Initial revision
181
 *
182
 * Revision 1.1  96/01/04  17:55:24  17:55:24  mjames (Mike James)
183
 * Initial revision
184
 *
185
 * Revision 1.2  96/01/04  11:37:16  11:37:16  mjames (Mike James)
186
 * Compete parsing of FIT and ACF with ignore of junk .
187
 *
188
 * Revision 1.1  96/01/04  10:18:25  10:18:25  mjames (Mike James)
189
 * Initial revision
190
 *
191
 *  */
192
#include <stdio.h>
193
/* see makefile for why */
194
#include "vertcl_main.h"
195
#include "expression.h"
196
#include "generic.h"
197
#include "database.h"
198
 
199
#include "cdi_yacc.h"
200
#include "lx_support.h"
201
#define YYLMAX MAXIDLEN
202
 
203
#ident "@(#)$Header: c:\\cygwin\\cvsroot/Vert03/cdi_src/cdi_lex.l,v 1.1.1.1 2003/11/04 23:34:57 mjames Exp $"
204
 
205
extern  int yyval;
206
 
207
extern int lineno;
208
%}
209
 
210
L [A-Za-z0-9_/\~\-\*]
211
L2 [A-Za-z0-9_/\~\-\*\.]
212
 
213
Spc [ \r\t]
214
 
215
 
216
%%
217
\.ASS              { free_strings(&lx_first,&lx_last);return (ASS); };
218
\.COD              { free_strings(&lx_first,&lx_last);return(COD); };
219
\.COM              { free_strings(&lx_first,&lx_last);return(COM); };
220
\.CON              { free_strings(&lx_first,&lx_last);return(CON); };
221
\.CSP              { free_strings(&lx_first,&lx_last);return (CSP); };
222
\.EOD              { free_strings(&lx_first,&lx_last);return(EOD); };
223
\.IMP              { free_strings(&lx_first,&lx_last);return (IMP); };
224
\.PCB              { free_strings(&lx_first,&lx_last);return (PCB); };
225
\.REM              { free_strings(&lx_first,&lx_last);return(REM); /*  comment */  };
226
 
227
 
228
\x22               {return(QUOTE); };
229
 
230
{L}{L2}*         { yylval.string = make_string(yytext,&lx_first,&lx_last) ; /* do it anyway */
231
                   return(ASTRING); };
232
 
233
 
234
{Spc}             { break; /* white space */ };
235
"\n"              { lineno++; return(NL); };
236
%%