added more documentation

This commit is contained in:
2009-02-02 04:12:49 +00:00
parent 6affaf4d37
commit 0836d3e319
26 changed files with 520 additions and 631 deletions

View File

@ -92,7 +92,7 @@ Awk::EIO::operator Awk::eio_t* () const
Awk::EIO::operator Awk::run_t* () const
{
return eio->run;
return eio->rtx;
}
//////////////////////////////////////////////////////////////////
@ -142,12 +142,12 @@ int Awk::Console::setFileName (const char_t* name)
if (eio->mode == READ)
{
return qse_awk_rtx_setfilename (
eio->run, name, qse_strlen(name));
eio->rtx, name, qse_strlen(name));
}
else
{
return qse_awk_rtx_setofilename (
eio->run, name, qse_strlen(name));
eio->rtx, name, qse_strlen(name));
}
}
@ -156,12 +156,12 @@ int Awk::Console::setFNR (long_t fnr)
qse_awk_val_t* tmp;
int n;
tmp = qse_awk_rtx_makeintval (eio->run, fnr);
tmp = qse_awk_rtx_makeintval (eio->rtx, fnr);
if (tmp == QSE_NULL) return -1;
qse_awk_rtx_refupval (eio->run, tmp);
n = qse_awk_rtx_setglobal (eio->run, QSE_AWK_GLOBAL_FNR, tmp);
qse_awk_rtx_refdownval (eio->run, tmp);
qse_awk_rtx_refupval (eio->rtx, tmp);
n = qse_awk_rtx_setglobal (eio->rtx, QSE_AWK_GLOBAL_FNR, tmp);
qse_awk_rtx_refdownval (eio->rtx, tmp);
return n;
}
@ -1204,7 +1204,7 @@ int Awk::open ()
return -1;
}
*(Awk**)QSE_MAP_XTN(functionMap) = this;
*(Awk**)qse_map_getxtn(functionMap) = this;
qse_map_setcopier (functionMap, QSE_MAP_KEY, QSE_MAP_COPIER_INLINE);
qse_map_setfreeer (functionMap, QSE_MAP_VAL, freeFunctionMapValue);
qse_map_setscale (functionMap, QSE_MAP_KEY, QSE_SIZEOF(qse_char_t));
@ -1402,7 +1402,7 @@ int Awk::run (const char_t* main, const char_t** args, size_t nargs)
void Awk::stop ()
{
QSE_ASSERT (awk != QSE_NULL);
qse_awk_rtx_stopall (awk);
qse_awk_stopall (awk);
}
int Awk::dispatchFunction (Run* run, const char_t* name, size_t len)
@ -1717,7 +1717,7 @@ int Awk::functionHandler (
void Awk::freeFunctionMapValue (map_t* map, void* dptr, size_t dlen)
{
//Awk* awk = (Awk*)owner;
Awk* awk = *(Awk**)QSE_MAP_XTN(map);
Awk* awk = *(Awk**)qse_map_getxtn(map);
qse_awk_free (awk->awk, dptr);
}

View File

@ -35,7 +35,7 @@
static void free_fun (qse_map_t* map, void* vptr, qse_size_t vlen)
{
qse_awk_t* awk = *(qse_awk_t**)QSE_MAP_XTN(map);
qse_awk_t* awk = *(qse_awk_t**)qse_map_getxtn(map);
qse_awk_fun_t* f = (qse_awk_fun_t*)vptr;
/* f->name doesn't have to be freed */
@ -47,7 +47,7 @@ static void free_fun (qse_map_t* map, void* vptr, qse_size_t vlen)
static void free_fnc (qse_map_t* map, void* vptr, qse_size_t vlen)
{
qse_awk_t* awk = *(qse_awk_t**)QSE_MAP_XTN(map);
qse_awk_t* awk = *(qse_awk_t**)qse_map_getxtn(map);
qse_awk_fnc_t* f = (qse_awk_fnc_t*)vptr;
QSE_AWK_FREE (awk, f);
@ -78,7 +78,7 @@ qse_awk_t* qse_awk_open (qse_mmgr_t* mmgr, qse_size_t ext)
awk->wtab = qse_map_open (mmgr, QSE_SIZEOF(awk), 512, 70);
if (awk->wtab == QSE_NULL) goto oops;
*(qse_awk_t**)QSE_MAP_XTN(awk->wtab) = awk;
*(qse_awk_t**)qse_map_getxtn(awk->wtab) = awk;
qse_map_setcopier (awk->wtab, QSE_MAP_KEY, QSE_MAP_COPIER_INLINE);
qse_map_setcopier (awk->wtab, QSE_MAP_VAL, QSE_MAP_COPIER_INLINE);
qse_map_setscale (awk->wtab, QSE_MAP_KEY, QSE_SIZEOF(qse_char_t));
@ -86,7 +86,7 @@ qse_awk_t* qse_awk_open (qse_mmgr_t* mmgr, qse_size_t ext)
awk->rwtab = qse_map_open (mmgr, QSE_SIZEOF(awk), 512, 70);
if (awk->rwtab == QSE_NULL) goto oops;
*(qse_awk_t**)QSE_MAP_XTN(awk->rwtab) = awk;
*(qse_awk_t**)qse_map_getxtn(awk->rwtab) = awk;
qse_map_setcopier (awk->rwtab, QSE_MAP_KEY, QSE_MAP_COPIER_INLINE);
qse_map_setcopier (awk->rwtab, QSE_MAP_VAL, QSE_MAP_COPIER_INLINE);
qse_map_setscale (awk->rwtab, QSE_MAP_KEY, QSE_SIZEOF(qse_char_t));
@ -95,21 +95,21 @@ qse_awk_t* qse_awk_open (qse_mmgr_t* mmgr, qse_size_t ext)
/* TODO: initial map size?? */
awk->tree.funs = qse_map_open (mmgr, QSE_SIZEOF(awk), 512, 70);
if (awk->tree.funs == QSE_NULL) goto oops;
*(qse_awk_t**)QSE_MAP_XTN(awk->tree.funs) = awk;
*(qse_awk_t**)qse_map_getxtn(awk->tree.funs) = awk;
qse_map_setcopier (awk->tree.funs, QSE_MAP_KEY, QSE_MAP_COPIER_INLINE);
qse_map_setfreeer (awk->tree.funs, QSE_MAP_VAL, free_fun);
qse_map_setscale (awk->tree.funs, QSE_MAP_KEY, QSE_SIZEOF(qse_char_t));
awk->parse.funs = qse_map_open (mmgr, QSE_SIZEOF(awk), 256, 70);
if (awk->parse.funs == QSE_NULL) goto oops;
*(qse_awk_t**)QSE_MAP_XTN(awk->parse.funs) = awk;
*(qse_awk_t**)qse_map_getxtn(awk->parse.funs) = awk;
qse_map_setcopier (awk->parse.funs, QSE_MAP_KEY, QSE_MAP_COPIER_INLINE);
qse_map_setcopier (awk->parse.funs, QSE_MAP_VAL, QSE_MAP_COPIER_INLINE);
qse_map_setscale (awk->parse.funs, QSE_MAP_KEY, QSE_SIZEOF(qse_char_t));
awk->parse.named = qse_map_open (mmgr, QSE_SIZEOF(awk), 256, 70);
if (awk->parse.named == QSE_NULL) goto oops;
*(qse_awk_t**)QSE_MAP_XTN(awk->parse.named) = awk;
*(qse_awk_t**)qse_map_getxtn(awk->parse.named) = awk;
qse_map_setcopier (awk->parse.named, QSE_MAP_KEY, QSE_MAP_COPIER_INLINE);
qse_map_setcopier (awk->parse.named, QSE_MAP_VAL, QSE_MAP_COPIER_INLINE);
qse_map_setscale (awk->parse.named, QSE_MAP_KEY, QSE_SIZEOF(qse_char_t));
@ -122,15 +122,15 @@ qse_awk_t* qse_awk_open (qse_mmgr_t* mmgr, qse_size_t ext)
awk->parse.locals == QSE_NULL ||
awk->parse.params == QSE_NULL) goto oops;
*(qse_awk_t**)QSE_LDA_XTN(awk->parse.globals) = awk;
*(qse_awk_t**)qse_lda_getxtn(awk->parse.globals) = awk;
qse_lda_setcopier (awk->parse.globals, QSE_LDA_COPIER_INLINE);
qse_lda_setscale (awk->parse.globals, QSE_SIZEOF(qse_char_t));
*(qse_awk_t**)QSE_LDA_XTN(awk->parse.locals) = awk;
*(qse_awk_t**)qse_lda_getxtn(awk->parse.locals) = awk;
qse_lda_setcopier (awk->parse.locals, QSE_LDA_COPIER_INLINE);
qse_lda_setscale (awk->parse.locals, QSE_SIZEOF(qse_char_t));
*(qse_awk_t**)QSE_LDA_XTN(awk->parse.params) = awk;
*(qse_awk_t**)qse_lda_getxtn(awk->parse.params) = awk;
qse_lda_setcopier (awk->parse.params, QSE_LDA_COPIER_INLINE);
qse_lda_setscale (awk->parse.params, QSE_SIZEOF(qse_char_t));
@ -168,7 +168,7 @@ qse_awk_t* qse_awk_open (qse_mmgr_t* mmgr, qse_size_t ext)
awk->fnc.sys = QSE_NULL;
awk->fnc.user = qse_map_open (mmgr, QSE_SIZEOF(awk), 512, 70);
if (awk->fnc.user == QSE_NULL) goto oops;
*(qse_awk_t**)QSE_MAP_XTN(awk->fnc.user) = awk;
*(qse_awk_t**)qse_map_getxtn(awk->fnc.user) = awk;
qse_map_setcopier (awk->fnc.user, QSE_MAP_KEY, QSE_MAP_COPIER_INLINE);
qse_map_setfreeer (awk->fnc.user, QSE_MAP_VAL, free_fnc);
qse_map_setscale (awk->fnc.user, QSE_MAP_KEY, QSE_SIZEOF(qse_char_t));
@ -366,7 +366,7 @@ void qse_awk_setoption (qse_awk_t* awk, int opt)
}
void qse_awk_rtx_stopall (qse_awk_t* awk)
void qse_awk_stopall (qse_awk_t* awk)
{
awk->stopall = QSE_TRUE;
}
@ -448,7 +448,8 @@ int qse_awk_setword (qse_awk_t* awk,
return 0;
}
/* TODO: XXXX */
#if 0
/* TODO: qse_awk_setrexfns... */
int qse_awk_setrexfns (qse_awk_t* awk, qse_awk_rexfns_t* rexfns)
{
if (rexfns->build == QSE_NULL ||
@ -463,3 +464,4 @@ int qse_awk_setrexfns (qse_awk_t* awk, qse_awk_rexfns_t* rexfns)
awk->rexfns = rexfns;
return 0;
}
#endif

View File

@ -1445,7 +1445,7 @@ struct check_global_t
static qse_lda_walk_t check_global (qse_lda_t* lda, qse_size_t index, void* arg)
{
qse_cstr_t tmp;
qse_awk_t* awk = *(qse_awk_t**)QSE_LDA_XTN(lda);
qse_awk_t* awk = *(qse_awk_t**)qse_lda_getxtn(lda);
check_global_t* cg = (check_global_t*)arg;
tmp.ptr = QSE_LDA_DPTR(lda,index);

View File

@ -740,13 +740,13 @@ qse_bool_t qse_awk_rtx_shouldstop (qse_awk_rtx_t* run)
static void free_namedval (qse_map_t* map, void* dptr, qse_size_t dlen)
{
qse_awk_rtx_refdownval (
*(qse_awk_rtx_t**)QSE_MAP_XTN(map), dptr);
*(qse_awk_rtx_t**)qse_map_getxtn(map), dptr);
}
static void same_namedval (qse_map_t* map, void* dptr, qse_size_t dlen)
{
qse_awk_rtx_refdownval_nofree (
*(qse_awk_rtx_t**)QSE_MAP_XTN(map), dptr);
*(qse_awk_rtx_t**)qse_map_getxtn(map), dptr);
}
static int init_run (
@ -813,7 +813,7 @@ static int init_run (
qse_awk_seterror (awk, QSE_AWK_ENOMEM, 0, QSE_NULL, 0);
return -1;
}
*(qse_awk_rtx_t**)QSE_MAP_XTN(run->named) = run;
*(qse_awk_rtx_t**)qse_map_getxtn(run->named) = run;
qse_map_setcopier (run->named, QSE_MAP_KEY, QSE_MAP_COPIER_INLINE);
qse_map_setfreeer (run->named, QSE_MAP_VAL, free_namedval);
qse_map_setkeeper (run->named, same_namedval);

View File

@ -445,7 +445,7 @@ static void same_mapval (void* run, void* v)
*/
static void free_mapval (qse_map_t* map, void* dptr, qse_size_t dlen)
{
qse_awk_rtx_t* run = *(qse_awk_rtx_t**)QSE_MAP_XTN(map);
qse_awk_rtx_t* run = *(qse_awk_rtx_t**)qse_map_getxtn(map);
#ifdef DEBUG_VAL
qse_dprintf (QSE_T("refdown in map free..."));
@ -458,7 +458,7 @@ static void free_mapval (qse_map_t* map, void* dptr, qse_size_t dlen)
static void same_mapval (qse_map_t* map, void* dptr, qse_size_t dlen)
{
qse_awk_rtx_t* run = *(qse_awk_rtx_t**)QSE_MAP_XTN(map);
qse_awk_rtx_t* run = *(qse_awk_rtx_t**)qse_map_getxtn(map);
#ifdef DEBUG_VAL
qse_dprintf (QSE_T("refdown nofree in map free..."));
qse_awk_dprintval (run, dptr);
@ -516,7 +516,7 @@ qse_awk_val_t* qse_awk_rtx_makemapval (qse_awk_rtx_t* run)
qse_awk_rtx_seterrnum (run, QSE_AWK_ENOMEM);
return QSE_NULL;
}
*(qse_awk_rtx_t**)QSE_MAP_XTN(val->map) = run;
*(qse_awk_rtx_t**)qse_map_getxtn(val->map) = run;
/* the key is copied inline into a pair and is freed when the pair
* is destroyed */
@ -1156,7 +1156,7 @@ static qse_map_walk_t print_pair (
{
qse_awk_rtx_t* run = (qse_awk_rtx_t*)arg;
QSE_ASSERT (run == *(qse_awk_rtx_t**)QSE_MAP_XTN(map));
QSE_ASSERT (run == *(qse_awk_rtx_t**)qse_map_getxtn(map));
DPRINTF (DCUSTOM, QSE_T(" %.*s=>"),
(int)QSE_MAP_KLEN(pair), QSE_MAP_KPTR(pair));