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

  1. /*---------------------------------------------------------------------------
  2.  
  3.                Copyright (c) 1994 SandStone Technology Inc.
  4.                           All rights reserved
  5.  
  6. ----------------------------------------------------------------------------*/
  7. #if !defined( SSYACCCH)
  8. #  define SSYACCCH
  9. #  include<ssglobal.h>
  10.  
  11. #  if defined __cplusplus
  12.       extern "C" {
  13. #  endif
  14.  
  15. #  if !defined( SSYaccErrorToken)
  16. #     define SSYaccErrorToken  0xfffffffe
  17. #  endif
  18. #  if !defined( SSYaccEofToken)
  19. #     define SSYaccEofToken    0xffffffff
  20. #  endif
  21.  
  22.    /*--------------------------------------------------------------------- 
  23.    -- SSYaccTable functions
  24.    ----------------------------------------------------------------------*/
  25.    void*          SSYaccTableCreate( const char*, void**);
  26.    void           SSYaccTableDestroy( void*);
  27.  
  28.    /*--------------------------------------------------------------------- 
  29.    -- SSYaccStackElement functions
  30.    ----------------------------------------------------------------------*/
  31.    void*          SSYaccStackElementCreate( SSUnsigned32, void**);
  32.    void           SSYaccStackElementRefInc( void*);
  33.    void           SSYaccStackElementRefDec( void*);
  34.    void           SSYaccStackElementDestroy( void*);
  35.  
  36.    void*          SSYaccStackElementGetExtra( void*);
  37.    SSUnsigned32   SSYaccStackElementGetState( void*);
  38.    void*          SSYaccStackElementGetLexeme( void*);
  39.  
  40.    void           SSYaccStackElementSetState( void*, SSUnsigned32);
  41.    void           SSYaccStackElementSetLexeme( void*, void*);
  42.  
  43.    /*--------------------------------------------------------------------- 
  44.    -- SSYacc functions
  45.    ----------------------------------------------------------------------*/
  46.    typedef        void* ( *SSYaccNextLexemeCallback)( void*, void*);
  47.    typedef        void* ( *SSYaccShiftCallback)( void*, void*, void*);
  48.    typedef        void* ( *SSYaccReduceCallback)( void*, SSUnsigned32, 
  49.                      SSUnsigned32, void*);
  50.    typedef        SSBooleanValue ( *SSYaccErrorCallback)( void*, void*, 
  51.                      SSUnsigned32, void*);
  52.  
  53.    void*          SSYaccCreate( void*, void*, SSYaccReduceCallback, void*,
  54.                      SSUnsigned32, void**);
  55.    void           SSYaccDestroy( void*);
  56.  
  57.    void           SSYaccSetNextLexemeCallback( void*, SSYaccNextLexemeCallback,
  58.                      void*);
  59.    void           SSYaccSetShiftCallback( void*, SSYaccShiftCallback, void*);
  60.    void           SSYaccSetErrorCallback( void*, SSYaccErrorCallback, void*);
  61.    void           SSYaccSetAbort( void*);
  62.    void           SSYaccClearLastException( void*);
  63.  
  64.    SSBooleanValue SSYaccGetAbort( void*);
  65.    SSBooleanValue SSYaccGetError( void*);
  66.    void*          SSYaccGetLastException( void*);
  67.    SSUnsigned32   SSYaccGetShiftedSinceError( void*);
  68.    void*          SSYaccGetElementFromStack( void*, SSUnsigned32);
  69.    void*          SSYaccGetElementFromProduction( void*, SSSigned32);
  70.    SSUnsigned32*  SSYaccGetValidLookaheads( void*, SSUnsigned32, SSUnsigned32*);
  71.  
  72.    SSBooleanValue SSYaccReset( void*);
  73.    SSBooleanValue SSYaccParse( void*);
  74.    SSBooleanValue SSYaccProcessError( void*);
  75.    SSBooleanValue SSYaccPushStackElement( void*, void*);
  76.    void           SSYaccFreeValidLookaheads( SSUnsigned32*);
  77.    SSBooleanValue SSYaccPopStackElement( void*, SSUnsigned32);
  78.  
  79. #  if defined __cplusplus
  80.       }
  81. #  endif
  82.  
  83. #endif
  84. /*---------------------------------------------------------------------------
  85.  
  86.                Copyright (c) 1994 SandStone Technology Inc.
  87.                           All rights reserved
  88.  
  89. ----------------------------------------------------------------------------*/
  90.