home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p024 / 12.img / ADS1.LIB / CALLEX.H < prev    next >
Encoding:
C/C++ Source or Header  |  1992-04-27  |  2.9 KB  |  84 lines

  1. /*****************************************************************************
  2.       CALLEX.H
  3.       (C) Copyright 1988-1992 by Autodesk, Inc.
  4.  
  5.       This program is copyrighted by Autodesk, Inc. and is  licensed
  6.       to you under the following conditions.  You may not distribute
  7.       or  publish the source code of this program in any form.   You
  8.       may  incorporate this code in object form in derivative  works
  9.       provided  such  derivative  works  are  (i.) are  designed and 
  10.       intended  to  work  solely  with  Autodesk, Inc. products, and 
  11.       (ii.)  contain  Autodesk's  copyright  notice  "(C)  Copyright  
  12.       1988-1992 by Autodesk, Inc."
  13.  
  14.       AUTODESK  PROVIDES THIS PROGRAM "AS IS" AND WITH  ALL  FAULTS.
  15.       AUTODESK  SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF  MER-
  16.       CHANTABILITY OR FITNESS FOR A PARTICULAR USE.  AUTODESK,  INC.
  17.       DOES  NOT  WARRANT THAT THE OPERATION OF THE PROGRAM  WILL  BE
  18.       UNINTERRUPTED OR ERROR FREE.
  19.  
  20.   Description: Header file for callex.c
  21.  
  22. *****************************************************************************/
  23.  
  24.  
  25. /****************************************************************************/
  26. /*  DEFINES                                                                 */
  27. /****************************************************************************/
  28.  
  29. #define MAX_LINE_LENGTH   130         /* Max lenght of the input line */
  30. #define MAX_SYMBOL_LENGTH  32         /* Max length of any symbol     */
  31.  
  32.  
  33. /****************************************************************************/
  34. /*  TYPEDEFS                                                                */
  35. /****************************************************************************/
  36.  
  37. typedef enum 
  38. {
  39.     ident_sym,
  40.     real_sym,
  41.     int_sym,
  42.     func_sym,
  43.     lbracket_sym,
  44.     rbracket_sym,
  45.     lparent_sym,
  46.     rparent_sym,
  47.     at_sym,
  48.     lessthan_sym,
  49.     plus_sym,
  50.     minus_sym,
  51.     asterisk_sym,
  52.     slash_sym,
  53.     ampersand_sym,
  54.     caret_sym,
  55.     pi_sym,
  56.     comma_sym,
  57.     getvar_sym,
  58.     cvunit_sym,
  59.     equal_sym,
  60.     no_sym
  61. } symbol_type;
  62.  
  63.  
  64. /* Output structure from the lexical analyser */
  65.  
  66. typedef struct 
  67. {
  68.     symbol_type sym;                  /* Returned symbol type         */
  69.     char        id[MAX_SYMBOL_LENGTH+1]; /* Returned identifier       */
  70.     double      real_num;             /* Returned real or int number  */
  71.     void        (*func_ptr)();        /* Returned pointer to function */
  72. } lex_output_type;
  73.  
  74.  
  75. /****************************************************************************/
  76. /*  EXPORTED VARIABLES AND FUNCTIONS                                        */
  77. /****************************************************************************/
  78.  
  79. extern lex_output_type cal_lex;       /* Output struct from lex. analyser */
  80.  
  81. void        cal_lex_start   _((char *line));
  82. void        cal_next_symbol _((void));
  83.  
  84.