ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
cmdAlias.c
Go to the documentation of this file.
1
20
21#include "base/abc/abc.h"
22#include "cmdInt.h"
23
25
26
30
34
46void CmdCommandAliasAdd( Abc_Frame_t * pAbc, char * sName, int argc, char ** argv )
47{
48 Abc_Alias * pAlias;
49 int fStatus, i;
50
51 pAlias = ABC_ALLOC(Abc_Alias, 1);
52 pAlias->sName = Extra_UtilStrsav(sName);
53 pAlias->argc = argc;
54 pAlias->argv = ABC_ALLOC(char *, pAlias->argc);
55 for(i = 0; i < argc; i++)
56 pAlias->argv[i] = Extra_UtilStrsav(argv[i]);
57 fStatus = st__insert( pAbc->tAliases, pAlias->sName, (char *) pAlias );
58 assert(!fStatus);
59}
60
73{
74 int i;
75 fprintf(pAbc->Out, "%-15s", pAlias->sName);
76 for(i = 0; i < pAlias->argc; i++)
77 fprintf( pAbc->Out, " %s", pAlias->argv[i] );
78 fprintf( pAbc->Out, "\n" );
79}
80
92char * CmdCommandAliasLookup( Abc_Frame_t * pAbc, char * sCommand )
93{
94 Abc_Alias * pAlias;
95 char * value;
96 if (! st__lookup( pAbc->tAliases, sCommand, &value))
97 return sCommand;
98 pAlias = (Abc_Alias *) value;
99 return pAlias->argv[0];
100}
101
114{
115 CmdFreeArgv( pAlias->argc, pAlias->argv );
116 ABC_FREE(pAlias->sName);
117 ABC_FREE(pAlias);
118}
119
123
124
126
#define ABC_ALLOC(type, num)
Definition abc_global.h:264
#define ABC_FREE(obj)
Definition abc_global.h:267
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
typedefABC_NAMESPACE_HEADER_START struct Abc_Frame_t_ Abc_Frame_t
INCLUDES ///.
Definition abcapis.h:38
ABC_NAMESPACE_IMPL_START typedef signed char value
ABC_NAMESPACE_IMPL_START void CmdCommandAliasAdd(Abc_Frame_t *pAbc, char *sName, int argc, char **argv)
DECLARATIONS ///.
Definition cmdAlias.c:46
void CmdCommandAliasFree(Abc_Alias *pAlias)
Definition cmdAlias.c:113
void CmdCommandAliasPrint(Abc_Frame_t *pAbc, Abc_Alias *pAlias)
Definition cmdAlias.c:72
char * CmdCommandAliasLookup(Abc_Frame_t *pAbc, char *sCommand)
Definition cmdAlias.c:92
void CmdFreeArgv(int argc, char **argv)
Definition cmdUtils.c:489
struct MvAlias Abc_Alias
Definition cmd.h:40
char * Extra_UtilStrsav(const char *s)
int st__lookup(st__table *table, const char *key, char **value)
Definition st.c:114
int st__insert(st__table *table, const char *key, char *value)
Definition st.c:171
char * sName
Definition cmdInt.h:53
char ** argv
Definition cmdInt.h:55
int argc
Definition cmdInt.h:54
#define assert(ex)
Definition util_old.h:213