home *** CD-ROM | disk | FTP | other *** search
/ Carousel / CAROUSEL.cdr / mactosh / lang / flexbin.hqx / flexbin.pit / flexskelcom.h < prev    next >
Text File  |  1988-05-27  |  2KB  |  91 lines

  1. /* common macro definitions for C/FTL programs generated by flex */
  2.  
  3. /* Critical where characters are signed. */
  4. #define BYTEMASK    0xFF
  5.  
  6. /* returned upon end-of-file */
  7. #define YY_END_TOK 0
  8.  
  9. /* action number for an "end-of-file was seen and yywrap indicated that we
  10.  * should continue processing"
  11.  */
  12. #define YY_NEW_FILE -1
  13.  
  14. /* action number for "the default action should be done" */
  15. #define YY_DO_DEFAULT -2
  16.  
  17. #ifndef BUFSIZ
  18. #include <stdio.h>
  19. #endif
  20.  
  21. #define YY_BUF_SIZE (BUFSIZ * 2) /* size of input buffer */
  22.  
  23. /* number of characters one rule can match.  One less than YY_BUF_SIZE to make
  24.  * sure we never access beyond the end of an array
  25.  */
  26. #define YY_BUF_MAX (YY_BUF_SIZE - 1)
  27.  
  28. /* we will never use more than the first YY_BUF_LIM + YY_MAX_LINE positions
  29.  * of the input buffer
  30.  */
  31. #ifndef YY_MAX_LINE
  32. #define YY_MAX_LINE BUFSIZ
  33. #endif
  34.  
  35. #define YY_BUF_LIM (YY_BUF_MAX - YY_MAX_LINE)
  36.  
  37. /* copy whatever the last rule matched to the standard output */
  38.  
  39. #define ECHO fputs( yytext, yyout )
  40.  
  41. /* gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
  42.  * is returned in "result".
  43.  */
  44. #define YY_INPUT(buf,result,max_size) \
  45.     if ( (result = read( fileno(yyin), buf, max_size )) < 0 ) \
  46.         YY_FATAL_ERROR( "read() in flex scanner failed" );
  47. #define YY_NULL 0
  48.  
  49. /* macro used to output a character */
  50. #define YY_OUTPUT(c) putc( c, yyout );
  51.  
  52. /* report a fatal error */
  53. #define YY_FATAL_ERROR(msg) \
  54.     { \
  55.     fputs( msg, stderr ); \
  56.     putc( '\n', stderr ); \
  57.     exit( 1 ); \
  58.     }
  59.  
  60. /* returns the first character of the matched text */
  61. #define YY_FIRST_CHAR yy_ch_buf[yy_b_buf_p]
  62.  
  63. /* default yywrap function - always treat EOF as an EOF */
  64. #define yywrap() 1
  65.  
  66. /* enter a start condition.  This macro really ought to take a parameter,
  67.  * but we do it the disgusting crufty way that old Unix-lex does it
  68.  */
  69. #define BEGIN yy_start = 1 +
  70.  
  71. /* callable from YY_INPUT to set things up so that '%' will match.  Proper
  72.  * usage is "YY_SET_BOL(array,pos)"
  73.  */
  74. #define YY_SET_BOL(array,pos) array[pos - 1] = '\n';
  75.  
  76. /* default declaration of generated scanner - a define so the user can
  77.  * easily add parameters
  78.  */
  79. #define YY_DECL int yylex()
  80.  
  81. /* return all but the first 'n' matched characters back to the input stream */
  82. #define yyless(n) \
  83.     { \
  84.     YY_DO_BEFORE_SCAN; /* undo effects of setting up yytext */ \
  85.     yy_c_buf_p = yy_b_buf_p + n - 1; \
  86.     YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  87.     }
  88.  
  89. /* code executed at the end of each rule */
  90. #define YY_BREAK break;
  91.