home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 31 / CDASC_31_1996_juillet_aout.iso / vrac / cuj0796.zip / SAKS.ZIP / DSPCSEQ.CPP < prev    next >
Text File  |  1996-04-22  |  883b  |  39 lines

  1. Listing 2 - The decl-specifier-seq parsing function using
  2. the scanner's get and unget to look ahead one token.
  3.  
  4. //
  5. // decl-specifier-seq =
  6. //     {
  7. //     "const" | "volatile" | type-keyword | type-name
  8. //     } .
  9. //
  10. string parser::decl_specifier_seq()
  11.     {
  12.     ...
  13.     token::category tc;
  14.     for (;;)
  15.         {
  16.         tc = input.current().kind();
  17.         if (tc == token::NAME)
  18.             {
  19.             tc = input.get().kind();
  20.             input.unget();
  21.             if (tc == token::SCOPE)
  22.                 break;
  23.             tc = input.current().kind();
  24.             }
  25.         if (tc == token::CONST)
  26.             ...
  27.         else if (tc == token::VOLATILE)
  28.             ...
  29.         else if (tc == token::TYPE_KEYWORD
  30.         || tc == token::NAME)
  31.             ...
  32.         else
  33.             break;
  34.         input.get();
  35.         }
  36.     ...
  37.     }
  38.  
  39.