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

  1. Listing 4 - The decl-specifier-seq parsing function using
  2. the scanner's new mark and backup functions.
  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.     for (;;)
  14.         {
  15.         tc = input.current().kind();
  16.         if (tc == token::NAME)
  17.             {
  18.             input.mark();
  19.             tc = input.get().kind();
  20.             input.backup();
  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.