/*
*$Header: c:\\cygwin\\cvsroot/Vert03/vertlib/lx_support.h,v 1.1.1.1 2003/11/04 23:34:56 mjames Exp $
*
* $Log: lx_support.h,v $
* Revision 1.1.1.1 2003/11/04 23:34:56 mjames
* Imported into local repositrory
*
* Revision 1.4 2002/01/15 12:33:44 mjames
* DLL declarations put in
*
* Revision 1.3 2001/10/31 22:20:08 mjames
* Tidying up problematical comments caused by CVS
* 'intelligent' comment guessing
*
*
* Revision 1.2 2001/06/06 12:10:20 mjames
* Move from HPUX
*
* Revision 1.1.1.1 2000/10/19 21:58:38 mjames
* Mike put it here
*
*
* Revision 1.34 2000/10/04 10:37:11 10:37:11 mjames (Mike James)
* Modified for Vertical2 : support COMPONENTS and SIGNALS
*
* Revision 1.34 2000/10/04 10:37:11 10:37:11 mjames (Mike James)
* Part of Release PSAVAT01
*
* Revision 1.33 2000/10/02 11:04:16 11:04:16 mjames (Mike James)
* new_vhdl
*
* Revision 1.32 2000/09/27 14:42:23 14:42:23 mjames (Mike James)
* Part of Release Sep_27_ST_2000
*
* Revision 1.31 2000/09/27 10:57:48 10:57:48 mjames (Mike James)
* Moved cleanup lex_strings call to the yacc parser
* as it previously free'd strings prior to use
* under some circumstances.
*
* Revision 1.30 2000/09/21 10:15:53 10:15:53 mjames (Mike James)
* Part of Release Sep21Alpha
*
* Revision 1.29 2000/08/25 09:57:18 09:57:18 mjames (Mike James)
* Part of Release Aug25_alpha
*
* Revision 1.28 2000/08/16 08:57:35 08:57:35 mjames (Mike James)
* Part of Release CD01_Aug2000
*
* Revision 1.27 2000/08/14 14:45:15 14:45:15 mjames (Mike James)
* Part of Release Aug_14_2000
*
* Revision 1.26 2000/08/11 08:30:36 08:30:36 mjames (Mike James)
* Part of Release Aug_11_2000
*
* Revision 1.25 2000/08/09 10:31:52 10:31:52 mjames (Mike James)
* Part of Release Aug__9_2000
*
* Revision 1.24 2000/05/31 11:43:04 11:43:04 mjames (Mike James)
* Part of Release May_31_2000
*
* Revision 1.23 2000/05/08 17:01:42 17:01:42 mjames (Mike James)
* Part of Release May__8_2000
*
* Revision 1.22 2000/05/08 16:59:35 16:59:35 mjames (Mike James)
* Part of Release May__8_2000
*
* Revision 1.21 2000/05/08 16:57:12 16:57:12 mjames (Mike James)
* Part of Release May__8_2000
*
* Revision 1.20 2000/03/08 16:19:14 16:19:14 mjames (Mike James)
* New version including PC
*
* Revision 1.17 2000/02/18 15:45:36 15:45:36 mjames (Mike James)
* Amended to support PC
*
* Revision 1.16 2000/01/20 15:58:52 15:58:52 mjames (Mike James)
* Part of Release R22
*
* Revision 1.15 99/12/22 11:15:33 11:15:33 mjames (Mike James)
* Part of Release Dec_22_1999
*
* Revision 1.14 99/11/23 13:52:08 13:52:08 mjames (Mike James)
* Addded syntax to support special generics for Certify support
*
* Revision 1.13 99/05/04 09:52:21 09:52:21 mjames (Mike James)
* General checkin
*
* Revision 1.12 98/02/11 11:26:40 11:26:40 mjames (Mike James)
* Checked in for version 6.2a
*
* Revision 1.11 97/04/23 08:44:15 08:44:15 mjames (Mike James)
* CHecked in for release rel23041997
*
* Revision 1.10 96/07/19 14:38:54 14:38:54 mjames (Mike James)
* Update to give to PRL
*
* Revision 1.9 1996/07/12 15:52:12 mjames
* Sorted out things like Alias and Jumpers
* Work Correctly
* Print COrrectly
*
* Revision 1.8 96/06/17 13:01:56 13:01:56 mjames (Mike James)
* Added case insensitive string compares
*
* Revision 1.7 96/03/29 14:46:53 14:46:53 mjames (Mike James)
* Added VHDL netlist writing to the capabilities of ACFREAD
*
* Revision 1.6 96/03/18 13:51:18 13:51:18 mjames (Mike James)
* Real Revision 2.1
*
* Revision 1.4 96/02/13 09:13:31 09:13:31 mjames (Mike James)
* Updated to be version 2.0 with net joining
*
* Revision 1.3 96/02/08 15:28:33 15:28:33 mjames (Mike James)
* First release
*
* Revision 1.2 96/02/07 16:02:19 16:02:19 mjames (Mike James)
* Added correct RCS tags
*
* Revision 1.1 96/01/08 15:23:18 15:23:18 mjames (Mike James)
* Initial revision
*
* Revision 1.2 96/01/04 17:55:54 17:55:54 mjames (Mike James)
* Correcly reading ACF
*
* Revision 1.1 96/01/04 10:18:47 10:18:47 mjames (Mike James)
* Initial revision
*
* Revision 1.1 94/03/23 17:11:09 17:11:09 mjames (Mike James)
* Initial revision
*
* Revision 1.4 93/08/26 10:37:50 mjames
* RCS header
* */
typedef struct str
{
char * dat ;
struct str * next;
} sstr ;
extern struct str * lx_first, * lx_last;
/* variables defined here */
extern int yy_nArgs;
extern char **yy_Args;
/* these manipulate a small linked list of the tokens on the line */
/* if linemode is '1' then preserve quote escapes */
extern void expand_string( char * source ,
char * dest , int nArgs, char * Args[] );
/* handler for the struct str linked list string */
extern char * make_string( char * token, struct str ** pfirst,
struct str ** plast);
extern void free_strings( struct str ** pfirst,struct str ** plast);
extern void free_lex_strings(void);
/* string comparison. Returns '1' for EQUAL !! */
extern int strneq(char *s1,char *s2,int n);
extern int streq(char *s1,char *s2);