cleaned up code and enhanced documentation

This commit is contained in:
2009-06-26 01:39:27 +00:00
parent 1c56d6e347
commit 06d3d78abf
12 changed files with 440 additions and 306 deletions

View File

@ -1,5 +1,5 @@
/*
* $Id: Awk.cpp 206 2009-06-21 13:33:05Z hyunghwan.chung $
* $Id: Awk.cpp 212 2009-06-25 07:39:27Z hyunghwan.chung $
*
Copyright 2006-2009 Chung, Hyung-Hwan.
@ -62,42 +62,42 @@ void Awk::Source::setHandle (void* handle)
// Awk::RIO
//////////////////////////////////////////////////////////////////
Awk::RIO::RIO (rtx_t* rtx, rio_arg_t* riod): rtx (rtx), riod (riod)
Awk::RIOBase::RIOBase (rtx_t* rtx, rio_arg_t* riod): rtx (rtx), riod (riod)
{
}
const Awk::char_t* Awk::RIO::getName () const
const Awk::char_t* Awk::RIOBase::getName () const
{
return this->riod->name;
}
const void* Awk::RIO::getHandle () const
const void* Awk::RIOBase::getHandle () const
{
return this->riod->handle;
}
void Awk::RIO::setHandle (void* handle)
void Awk::RIOBase::setHandle (void* handle)
{
this->riod->handle = handle;
}
Awk::RIO::operator Awk* () const
Awk::RIOBase::operator Awk* () const
{
rxtn_t* rxtn = (rxtn_t*) QSE_XTN (this->rtx);
return rxtn->run->awk;
}
Awk::RIO::operator Awk::awk_t* () const
Awk::RIOBase::operator Awk::awk_t* () const
{
return qse_awk_rtx_getawk (this->rtx);
}
Awk::RIO::operator Awk::rio_arg_t* () const
Awk::RIOBase::operator Awk::rio_arg_t* () const
{
return this->riod;
}
Awk::RIO::operator Awk::rtx_t* () const
Awk::RIOBase::operator Awk::rtx_t* () const
{
return this->rtx;
}
@ -106,7 +106,7 @@ Awk::RIO::operator Awk::rtx_t* () const
// Awk::Pipe
//////////////////////////////////////////////////////////////////
Awk::Pipe::Pipe (rtx_t* rtx, rio_arg_t* riod): RIO (rtx, riod)
Awk::Pipe::Pipe (rtx_t* rtx, rio_arg_t* riod): RIOBase (rtx, riod)
{
}
@ -119,7 +119,7 @@ Awk::Pipe::Mode Awk::Pipe::getMode () const
// Awk::File
//////////////////////////////////////////////////////////////////
Awk::File::File (rtx_t* rtx, rio_arg_t* riod): RIO (rtx, riod)
Awk::File::File (rtx_t* rtx, rio_arg_t* riod): RIOBase (rtx, riod)
{
}
@ -133,7 +133,7 @@ Awk::File::Mode Awk::File::getMode () const
//////////////////////////////////////////////////////////////////
Awk::Console::Console (rtx_t* rtx, rio_arg_t* riod):
RIO (rtx, riod), filename(QSE_NULL)
RIOBase (rtx, riod), filename(QSE_NULL)
{
}

View File

@ -1,5 +1,5 @@
/*
* $Id: awk.c 209 2009-06-23 13:29:18Z hyunghwan.chung $
* $Id: awk.c 212 2009-06-25 07:39:27Z hyunghwan.chung $
*
Copyright 2006-2009 Chung, Hyung-Hwan.
@ -203,7 +203,7 @@ qse_awk_t* qse_awk_open (qse_mmgr_t* mmgr, qse_size_t xtn, qse_awk_prm_t* prm)
qse_awk_setmaxdepth (awk, QSE_AWK_DEPTH_REX_BUILD, 0);
qse_awk_setmaxdepth (awk, QSE_AWK_DEPTH_REX_MATCH, 0);
if (qse_awk_initgbls (awk) == -1) goto oops;
if (qse_awk_initgbls (awk) <= -1) goto oops;
return awk;
@ -226,7 +226,7 @@ oops:
int qse_awk_close (qse_awk_t* awk)
{
if (qse_awk_clear (awk) == -1) return -1;
if (qse_awk_clear (awk) <= -1) return -1;
/*qse_awk_clrfnc (awk);*/
qse_map_close (awk->fnc.user);

