diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2016-10-06 22:04:11 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2016-10-06 22:04:11 -0700 |
commit | eb65c0188829ced86c6e15aaf31a8430d13ffd6d (patch) | |
tree | faab23588f630883ab19dd19cf0ee00fc02e0937 /src/base/wlc/wlcReadVer.c | |
parent | 80327537bb9325954a01ead529d914965ee895b1 (diff) | |
download | abc-eb65c0188829ced86c6e15aaf31a8430d13ffd6d.tar.gz abc-eb65c0188829ced86c6e15aaf31a8430d13ffd6d.tar.bz2 abc-eb65c0188829ced86c6e15aaf31a8430d13ffd6d.zip |
Change Verilog reader to take a string rather than file name.
Diffstat (limited to 'src/base/wlc/wlcReadVer.c')
-rw-r--r-- | src/base/wlc/wlcReadVer.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/base/wlc/wlcReadVer.c b/src/base/wlc/wlcReadVer.c index 08dc8e98..fa3efacd 100644 --- a/src/base/wlc/wlcReadVer.c +++ b/src/base/wlc/wlcReadVer.c @@ -75,14 +75,14 @@ static inline int Wlc_PrsStrCmp( char * pStr, char * pWhat ) { return SeeAlso [] ***********************************************************************/ -Wlc_Prs_t * Wlc_PrsStart( char * pFileName ) +Wlc_Prs_t * Wlc_PrsStart( char * pFileName, char * pStr ) { Wlc_Prs_t * p; - if ( !Extra_FileCheck( pFileName ) ) + if ( pFileName && !Extra_FileCheck( pFileName ) ) return NULL; p = ABC_CALLOC( Wlc_Prs_t, 1 ); p->pFileName = pFileName; - p->pBuffer = Extra_FileReadContents( pFileName ); + p->pBuffer = pStr ? Abc_UtilStrsav(pStr) : Extra_FileReadContents( pFileName ); p->nFileSize = strlen(p->pBuffer); assert( p->nFileSize > 0 ); p->vLines = Vec_IntAlloc( p->nFileSize / 50 ); p->vStarts = Vec_IntAlloc( p->nFileSize / 50 ); @@ -1248,12 +1248,14 @@ startword: } return 1; } -Wlc_Ntk_t * Wlc_ReadVer( char * pFileName ) +Wlc_Ntk_t * Wlc_ReadVer( char * pFileName, char * pStr ) { Wlc_Prs_t * p; Wlc_Ntk_t * pNtk = NULL; + // either file name or string is given + assert( (pFileName == NULL) != (pStr == NULL) ); // start the parser - p = Wlc_PrsStart( pFileName ); + p = Wlc_PrsStart( pFileName, pStr ); if ( p == NULL ) return NULL; // detect lines @@ -1286,7 +1288,7 @@ finish: void Io_ReadWordTest( char * pFileName ) { Gia_Man_t * pNew; - Wlc_Ntk_t * pNtk = Wlc_ReadVer( pFileName ); + Wlc_Ntk_t * pNtk = Wlc_ReadVer( pFileName, NULL ); if ( pNtk == NULL ) return; Wlc_WriteVer( pNtk, "test.v", 0, 0 ); |