Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.3 KiB

  1. // Copyright (c) 1993-1999 Microsoft Corporation
  2. /* macro definitions for compressed-table C/FTL programs generated by flex */
  3. #include "flexcom.h"
  4. /* reinitializes everything except the current start condition. The last
  5. * input character is set to a newline so an initial beginning-of-line
  6. * rule will match
  7. */
  8. #define YY_INIT \
  9. { \
  10. yyleng = yy_c_buf_p = yy_e_buf_p = 0; \
  11. yy_hold_char = yy_ch_buf[yy_c_buf_p] = '\n'; \
  12. yytext = &yy_ch_buf[yy_c_buf_p]; \
  13. yy_saw_eof = 0; \
  14. }
  15. /* returns the length of the matched text */
  16. #define YY_LENG (yy_c_buf_p - yy_b_buf_p + 1)
  17. /* done before the next pattern has been matched action */
  18. #define YY_DO_BEFORE_SCAN \
  19. yytext[yyleng] = yy_hold_char;
  20. /* done after the current pattern has been matched and before the corresponding action */
  21. #define YY_DO_BEFORE_ACTION \
  22. yytext = &yy_ch_buf[yy_b_buf_p]; \
  23. yyleng = YY_LENG; \
  24. yy_hold_char = yytext[yyleng]; \
  25. yytext[yyleng] = '\0';
  26. /* find the next rule matched */
  27. #ifdef FLEX_REJECT_ENABLED
  28. #define REJECT \
  29. { \
  30. YY_DO_BEFORE_SCAN; /* undo effects of setting up yytext */ \
  31. yy_c_buf_p = yy_full_match; /* restore possibly backed-over text */ \
  32. ++yy_lp; \
  33. goto find_rule; \
  34. }
  35. #else
  36. #define REJECT YY_FATAL_ERROR( "REJECT used and scanner was not generated using -r" )
  37. #endif