Subversion Repositories Vertical

Rev

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

  1. /*
  2.  *$Header: c:\\cygwin\\cvsroot/Vert03/vertlib/lx_support.h,v 1.1.1.1 2003/11/04 23:34:56 mjames
  3.  Exp $
  4.  *
  5.  * $Log: lx_support.h,v $
  6.  * Revision 1.1.1.1  2003/11/04 23:34:56  mjames
  7.  * Imported into local repositrory
  8.  *
  9.  * Revision 1.4  2002/01/15 12:33:44  mjames
  10.  * DLL declarations put in
  11.  *
  12.  * Revision 1.3  2001/10/31 22:20:08  mjames
  13.  * Tidying up problematical comments caused by CVS
  14.  * 'intelligent' comment guessing
  15.  *
  16.  *
  17.  * Revision 1.2  2001/06/06 12:10:20  mjames
  18.  * Move from HPUX
  19.  *
  20.  * Revision 1.1.1.1  2000/10/19 21:58:38  mjames
  21.  * Mike put it here
  22.  *
  23.  *
  24.  * Revision 1.34  2000/10/04  10:37:11  10:37:11  mjames (Mike James)
  25.  * Modified for Vertical2 : support COMPONENTS and SIGNALS
  26.  *
  27.  * Revision 1.34  2000/10/04  10:37:11  10:37:11  mjames (Mike James)
  28.  * Part of Release PSAVAT01
  29.  *
  30.  * Revision 1.33  2000/10/02  11:04:16  11:04:16  mjames (Mike James)
  31.  * new_vhdl
  32.  *
  33.  
  34.  * Revision 1.32  2000/09/27  14:42:23  14:42:23  mjames (Mike James)
  35.  
  36.  * Part of Release Sep_27_ST_2000
  37.  
  38.  *
  39.  
  40.  * Revision 1.31  2000/09/27  10:57:48  10:57:48  mjames (Mike James)
  41.  
  42.  * Moved cleanup lex_strings call to the yacc parser
  43.  
  44.  * as it previously free'd strings prior to use
  45.  
  46.  * under some circumstances.
  47.  
  48.  *
  49.  
  50.  * Revision 1.30  2000/09/21  10:15:53  10:15:53  mjames (Mike James)
  51.  
  52.  * Part of Release Sep21Alpha
  53.  
  54.  *
  55.  
  56.  * Revision 1.29  2000/08/25  09:57:18  09:57:18  mjames (Mike James)
  57.  
  58.  * Part of Release Aug25_alpha
  59.  
  60.  *
  61.  
  62.  * Revision 1.28  2000/08/16  08:57:35  08:57:35  mjames (Mike James)
  63.  
  64.  * Part of Release CD01_Aug2000
  65.  
  66.  *
  67.  
  68.  * Revision 1.27  2000/08/14  14:45:15  14:45:15  mjames (Mike James)
  69.  
  70.  * Part of Release Aug_14_2000
  71.  
  72.  *
  73.  
  74.  * Revision 1.26  2000/08/11  08:30:36  08:30:36  mjames (Mike James)
  75.  
  76.  * Part of Release Aug_11_2000
  77.  
  78.  *
  79.  
  80.  * Revision 1.25  2000/08/09  10:31:52  10:31:52  mjames (Mike James)
  81.  
  82.  * Part of Release Aug__9_2000
  83.  
  84.  *
  85.  
  86.  * Revision 1.24  2000/05/31  11:43:04  11:43:04  mjames (Mike James)
  87.  
  88.  * Part of Release May_31_2000
  89.  
  90.  *
  91.  
  92.  * Revision 1.23  2000/05/08  17:01:42  17:01:42  mjames (Mike James)
  93.  
  94.  * Part of Release May__8_2000
  95.  
  96.  *
  97.  
  98.  * Revision 1.22  2000/05/08  16:59:35  16:59:35  mjames (Mike James)
  99.  
  100.  * Part of Release May__8_2000
  101.  
  102.  *
  103.  
  104.  * Revision 1.21  2000/05/08  16:57:12  16:57:12  mjames (Mike James)
  105.  
  106.  * Part of Release May__8_2000
  107.  
  108.  *
  109.  
  110.  * Revision 1.20  2000/03/08  16:19:14  16:19:14  mjames (Mike James)
  111.  
  112.  * New version including PC
  113.  
  114.  *
  115.  
  116.  * Revision 1.17  2000/02/18  15:45:36  15:45:36  mjames (Mike James)
  117.  
  118.  * Amended to support PC
  119.  
  120.  *
  121.  
  122.  * Revision 1.16  2000/01/20  15:58:52  15:58:52  mjames (Mike James)
  123.  
  124.  * Part of Release R22
  125.  
  126.  *
  127.  
  128.  * Revision 1.15  99/12/22  11:15:33  11:15:33  mjames (Mike James)
  129.  
  130.  * Part of Release Dec_22_1999
  131.  
  132.  *
  133.  
  134.  * Revision 1.14  99/11/23  13:52:08  13:52:08  mjames (Mike James)
  135.  
  136.  * Addded syntax to support special generics for Certify support
  137.  
  138.  *
  139.  
  140.  * Revision 1.13  99/05/04  09:52:21  09:52:21  mjames (Mike James)
  141.  
  142.  * General checkin
  143.  
  144.  *
  145.  
  146.  * Revision 1.12  98/02/11  11:26:40  11:26:40  mjames (Mike James)
  147.  
  148.  * Checked in for version 6.2a
  149.  
  150.  *
  151.  
  152.  * Revision 1.11  97/04/23  08:44:15  08:44:15  mjames (Mike James)
  153.  
  154.  * CHecked in for release rel23041997
  155.  
  156.  *
  157.  
  158.  * Revision 1.10  96/07/19  14:38:54  14:38:54  mjames (Mike James)
  159.  
  160.  * Update to give to PRL
  161.  
  162.  *
  163.  
  164.  * Revision 1.9  1996/07/12  15:52:12  mjames
  165.  
  166.  * Sorted out things like Alias and Jumpers
  167.  
  168.  * Work Correctly
  169.  
  170.  * Print COrrectly
  171.  
  172.  *
  173.  
  174.  * Revision 1.8  96/06/17  13:01:56  13:01:56  mjames (Mike James)
  175.  
  176.  * Added case insensitive string compares
  177.  
  178.  *
  179.  
  180.  * Revision 1.7  96/03/29  14:46:53  14:46:53  mjames (Mike James)
  181.  
  182.  * Added VHDL netlist writing to the capabilities of ACFREAD
  183.  
  184.  *
  185.  
  186.  * Revision 1.6  96/03/18  13:51:18  13:51:18  mjames (Mike James)
  187.  
  188.  * Real Revision 2.1
  189.  
  190.  *
  191.  
  192.  * Revision 1.4  96/02/13  09:13:31  09:13:31  mjames (Mike James)
  193.  
  194.  * Updated to be version 2.0 with net joining
  195.  
  196.  *
  197.  
  198.  * Revision 1.3  96/02/08  15:28:33  15:28:33  mjames (Mike James)
  199.  
  200.  * First release
  201.  
  202.  *
  203.  
  204.  * Revision 1.2  96/02/07  16:02:19  16:02:19  mjames (Mike James)
  205.  
  206.  * Added correct RCS tags
  207.  
  208.  *
  209.  
  210.  * Revision 1.1  96/01/08  15:23:18  15:23:18  mjames (Mike James)
  211.  
  212.  * Initial revision
  213.  
  214.  *
  215.  
  216.  * Revision 1.2  96/01/04  17:55:54  17:55:54  mjames (Mike James)
  217.  
  218.  * Correcly reading ACF
  219.  
  220.  *
  221.  
  222.  * Revision 1.1  96/01/04  10:18:47  10:18:47  mjames (Mike James)
  223.  
  224.  * Initial revision
  225.  
  226.  *
  227.  
  228.  * Revision 1.1  94/03/23  17:11:09  17:11:09  mjames (Mike James)
  229.  
  230.  * Initial revision
  231.  
  232.  *
  233.  
  234.  * Revision 1.4  93/08/26  10:37:50  mjames
  235.  
  236.  * RCS header
  237.  
  238.  *  */
  239.  
  240. typedef struct str
  241.  
  242. {
  243.         char *dat;
  244.  
  245.         struct str *next;
  246.  
  247. } sstr;
  248.  
  249. extern __declspec(dllexport) struct str *lx_first, *lx_last;
  250.  
  251. /* variables defined here */
  252.  
  253. extern int yy_nArgs;
  254.  
  255. extern char **yy_Args;
  256.  
  257. /* these manipulate a small linked list of the tokens on the line */
  258.  
  259. /* if linemode is '1' then preserve quote escapes */
  260.  
  261. extern void expand_string (
  262.     char *source,
  263.  
  264.     char *dest,
  265.     int nArgs,
  266.     char *Args[]);
  267.  
  268. /* handler for the struct str linked list string */
  269.  
  270. extern char *make_string (
  271.     char *token,
  272.     struct str **pfirst,
  273.  
  274.     struct str **plast);
  275.  
  276. extern void free_strings (struct str **pfirst, struct str **plast);
  277.  
  278. extern void free_lex_strings (void);
  279.  
  280. /* string comparison. Returns '1' for EQUAL !! */
  281.  
  282. extern int strneq (char *s1, char *s2, int n);
  283.  
  284. extern int streq (char *s1, char *s2);
  285.