home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ssvpar.zip / SSLEXC.H < prev    next >
Text File  |  1994-12-01  |  5KB  |  130 lines

  1. /*---------------------------------------------------------------------------
  2.  
  3.                Copyright (c) 1994 SandStone Technology Inc.
  4.                           All rights reserved
  5.  
  6. ----------------------------------------------------------------------------*/
  7. #if !defined( SSLEXCH)
  8. #  define SSLEXCH
  9. #  include<stdio.h>
  10. #  include<ssglobal.h>
  11.  
  12. #  if __cplusplus
  13.       extern "C" {
  14. #  endif
  15.  
  16. #  if !defined( SSLexTokenNotFound)
  17. #     define SSLexTokenNotFound "SSLexTokenNotFound"
  18. #  endif
  19.  
  20.    /*---------------------------------------------------------------------
  21.    --  SSLexTable functions 
  22.    ---------------------------------------------------------------------*/
  23.  
  24.    void*          SSLexTableCreate( const char*, void**);
  25.    void           SSLexTableDestroy( void*);
  26.  
  27.    /*---------------------------------------------------------------------
  28.    --  SSLexLexeme functions
  29.    ---------------------------------------------------------------------*/
  30.  
  31. #  define         SSLexLexemeTypeDBCS    0
  32. #  define         SSLexLexemeTypeUnicode 1
  33.  
  34.    void*          SSLexLexemeCreate( void*, SSUnsigned32, SSUnsigned32, 
  35.                      void**);
  36.    void           SSLexLexemeRefInc( void*);
  37.    SSBooleanValue SSLexLexemeRefDec( void*);
  38.    void           SSLexLexemeDestroy( void*);
  39.  
  40.    SSUnsigned32   SSLexLexemeGetType( void*);
  41.    SSUnsigned32   SSLexLexemeGetLine( void*);
  42.    SSUnsigned32   SSLexLexemeGetToken( void*);
  43.    SSUnsigned32   SSLexLexemeGetOffset( void*);
  44.    SSUnsigned32   SSLexLexemeGetLength( void*);
  45.    void*          SSLexLexemeGetBuffer( void*);
  46.    SSUnsigned32   SSLexLexemeGetExtraLength( void*);
  47.    void*          SSLexLexemeGetExtraBuffer( void*);
  48.  
  49.    void           SSLexLexemeSetType( void*, SSUnsigned32);
  50.    void           SSLexLexemeSetLine( void*, SSUnsigned32);
  51.    void           SSLexLexemeSetToken( void*, SSUnsigned32);
  52.    void           SSLexLexemeSetOffset( void*, SSUnsigned32);
  53.    void           SSLexLexemeSetLength( void*, SSUnsigned32);
  54.    void           SSLexLexemeSetBuffer( void*, void*);
  55.  
  56.    /*---------------------------------------------------------------------
  57.    --  SSLexConsumer and SSLexFileConsumer functions
  58.    ---------------------------------------------------------------------*/
  59.  
  60. #  if !defined( SSLexConsumerAll)
  61. #     define      SSLexConsumerAll            0xffffffff
  62. #  endif
  63. #  define         SSLexConsumerTypeBinary     0
  64. #  define         SSLexConsumerTypeUnicode    1
  65. #  define         SSLexConsumerTypeCharacter  2
  66.  
  67.    typedef        SSUnsigned32 ( *SSLexConsumerNextBufferCallback)( void*,
  68.                      void*, SSUnsigned32, void*);
  69.  
  70.    void*          SSLexConsumerCreate( void*, SSUnsigned32, SSUnsigned32, 
  71.                      SSUnsigned32, void**);
  72.    void*          SSLexFileConsumerCreate( const char*, SSUnsigned32,
  73.                      SSUnsigned32, SSUnsigned32, void**);
  74.    void           SSLexConsumerDestroy( void*);
  75.  
  76.    FILE*          SSLexFileConsumerGetFile( void*);
  77.    void           SSLexFileConsumerCloseFile( void*);
  78.  
  79.    void           SSLexConsumerSetNextBufferCallback( void*, 
  80.                      SSLexConsumerNextBufferCallback, void*);
  81.  
  82.    /*---------------------------------------------------------------------
  83.    --  SSLex functions
  84.    ---------------------------------------------------------------------*/
  85.  
  86.    typedef        SSBooleanValue ( *SSLexErrorCallback)( void*, void*, void*);
  87.    typedef        SSBooleanValue ( *SSLexCompleteCallback)( void*, void*, void*);
  88.  
  89.    void*          SSLexCreate( void*, void*, void**);
  90.    void           SSLexDestroy( void*);
  91.  
  92.    void*          SSLexGetNextLexeme( void*);
  93.    void*          SSLexGetLastException( void*);
  94.    void           SSLexClearLastException( void*);
  95.    SSBooleanValue SSLexIsCurrentExpressionList( void*, SSUnsigned32);
  96.  
  97.    void           SSLexSetLexemeExtra( void*, SSUnsigned32);
  98.    void           SSLexSetErrorCallback( void*, SSLexErrorCallback, void*);
  99.    void           SSLexSetCompleteCallback( void*, SSLexCompleteCallback, void*);
  100.  
  101.    void           SSLexReset( void*);
  102.    SSBooleanValue SSLexPopExpressionList( void*);
  103.    SSBooleanValue SSLexPushExpressionList( void*, SSUnsigned32);
  104.    SSBooleanValue SSLexGotoExpressionList( void*, SSUnsigned32);
  105.  
  106.    /*---------------------------------------------------------------------
  107.    --  SSException functions
  108.    ---------------------------------------------------------------------*/
  109.  
  110.    typedef        void ( *SSExceptionBadCorrelatorCallback)( void*, const char*,
  111.                      void*);
  112.  
  113.    void           SSExceptionSetBadCorrelatorCallback( 
  114.                      SSExceptionBadCorrelatorCallback, void*);
  115.    const char*    SSExceptionGetMessage( void*);
  116.    SSUnsigned32   SSExceptionGetErrorId( void*);
  117.    void           SSExceptionDestroy( void*);
  118.  
  119. #  if __cplusplus
  120.       }
  121. #  endif
  122.  
  123. #endif
  124. /*---------------------------------------------------------------------------
  125.  
  126.                Copyright (c) 1994 SandStone Technology Inc.
  127.                           All rights reserved
  128.  
  129. ----------------------------------------------------------------------------*/
  130.