00001
00021 #ifndef __VER_H__
00022 #define __VER_H__
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00031
00032 #include <stdio.h>
00033 #include "abc.h"
00034
00038
00042
00043 typedef struct Ver_Man_t_ Ver_Man_t;
00044 typedef struct Ver_Stream_t_ Ver_Stream_t;
00045
00046 struct Ver_Man_t_
00047 {
00048
00049 int fMapped;
00050 int fUseMemMan;
00051 int fCheck;
00052
00053 char * pFileName;
00054 Ver_Stream_t * pReader;
00055 int fNameLast;
00056 ProgressBar * pProgress;
00057
00058 Abc_Lib_t * pDesign;
00059 st_table * tName2Suffix;
00060
00061 FILE * Output;
00062 int fTopLevel;
00063 int fError;
00064 char sError[2000];
00065
00066 Vec_Ptr_t * vNames;
00067 Vec_Ptr_t * vStackFn;
00068 Vec_Int_t * vStackOp;
00069 Vec_Int_t * vPerm;
00070 };
00071
00072
00076
00080
00084
00085
00086 extern Abc_Lib_t * Ver_ParseFile( char * pFileName, Abc_Lib_t * pGateLib, int fCheck, int fUseMemMan );
00087 extern void Ver_ParsePrintErrorMessage( Ver_Man_t * p );
00088
00089 extern void * Ver_FormulaParser( char * pFormula, void * pMan, Vec_Ptr_t * vNames, Vec_Ptr_t * vStackFn, Vec_Int_t * vStackOp, char * pErrorMessage );
00090 extern void * Ver_FormulaReduction( char * pFormula, void * pMan, Vec_Ptr_t * vNames, char * pErrorMessage );
00091
00092 extern int Ver_ParseSkipComments( Ver_Man_t * p );
00093 extern char * Ver_ParseGetName( Ver_Man_t * p );
00094
00095 extern Ver_Stream_t * Ver_StreamAlloc( char * pFileName );
00096 extern void Ver_StreamFree( Ver_Stream_t * p );
00097 extern char * Ver_StreamGetFileName( Ver_Stream_t * p );
00098 extern int Ver_StreamGetFileSize( Ver_Stream_t * p );
00099 extern int Ver_StreamGetCurPosition( Ver_Stream_t * p );
00100 extern int Ver_StreamGetLineNumber( Ver_Stream_t * p );
00101
00102 extern int Ver_StreamIsOkey( Ver_Stream_t * p );
00103 extern char Ver_StreamScanChar( Ver_Stream_t * p );
00104 extern char Ver_StreamPopChar( Ver_Stream_t * p );
00105 extern void Ver_StreamSkipChars( Ver_Stream_t * p, char * pCharsToSkip );
00106 extern void Ver_StreamSkipToChars( Ver_Stream_t * p, char * pCharsToStop );
00107 extern char * Ver_StreamGetWord( Ver_Stream_t * p, char * pCharsToStop );
00108
00109 #ifdef __cplusplus
00110 }
00111 #endif
00112
00113 #endif
00114
00118