home *** CD-ROM | disk | FTP | other *** search
/ PSION CD 2 / PsionCDVol2.iso / Programs / 720 / PDF090B4-SorceCode / pdf / Parser.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-09-30  |  1.3 KB  |  64 lines

  1. //========================================================================
  2. //
  3. // Parser.h
  4. //
  5. // Copyright 1996 Derek B. Noonburg
  6. //
  7. //========================================================================
  8. //
  9. // Ported to EPOC by Sander van der Wal
  10. //
  11. // $Id: Parser.h 1.2 2000-09-17 13:38:15+02 svdwal Exp svdwal $
  12.  
  13. #ifndef PARSER_H
  14. #define PARSER_H
  15.  
  16. #ifdef __GNUC__
  17. #pragma interface
  18. #endif
  19.  
  20. #ifndef __E32BASE_H__
  21. #include <e32base.h>
  22. #endif
  23.  
  24. #include "Lexer.h"
  25.  
  26. //------------------------------------------------------------------------
  27. // Parser
  28. //------------------------------------------------------------------------
  29.  
  30. class Parser: public CBase {
  31. public:
  32.  
  33.   // Constructor.
  34.   Parser(Lexer *aLexer): lexer(aLexer) {}
  35.   void ConstructL();
  36.  
  37.   // Destructor.
  38.   ~Parser();
  39.  
  40.   // Get the next object from the input stream.
  41.   Object *getObjL(Object *obj);
  42.  
  43.   // if encrypted...
  44.   Object *getEncryptedObjL(Object *obj, int num, int gen);
  45.   
  46.   // Get stream.
  47.   Stream *getStream() { return lexer->getStream(); }
  48.  
  49.   // Get current position in file.
  50.   int getPos() { return lexer->getPos(); }
  51.  
  52. private:
  53.  
  54.   Lexer *lexer;            // input stream
  55.   Object buf1, buf2;        // next two tokens
  56.   int inlineImg;        // set when inline image data is encountered
  57.  
  58.   Stream *makeStreamL(Object *dict);
  59.   void shiftL();
  60. };
  61.  
  62. #endif
  63.  
  64.