SIS
Symmetric Index Structures
|
00001 #ifndef _HEADER_FILE_SCDAWG_ 00002 #define _HEADER_FILE_SCDAWG_ 00003 00004 typedef struct tSCDAWG{ 00005 CompressedAutomaton * left; 00006 CompressedAutomaton * right; 00007 } SCDAWG; 00008 00009 typedef struct tSCDAWGBuildHelp{ 00010 CDAWGBuildHelp * left; 00011 CDAWGBuildHelp * right; 00012 SCDAWG * aut; 00013 UINTSequence * leftToRight; 00014 } SCDAWGBuildHelp; 00015 00016 SCDAWG * SCDAWGInit( UINT symbolSize ); 00017 void SCDAWGFree( SCDAWG * aut ); 00018 void SCDAWGShrink( SCDAWG * aut ); 00019 void SCDAWGWrite( SCDAWG * aut, FILE * fp ); 00020 SCDAWG * SCDAWGRead( FILE * fp ); 00021 void SCDAWGDumpStat( const SCDAWG * aut, FILE * fp ); 00022 void SCDAWGClose( SCDAWGBuildHelp * help ); 00023 void SCDAWGDumpGV( SCDAWG * aut, FILE * fp, void (*DumpLabel)(const SCDAWG *, FILE *, UINT, boolean, UINT), UINT encoding ); 00024 SCDAWGBuildHelp * SCDAWGBuildHelpInit( SCDAWG * aut ); 00025 void SCDAWGBuildHelpFree( SCDAWGBuildHelp * help ); 00026 void SCDAWGAdd( SCDAWGBuildHelp * help, VoidSequence * sharpDocumentDollar ); 00027 void SCDAWGAddTarjanTable( SCDAWG * aut ); 00028 00029 #endif