View File

@ -1,5 +1,5 @@
/*
* $Id: awk.h 202 2009-06-16 06:05:40Z hyunghwan.chung $
* $Id: awk.h 212 2009-06-25 07:39:27Z hyunghwan.chung $
*
Copyright 2006-2009 Chung, Hyung-Hwan.
@ -65,6 +65,17 @@ typedef struct qse_awk_tree_t qse_awk_tree_t;
#define QSE_AWK_STRDUP(awk,str) (qse_strdup(str,(awk)->mmgr))
#define QSE_AWK_STRXDUP(awk,str,len) (qse_strxdup(str,len,(awk)->mmgr))
enum qse_awk_rio_type_t
{
/* rio types available */
QSE_AWK_RIO_PIPE,
QSE_AWK_RIO_FILE,
QSE_AWK_RIO_CONSOLE,
/* reserved for internal use only */
QSE_AWK_RIO_NUM
};
struct qse_awk_tree_t
{
qse_size_t ngbls; /* total number of globals */

View File

@ -1,5 +1,5 @@
/*
* $Id: err.c 210 2009-06-24 08:29:33Z hyunghwan.chung $
* $Id: err.c 212 2009-06-25 07:39:27Z hyunghwan.chung $
*
Copyright 2006-2009 Chung, Hyung-Hwan.
@ -180,7 +180,7 @@ void qse_awk_seterrstr (qse_awk_t* awk, qse_awk_errstr_t errstr)
awk->errstr = errstr;
}
int qse_awk_geterrnum (qse_awk_t* awk)
qse_awk_errnum_t qse_awk_geterrnum (qse_awk_t* awk)
{
return awk->errinf.num;
}
@ -249,7 +249,7 @@ void qse_awk_seterror (
);
}
int qse_awk_rtx_geterrnum (qse_awk_rtx_t* rtx)
qse_awk_errnum_t qse_awk_rtx_geterrnum (qse_awk_rtx_t* rtx)
{
return rtx->errinf.num;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/*
* $Id: std.c 210 2009-06-24 08:29:33Z hyunghwan.chung $
* $Id: std.c 212 2009-06-25 07:39:27Z hyunghwan.chung $
*
Copyright 2006-2009 Chung, Hyung-Hwan.
@ -1037,7 +1037,8 @@ enum
};
static int fnc_math_1 (
qse_awk_rtx_t* run, const qse_char_t* fnm, qse_size_t fnl, int type, void* f)
qse_awk_rtx_t* run, const qse_char_t* fnm, qse_size_t fnl,
int type, void* f)
{
qse_size_t nargs;
qse_awk_val_t* a0;

View File

@ -1,5 +1,5 @@
/*
* $Id: pio.c 196 2009-06-11 07:44:44Z hyunghwan.chung $
* $Id: pio.c 212 2009-06-25 07:39:27Z hyunghwan.chung $
*
Copyright 2006-2009 Chung, Hyung-Hwan.
@ -68,18 +68,6 @@ void qse_pio_close (qse_pio_t* pio)
QSE_MMGR_FREE (pio->mmgr, pio);
}
static int closefile (void* arg, int fd)
{
qse_pio_hnd_t* handle = (qse_pio_hnd_t*)arg;
if (fd != 0 && fd != 1 && fd != 2 &&
fd != handle[0] && fd != handle[1] && fd != handle[2] &&
fd != handle[3] && fd != handle[4] && fd != handle[5])
{
QSE_CLOSE (fd);
}
return 0;
}
qse_pio_t* qse_pio_init (
qse_pio_t* pio, qse_mmgr_t* mmgr, const qse_char_t* cmd, int flags)
{