This commit is contained in:
hyung-hwan 2008-08-21 03:17:25 +00:00
parent a95dad6655
commit 5e8901042a
40 changed files with 307 additions and 391 deletions

View File

@ -1,5 +1,5 @@
/*
* $Id: awk.c 333 2008-08-19 03:16:02Z baconevi $
* $Id: awk.c 337 2008-08-20 09:17:25Z baconevi $
*/
#include <ase/awk/awk.h>
@ -1114,7 +1114,7 @@ static ase_awk_t* open_awk (void)
ase_mmgr_t mmgr;
memset (&mmgr, 0, ASE_SIZEOF(mmgr));
mmgr.malloc = custom_awk_malloc;
mmgr.alloc = custom_awk_malloc;
mmgr.realloc = custom_awk_realloc;
mmgr.free = custom_awk_free;

View File

@ -4,11 +4,12 @@
#include <ase/lsp/lsp.h>
#include <ase/utl/ctype.h>
#include <ase/utl/stdio.h>
#include <ase/utl/main.h>
#include <ase/utl/getopt.h>
#include <ase/cmn/mem.h>
#include <ase/cmn/chr.h>
#include <ase/cmn/str.h>
#include <string.h>
@ -128,71 +129,6 @@ static void custom_lsp_free (void* custom, void* ptr)
#endif
}
static ase_bool_t custom_lsp_isupper (void* custom, ase_cint_t c)
{
return ase_isupper (c);
}
static ase_bool_t custom_lsp_islower (void* custom, ase_cint_t c)
{
return ase_islower (c);
}
static ase_bool_t custom_lsp_isalpha (void* custom, ase_cint_t c)
{
return ase_isalpha (c);
}
static ase_bool_t custom_lsp_isdigit (void* custom, ase_cint_t c)
{
return ase_isdigit (c);
}
static ase_bool_t custom_lsp_isxdigit (void* custom, ase_cint_t c)
{
return ase_isxdigit (c);
}
static ase_bool_t custom_lsp_isalnum (void* custom, ase_cint_t c)
{
return ase_isalnum (c);
}
static ase_bool_t custom_lsp_isspace (void* custom, ase_cint_t c)
{
return ase_isspace (c);
}
static ase_bool_t custom_lsp_isprint (void* custom, ase_cint_t c)
{
return ase_isprint (c);
}
static ase_bool_t custom_lsp_isgraph (void* custom, ase_cint_t c)
{
return ase_isgraph (c);
}
static ase_bool_t custom_lsp_iscntrl (void* custom, ase_cint_t c)
{
return ase_iscntrl (c);
}
static ase_bool_t custom_lsp_ispunct (void* custom, ase_cint_t c)
{
return ase_ispunct (c);
}
static ase_cint_t custom_lsp_toupper (void* custom, ase_cint_t c)
{
return ase_toupper (c);
}
static ase_cint_t custom_lsp_tolower (void* custom, ase_cint_t c)
{
return ase_tolower (c);
}
static int custom_lsp_sprintf (
void* custom, ase_char_t* buf, ase_size_t size,
const ase_char_t* fmt, ...)
@ -295,7 +231,7 @@ int lsp_main (int argc, ase_char_t* argv[])
ase_memset (&prmfns, 0, ASE_SIZEOF(prmfns));
prmfns.mmgr.malloc = custom_lsp_malloc;
prmfns.mmgr.alloc = custom_lsp_malloc;
prmfns.mmgr.realloc = custom_lsp_realloc;
prmfns.mmgr.free = custom_lsp_free;
#ifdef _WIN32
@ -311,20 +247,8 @@ int lsp_main (int argc, ase_char_t* argv[])
prmfns.mmgr.data = ASE_NULL;
#endif
prmfns.ccls.is_upper = custom_lsp_isupper;
prmfns.ccls.is_lower = custom_lsp_islower;
prmfns.ccls.is_alpha = custom_lsp_isalpha;
prmfns.ccls.is_digit = custom_lsp_isdigit;
prmfns.ccls.is_xdigit = custom_lsp_isxdigit;
prmfns.ccls.is_alnum = custom_lsp_isalnum;
prmfns.ccls.is_space = custom_lsp_isspace;
prmfns.ccls.is_print = custom_lsp_isprint;
prmfns.ccls.is_graph = custom_lsp_isgraph;
prmfns.ccls.is_cntrl = custom_lsp_iscntrl;
prmfns.ccls.is_punct = custom_lsp_ispunct;
prmfns.ccls.to_upper = custom_lsp_toupper;
prmfns.ccls.to_lower = custom_lsp_tolower;
prmfns.ccls.data = ASE_NULL;
/* TODO: change prmfns ...... lsp_oepn... etc */
ase_memcpy (&prmfns.ccls, ASE_CCLS_GETDFL(), ASE_SIZEOF(prmfns.ccls));
prmfns.misc.sprintf = custom_lsp_sprintf;
prmfns.misc.dprintf = custom_lsp_dprintf;

View File

@ -1,5 +1,5 @@
/*
* $Id: awk.h 332 2008-08-18 11:21:48Z baconevi $
* $Id: awk.h 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
@ -871,7 +871,7 @@ int ase_awk_setrec (ase_awk_run_t* run, ase_size_t idx, const ase_char_t* str, a
* RETURNS
* the pointer to the memory area allocated on success, ASE_NULL on failure
*/
void* ase_awk_malloc (
void* ase_awk_alloc (
/* the pointer to an ase_awk_t instance */
ase_awk_t* awk,
/* the size of memory to allocate in bytes */

View File

@ -29,15 +29,8 @@ enum ase_ccls_type_t
ASE_CCLS_PUNCT
};
struct ase_ccls_t
{
ase_bool_t(*is) (void* data, ase_cint_t c, ase_ccls_type_t type);
ase_cint_t(*to) (void* data, ase_cint_t c, ase_ccls_type_t type);
void* data;
};
#define ASE_CCLS_IS(ccls,c,is) ((ccls)->is((ccls)->data,c,is))
#define ASE_CCLS_TO(ccls,c,to) ((ccls)->to((ccls)->data,c,to))
#define ASE_CCLS_IS(ccls,c,type) ((ccls)->is((ccls)->data,c,type))
#define ASE_CCLS_TO(ccls,c,type) ((ccls)->to((ccls)->data,c,type))
#define ASE_CCLS_ISUPPER(ccls,c) ASE_CCLS_IS(ccls,c,ASE_CCLS_UPPER)
#define ASE_CCLS_ISLOWER(ccls,c) ASE_CCLS_IS(ccls,c,ASE_CCLS_LOWER)

View File

@ -1,5 +1,5 @@
/*
* $Id: mem.h 335 2008-08-20 08:22:07Z baconevi $
* $Id: mem.h 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
@ -18,24 +18,15 @@
/* allocate a memory block */
#define ASE_MMGR_ALLOC(mmgr,size) \
(mmgr)->alloc((mmgr)->data,size)
((mmgr)->alloc((mmgr)->data,size))
/* reallocate a memory block */
#define ASE_MMGR_REALLOC(mmgr,ptr,size) \
(mmgr)->realloc((mmgr)->data,ptr,size)
((mmgr)->realloc((mmgr)->data,ptr,size))
/* free a memory block */
#define ASE_MMGR_FREE(mmgr,ptr) \
(mmgr)->free((mmgr)->data,ptr)
/* define alias for ASE_MMGR_ALLOC */
#define ASE_MALLOC(mmgr,size) ASE_MMGR_ALLOC(mmgr,size)
/* define alias for ASE_MMGR_REALLOC */
#define ASE_REALLOC(mmgr,ptr,size) ASE_MMGR_REALLOC(mmgr,ptr,size)
/* define alias for ASE_MMGR_FREE */
#define ASE_FREE(mmgr,ptr) ASE_MMGR_FREE(mmgr,ptr)
((mmgr)->free((mmgr)->data,ptr))
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,5 @@
/*
* $Id: types.h 335 2008-08-20 08:22:07Z baconevi $
* $Id: types.h 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
@ -350,6 +350,7 @@ struct ase_mmgr_t
void* data;
};
/*
struct ase_ccls_t
{
ase_isccls_t is_upper;
@ -367,5 +368,13 @@ struct ase_ccls_t
ase_toccls_t to_lower;
void* data;
};
*/
struct ase_ccls_t
{
ase_bool_t (*is) (void* data, ase_cint_t c, int type);
ase_cint_t (*to) (void* data, ase_cint_t c, int type);
void* data;
};
#endif

View File

@ -1,5 +1,5 @@
/*
* $Id: awk.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: awk.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
@ -9,7 +9,7 @@
#define Library
#endif
#include "awk_i.h"
#include "awk.h"
static void free_word (void* awk, void* ptr);
static void free_afn (void* awk, void* afn);
@ -40,7 +40,7 @@ ase_awk_t* ase_awk_open (
if (mmgr == ASE_NULL) return ASE_NULL;
}
awk = ASE_MALLOC (mmgr, ASE_SIZEOF(ase_awk_t) + extension);
awk = ASE_ALLOC (mmgr, ASE_SIZEOF(ase_awk_t) + extension);
if (awk == ASE_NULL) return ASE_NULL;
ASE_MEMSET (awk, 0, ASE_SIZEOF(ase_awk_t) + extension);
@ -473,7 +473,7 @@ int ase_awk_setword (ase_awk_t* awk,
}
/* set the word */
vn = (ase_cstr_t*) ASE_AWK_MALLOC (
vn = (ase_cstr_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_cstr_t)+((nlen+1)*ASE_SIZEOF(*nkw)));
if (vn == ASE_NULL)
{
@ -484,7 +484,7 @@ int ase_awk_setword (ase_awk_t* awk,
vn->ptr = (const ase_char_t*)(vn + 1);
ase_strncpy ((ase_char_t*)vn->ptr, nkw, nlen);
vo = (ase_cstr_t*)ASE_AWK_MALLOC (
vo = (ase_cstr_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_cstr_t)+((olen+1)*ASE_SIZEOF(*okw)));
if (vo == ASE_NULL)
{

View File

@ -4,10 +4,11 @@
* {License}
*/
#ifndef _ASE_AWK_AWKI_H_
#define _ASE_AWK_AWKI_H_
#ifndef _ASE_LIB_AWK_AWK_H_
#define _ASE_LIB_AWK_AWK_H_
#include "../cmn/mem.h"
#include "../cmn/chr.h"
#include <ase/cmn/str.h>
#include <ase/cmn/map.h>
#include <ase/cmn/rex.h>
@ -33,23 +34,23 @@ typedef struct ase_awk_tree_t ase_awk_tree_t;
#define ASE_AWK_MAX_LOCALS 9999
#define ASE_AWK_MAX_PARAMS 9999
#define ASE_AWK_MALLOC(awk,size) ASE_MALLOC((awk)->mmgr,size)
#define ASE_AWK_ALLOC(awk,size) ASE_ALLOC((awk)->mmgr,size)
#define ASE_AWK_REALLOC(awk,ptr,size) ASE_REALLOC((awk)->mmgr,ptr,size)
#define ASE_AWK_FREE(awk,ptr) ASE_FREE((awk)->mmgr,ptr)
#define ASE_AWK_ISUPPER(awk,c) ASE_ISUPPER((awk)->ccls,c)
#define ASE_AWK_ISLOWER(awk,c) ASE_ISLOWER((awk)->ccls,c)
#define ASE_AWK_ISALPHA(awk,c) ASE_ISALPHA((awk)->ccls,c)
#define ASE_AWK_ISDIGIT(awk,c) ASE_ISDIGIT((awk)->ccls,c)
#define ASE_AWK_ISXDIGIT(awk,c) ASE_ISXDIGIT((awk)->ccls,c)
#define ASE_AWK_ISALNUM(awk,c) ASE_ISALNUM((awk)->ccls,c)
#define ASE_AWK_ISSPACE(awk,c) ASE_ISSPACE((awk)->ccls,c)
#define ASE_AWK_ISPRINT(awk,c) ASE_ISPRINT((awk)->ccls,c)
#define ASE_AWK_ISGRAPH(awk,c) ASE_ISGRAPH((awk)->ccls,c)
#define ASE_AWK_ISCNTRL(awk,c) ASE_ISCNTRL((awk)->ccls,c)
#define ASE_AWK_ISPUNCT(awk,c) ASE_ISPUNCT((awk)->ccls,c)
#define ASE_AWK_TOUPPER(awk,c) ASE_TOUPPER((awk)->ccls,c)
#define ASE_AWK_TOLOWER(awk,c) ASE_TOLOWER((awk)->ccls,c)
#define ASE_AWK_ISUPPER(awk,c) ASE_CCLS_ISUPPER((awk)->ccls,c)
#define ASE_AWK_ISLOWER(awk,c) ASE_CCLS_ISLOWER((awk)->ccls,c)
#define ASE_AWK_ISALPHA(awk,c) ASE_CCLS_ISALPHA((awk)->ccls,c)
#define ASE_AWK_ISDIGIT(awk,c) ASE_CCLS_ISDIGIT((awk)->ccls,c)
#define ASE_AWK_ISXDIGIT(awk,c) ASE_CCLS_ISXDIGIT((awk)->ccls,c)
#define ASE_AWK_ISALNUM(awk,c) ASE_CCLS_ISALNUM((awk)->ccls,c)
#define ASE_AWK_ISSPACE(awk,c) ASE_CCLS_ISSPACE((awk)->ccls,c)
#define ASE_AWK_ISPRINT(awk,c) ASE_CCLS_ISPRINT((awk)->ccls,c)
#define ASE_AWK_ISGRAPH(awk,c) ASE_CCLS_ISGRAPH((awk)->ccls,c)
#define ASE_AWK_ISCNTRL(awk,c) ASE_CCLS_ISCNTRL((awk)->ccls,c)
#define ASE_AWK_ISPUNCT(awk,c) ASE_CCLS_ISPUNCT((awk)->ccls,c)
#define ASE_AWK_TOUPPER(awk,c) ASE_CCLS_TOUPPER((awk)->ccls,c)
#define ASE_AWK_TOLOWER(awk,c) ASE_CCLS_TOLOWER((awk)->ccls,c)
#define ASE_AWK_STRDUP(awk,str) (ase_strdup(str,(awk)->mmgr))
#define ASE_AWK_STRXDUP(awk,str,len) (ase_strxdup(str,len,(awk)->mmgr))

View File

@ -1,11 +1,10 @@
/*
* $Id: err.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: err.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "awk_i.h"
#include <stdarg.h>
#include "awk.h"
static const ase_char_t* __geterrstr (int errnum)
{

View File

@ -1,10 +1,10 @@
/*
* $Id: extio.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: extio.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "awk_i.h"
#include "awk.h"
enum
{
@ -114,7 +114,7 @@ int ase_awk_readextio (
if (p == ASE_NULL)
{
p = (ase_awk_extio_t*) ASE_AWK_MALLOC (
p = (ase_awk_extio_t*) ASE_AWK_ALLOC (
run->awk, ASE_SIZEOF(ase_awk_extio_t));
if (p == ASE_NULL)
{
@ -469,7 +469,7 @@ int ase_awk_writeextio_str (
/* if there is not corresponding extio for name, create one */
if (p == ASE_NULL)
{
p = (ase_awk_extio_t*) ASE_AWK_MALLOC (
p = (ase_awk_extio_t*) ASE_AWK_ALLOC (
run->awk, ASE_SIZEOF(ase_awk_extio_t));
if (p == ASE_NULL)
{

View File

@ -1,10 +1,10 @@
/*
* $Id: func.c 270 2008-07-20 05:53:29Z baconevi $
* $Id: func.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "awk_i.h"
#include "awk.h"
static int bfn_close (ase_awk_run_t*, const ase_char_t*, ase_size_t);
static int bfn_fflush (ase_awk_run_t*, const ase_char_t*, ase_size_t);
@ -71,7 +71,7 @@ void* ase_awk_addfunc (
spec_len = (arg_spec == ASE_NULL)? 0: ase_strlen(arg_spec);
bfn = (ase_awk_bfn_t*) ASE_AWK_MALLOC (awk,
bfn = (ase_awk_bfn_t*) ASE_AWK_ALLOC (awk,
ASE_SIZEOF(ase_awk_bfn_t) +
(name_len+1) * ASE_SIZEOF(ase_char_t) +
(spec_len+1) * ASE_SIZEOF(ase_char_t));

View File

@ -1,5 +1,5 @@
/*
* $Id: jni.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: jni.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
@ -17,8 +17,8 @@
#include <ase/awk/awk.h>
#include "../cmn/mem.h"
#include "../cmn/chr.h"
#include <ase/utl/stdio.h>
#include <ase/utl/ctype.h>
#ifdef _WIN32
#include <windows.h>
@ -620,7 +620,7 @@ JNIEXPORT void JNICALL Java_ase_awk_Awk_run (JNIEnv* env, jobject obj, jlong awk
return;
}
mmm = (ase_char_t*) ase_awk_malloc (awk, ASE_SIZEOF(ase_char_t)*(len+1));
mmm = (ase_char_t*) ase_awk_alloc (awk, ASE_SIZEOF(ase_char_t)*(len+1));
if (mmm == ASE_NULL)
{
(*env)->ReleaseStringChars (env, mfn, ptr);
@ -660,7 +660,7 @@ JNIEXPORT void JNICALL Java_ase_awk_Awk_run (JNIEnv* env, jobject obj, jlong awk
len = (*env)->GetArrayLength (env, args);
runarg = ase_awk_malloc (awk, sizeof(ase_awk_runarg_t) * (len+1));
runarg = ase_awk_alloc (awk, sizeof(ase_awk_runarg_t) * (len+1));
if (runarg == ASE_NULL)
{
if (mmm != ASE_NULL) ase_awk_free (awk, mmm);
@ -1580,7 +1580,7 @@ static int handle_bfn (
if (len > 0 && ASE_SIZEOF(jchar) != ASE_SIZEOF(ase_char_t))
{
jsize x;
rptr = (ase_char_t*) ase_awk_malloc (awk, ASE_SIZEOF(ase_char_t)*len);
rptr = (ase_char_t*) ase_awk_alloc (awk, ASE_SIZEOF(ase_char_t)*len);
if (rptr == ASE_NULL)
{
/* ran out of memory in exception handling.
@ -1665,7 +1665,7 @@ JNIEXPORT void JNICALL Java_ase_awk_Awk_addfunc (
{
jsize x;
ase_char_t* tmp = (ase_char_t*)
ase_awk_malloc (awk, ASE_SIZEOF(ase_char_t)*len);
ase_awk_alloc (awk, ASE_SIZEOF(ase_char_t)*len);
if (tmp == ASE_NULL)
{
(*env)->ReleaseStringChars (env, name, ptr);
@ -1726,7 +1726,7 @@ JNIEXPORT void JNICALL Java_ase_awk_Awk_delfunc (
{
jsize x;
ase_char_t* tmp = (ase_char_t*)
ase_awk_malloc (awk, ASE_SIZEOF(ase_char_t)*len);
ase_awk_alloc (awk, ASE_SIZEOF(ase_char_t)*len);
if (tmp == ASE_NULL)
{
(*env)->ReleaseStringChars (env, name, ptr);
@ -1886,7 +1886,7 @@ JNIEXPORT void JNICALL Java_ase_awk_Awk_setfilename (
{
jsize x;
ase_char_t* tmp = (ase_char_t*)
ase_awk_malloc (awk, ASE_SIZEOF(ase_char_t)*len);
ase_awk_alloc (awk, ASE_SIZEOF(ase_char_t)*len);
if (tmp == ASE_NULL)
{
(*env)->ReleaseStringChars (env, name, ptr);
@ -1931,7 +1931,7 @@ JNIEXPORT void JNICALL Java_ase_awk_Awk_setofilename (
{
jsize x;
ase_char_t* tmp = (ase_char_t*)
ase_awk_malloc (awk, ASE_SIZEOF(ase_char_t)*len);
ase_awk_alloc (awk, ASE_SIZEOF(ase_char_t)*len);
if (tmp == ASE_NULL)
{
(*env)->ReleaseStringChars (env, name, ptr);
@ -1987,7 +1987,7 @@ static jstring JNICALL call_strftime (
return ASE_NULL;
}
tmp = (ase_char_t*) ase_awk_malloc (awk, ASE_SIZEOF(ase_char_t)*(len+1));
tmp = (ase_char_t*) ase_awk_alloc (awk, ASE_SIZEOF(ase_char_t)*(len+1));
if (tmp == ASE_NULL)
{
(*env)->ReleaseStringChars (env, fmt, ptr);
@ -2074,7 +2074,7 @@ JNIEXPORT jint JNICALL Java_ase_awk_Awk_system (
return -1;
}
tmp = (ase_char_t*) ase_awk_malloc (awk, ASE_SIZEOF(ase_char_t)*(len+1));
tmp = (ase_char_t*) ase_awk_alloc (awk, ASE_SIZEOF(ase_char_t)*(len+1));
if (tmp == ASE_NULL)
{
(*env)->ReleaseStringChars (env, cmd, ptr);
@ -2090,7 +2090,7 @@ JNIEXPORT jint JNICALL Java_ase_awk_Awk_system (
#ifdef _WIN32
ret = _tsystem(tmp);
#else
char* mbs = (char*)ase_awk_malloc (awk, len*5+1);
char* mbs = (char*)ase_awk_alloc (awk, len*5+1);
if (mbs == ASE_NULL)
{
ase_awk_free (awk, tmp);
@ -2264,7 +2264,7 @@ JNIEXPORT jobject JNICALL Java_ase_awk_Argument_getindexed (JNIEnv* env, jobject
if (len > 0 && ASE_SIZEOF(jchar) != ASE_SIZEOF(ase_char_t))
{
ase_size_t x;
rptr = (ase_char_t*) ase_awk_malloc (awk, ASE_SIZEOF(ase_char_t)*len);
rptr = (ase_char_t*) ase_awk_alloc (awk, ASE_SIZEOF(ase_char_t)*len);
if (rptr == ASE_NULL)
{
(*env)->ReleaseStringChars (env, index, ptr);
@ -2746,7 +2746,7 @@ static ase_char_t* dup_str (ase_awk_t* awk, const jchar* str, ase_size_t len)
ase_char_t* tmp;
ase_size_t i;
tmp = (ase_char_t*) ase_awk_malloc (awk, (len+1) * ASE_SIZEOF(ase_char_t));
tmp = (ase_char_t*) ase_awk_alloc (awk, (len+1) * ASE_SIZEOF(ase_char_t));
if (tmp == ASE_NULL) return ASE_NULL;
for (i = 0; i < (ase_size_t)len; i++) tmp[i] = (ase_char_t)str[i];
@ -2758,7 +2758,7 @@ static ase_char_t* dup_str (ase_awk_t* awk, const jchar* str, ase_size_t len)
{
ase_char_t* tmp;
tmp = (ase_char_t*) ase_awk_malloc (awk, (len+1) * ASE_SIZEOF(ase_char_t));
tmp = (ase_char_t*) ase_awk_alloc (awk, (len+1) * ASE_SIZEOF(ase_char_t));
if (tmp == ASE_NULL) return ASE_NULL;
ase_strncpy (tmp, (ase_char_t*)str, len);
@ -2786,7 +2786,7 @@ static int get_str (
jsize x;
ase_char_t* tmp = (ase_char_t*)
ase_awk_malloc (awk, ASE_SIZEOF(ase_char_t)*len);
ase_awk_alloc (awk, ASE_SIZEOF(ase_char_t)*len);
if (tmp == ASE_NULL)
{
(*env)->ReleaseStringChars (env, str, ptr);
@ -2827,7 +2827,7 @@ static jstring new_str (
chunk = (len > ASE_TYPE_MAX(jsize))? ASE_TYPE_MAX(jsize): (jsize)len;
if (chunk > 0 && ASE_SIZEOF(jchar) != ASE_SIZEOF(ase_char_t))
{
jchar* tmp = (jchar*) ase_awk_malloc (awk, ASE_SIZEOF(jchar)*chunk);
jchar* tmp = (jchar*) ase_awk_alloc (awk, ASE_SIZEOF(jchar)*chunk);
if (tmp == ASE_NULL) return ASE_NULL;
for (i = 0; i < chunk; i++) tmp[i] = (jchar)ptr[i];

View File

@ -1,14 +1,14 @@
/*
* $Id: misc.c 271 2008-07-20 12:42:39Z baconevi $
* $Id: misc.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "awk_i.h"
#include "awk.h"
void* ase_awk_malloc (ase_awk_t* awk, ase_size_t size)
void* ase_awk_alloc (ase_awk_t* awk, ase_size_t size)
{
return ASE_AWK_MALLOC (awk, size);
return ASE_AWK_ALLOC (awk, size);
}
void ase_awk_free (ase_awk_t* awk, void* ptr)

View File

@ -1,10 +1,10 @@
/*
* $Id: parse.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: parse.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "awk_i.h"
#include "awk.h"
enum
{
@ -1060,7 +1060,7 @@ static ase_awk_nde_t* parse_function (ase_awk_t* awk)
/* parameter names are not required anymore. clear them */
ase_awk_tab_clear (&awk->parse.params);
afn = (ase_awk_afn_t*) ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_afn_t));
afn = (ase_awk_afn_t*) ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_afn_t));
if (afn == ASE_NULL)
{
ASE_AWK_FREE (awk, name_dup);
@ -1162,7 +1162,7 @@ static ase_awk_chain_t* parse_pattern_block (
}
chain = (ase_awk_chain_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_chain_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_chain_t));
if (chain == ASE_NULL)
{
ase_awk_clrpt (awk, nde);
@ -1295,7 +1295,7 @@ static ase_awk_nde_t* parse_block (
}
block = (ase_awk_nde_blk_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_blk_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_blk_t));
if (block == ASE_NULL)
{
ase_awk_tab_remove (
@ -1777,7 +1777,7 @@ static ase_awk_nde_t* parse_statement (ase_awk_t* awk, ase_size_t line)
{
/* null statement */
nde = (ase_awk_nde_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_t));
if (nde == ASE_NULL)
{
SETERRLIN (awk, ASE_AWK_ENOMEM, line);
@ -2008,7 +2008,7 @@ static ase_awk_nde_t* parse_expression0 (ase_awk_t* awk, ase_size_t line)
}
nde = (ase_awk_nde_ass_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_ass_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_ass_t));
if (nde == ASE_NULL)
{
ase_awk_clrpt (awk, x);
@ -2065,7 +2065,7 @@ static ase_awk_nde_t* parse_basic_expr (ase_awk_t* awk, ase_size_t line)
return ASE_NULL;
}
tmp = (ase_awk_nde_cnd_t*) ASE_AWK_MALLOC (
tmp = (ase_awk_nde_cnd_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_cnd_t));
if (tmp == ASE_NULL)
{
@ -2135,7 +2135,7 @@ static ase_awk_nde_t* parse_binary_expr (
return ASE_NULL;
}
nde = (ase_awk_nde_exp_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_exp_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_exp_t));
if (nde == ASE_NULL)
{
@ -2228,7 +2228,7 @@ static ase_awk_nde_t* parse_in (ase_awk_t* awk, ase_size_t line)
return ASE_NULL;
}
nde = (ase_awk_nde_exp_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_exp_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_exp_t));
if (nde == ASE_NULL)
{
@ -2332,7 +2332,7 @@ static ase_awk_nde_t* parse_bitwise_or_with_extio (ase_awk_t* awk, ase_size_t li
}
}
nde = (ase_awk_nde_getline_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_getline_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_getline_t));
if (nde == ASE_NULL)
{
@ -2371,7 +2371,7 @@ static ase_awk_nde_t* parse_bitwise_or_with_extio (ase_awk_t* awk, ase_size_t li
return ASE_NULL;
}
nde = (ase_awk_nde_exp_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_exp_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_exp_t));
if (nde == ASE_NULL)
{
@ -2492,7 +2492,7 @@ static ase_awk_nde_t* parse_concat (ase_awk_t* awk, ase_size_t line)
return ASE_NULL;
}
nde = (ase_awk_nde_exp_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_exp_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_exp_t));
if (nde == ASE_NULL)
{
@ -2571,7 +2571,7 @@ static ase_awk_nde_t* parse_unary (ase_awk_t* awk, ase_size_t line)
if (left == ASE_NULL) return ASE_NULL;
nde = (ase_awk_nde_exp_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_exp_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_exp_t));
if (nde == ASE_NULL)
{
ase_awk_clrpt (awk, left);
@ -2628,7 +2628,7 @@ static ase_awk_nde_t* parse_unary_exp (ase_awk_t* awk, ase_size_t line)
if (left == ASE_NULL) return ASE_NULL;
nde = (ase_awk_nde_exp_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_exp_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_exp_t));
if (nde == ASE_NULL)
{
ase_awk_clrpt (awk, left);
@ -2710,7 +2710,7 @@ static ase_awk_nde_t* parse_increment (ase_awk_t* awk, ase_size_t line)
}
nde = (ase_awk_nde_exp_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_exp_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_exp_t));
if (nde == ASE_NULL)
{
ase_awk_clrpt (awk, left);
@ -2739,7 +2739,7 @@ static ase_awk_nde_t* parse_primary (ase_awk_t* awk, ase_size_t line)
{
ase_awk_nde_int_t* nde;
nde = (ase_awk_nde_int_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_int_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_int_t));
if (nde == ASE_NULL)
{
@ -2780,7 +2780,7 @@ static ase_awk_nde_t* parse_primary (ase_awk_t* awk, ase_size_t line)
{
ase_awk_nde_real_t* nde;
nde = (ase_awk_nde_real_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_real_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_real_t));
if (nde == ASE_NULL)
{
@ -2821,7 +2821,7 @@ static ase_awk_nde_t* parse_primary (ase_awk_t* awk, ase_size_t line)
{
ase_awk_nde_str_t* nde;
nde = (ase_awk_nde_str_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_str_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_str_t));
if (nde == ASE_NULL)
{
@ -2864,7 +2864,7 @@ static ase_awk_nde_t* parse_primary (ase_awk_t* awk, ase_size_t line)
if (get_rexstr (awk) == -1) return ASE_NULL;
ASE_ASSERT (MATCH(awk,TOKEN_REX));
nde = (ase_awk_nde_rex_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_rex_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_rex_t));
if (nde == ASE_NULL)
{
@ -2920,7 +2920,7 @@ static ase_awk_nde_t* parse_primary (ase_awk_t* awk, ase_size_t line)
prim = parse_primary (awk, awk->token.line);
if (prim == ASE_NULL) return ASE_NULL;
nde = (ase_awk_nde_pos_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_pos_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_pos_t));
if (nde == ASE_NULL)
{
@ -3011,7 +3011,7 @@ static ase_awk_nde_t* parse_primary (ase_awk_t* awk, ase_size_t line)
}
}
tmp = (ase_awk_nde_grp_t*) ASE_AWK_MALLOC (
tmp = (ase_awk_nde_grp_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_grp_t));
if (tmp == ASE_NULL)
{
@ -3065,7 +3065,7 @@ static ase_awk_nde_t* parse_primary (ase_awk_t* awk, ase_size_t line)
}
}
nde = (ase_awk_nde_getline_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_getline_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_getline_t));
if (nde == ASE_NULL)
{
@ -3160,7 +3160,7 @@ static ase_awk_nde_t* parse_primary_ident (ase_awk_t* awk, ase_size_t line)
return ASE_NULL;
}
nde = (ase_awk_nde_var_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_var_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_var_t));
if (nde == ASE_NULL)
{
@ -3195,7 +3195,7 @@ static ase_awk_nde_t* parse_primary_ident (ase_awk_t* awk, ase_size_t line)
return ASE_NULL;
}
nde = (ase_awk_nde_var_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_var_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_var_t));
if (nde == ASE_NULL)
{
@ -3230,7 +3230,7 @@ static ase_awk_nde_t* parse_primary_ident (ase_awk_t* awk, ase_size_t line)
return ASE_NULL;
}
nde = (ase_awk_nde_var_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_var_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_var_t));
if (nde == ASE_NULL)
{
@ -3275,7 +3275,7 @@ static ase_awk_nde_t* parse_primary_ident (ase_awk_t* awk, ase_size_t line)
/* named variable */
ase_awk_nde_var_t* nde;
nde = (ase_awk_nde_var_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_var_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_var_t));
if (nde == ASE_NULL)
{
@ -3410,7 +3410,7 @@ static ase_awk_nde_t* parse_hashidx (
}
nde = (ase_awk_nde_var_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_var_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_var_t));
if (nde == ASE_NULL)
{
ase_awk_clrpt (awk, idx);
@ -3594,7 +3594,7 @@ static ase_awk_nde_t* parse_fncall (
}
call = (ase_awk_nde_call_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_call_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_call_t));
if (call == ASE_NULL)
{
if (head != ASE_NULL) ase_awk_clrpt (awk, head);
@ -3723,7 +3723,7 @@ static ase_awk_nde_t* parse_if (ase_awk_t* awk, ase_size_t line)
else else_part = ASE_NULL;
nde = (ase_awk_nde_if_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_if_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_if_t));
if (nde == ASE_NULL)
{
ase_awk_clrpt (awk, else_part);
@ -3781,7 +3781,7 @@ static ase_awk_nde_t* parse_while (ase_awk_t* awk, ase_size_t line)
}
nde = (ase_awk_nde_while_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_while_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_while_t));
if (nde == ASE_NULL)
{
ase_awk_clrpt (awk, body);
@ -3850,7 +3850,7 @@ static ase_awk_nde_t* parse_for (ase_awk_t* awk, ase_size_t line)
return ASE_NULL;
}
nde2 = (ase_awk_nde_foreach_t*) ASE_AWK_MALLOC (
nde2 = (ase_awk_nde_foreach_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_foreach_t));
if (nde2 == ASE_NULL)
{
@ -3963,7 +3963,7 @@ static ase_awk_nde_t* parse_for (ase_awk_t* awk, ase_size_t line)
}
nde = (ase_awk_nde_for_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_for_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_for_t));
if (nde == ASE_NULL)
{
ase_awk_clrpt (awk, init);
@ -4057,7 +4057,7 @@ static ase_awk_nde_t* parse_dowhile (ase_awk_t* awk, ase_size_t line)
}
nde = (ase_awk_nde_while_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_while_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_while_t));
if (nde == ASE_NULL)
{
ase_awk_clrpt (awk, body);
@ -4088,7 +4088,7 @@ static ase_awk_nde_t* parse_break (ase_awk_t* awk, ase_size_t line)
}
nde = (ase_awk_nde_break_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_break_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_break_t));
if (nde == ASE_NULL)
{
SETERRLIN (awk, ASE_AWK_ENOMEM, line);
@ -4114,7 +4114,7 @@ static ase_awk_nde_t* parse_continue (ase_awk_t* awk, ase_size_t line)
}
nde = (ase_awk_nde_continue_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_continue_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_continue_t));
if (nde == ASE_NULL)
{
SETERRLIN (awk, ASE_AWK_ENOMEM, line);
@ -4135,7 +4135,7 @@ static ase_awk_nde_t* parse_return (ase_awk_t* awk, ase_size_t line)
ASE_ASSERT (awk->token.prev.type == TOKEN_RETURN);
nde = (ase_awk_nde_return_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_return_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_return_t));
if (nde == ASE_NULL)
{
@ -4174,7 +4174,7 @@ static ase_awk_nde_t* parse_exit (ase_awk_t* awk, ase_size_t line)
ASE_ASSERT (awk->token.prev.type == TOKEN_EXIT);
nde = (ase_awk_nde_exit_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_exit_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_exit_t));
if (nde == ASE_NULL)
{
SETERRLIN (awk, ASE_AWK_ENOMEM, line);
@ -4222,7 +4222,7 @@ static ase_awk_nde_t* parse_next (ase_awk_t* awk, ase_size_t line)
}
nde = (ase_awk_nde_next_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_next_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_next_t));
if (nde == ASE_NULL)
{
SETERRLIN (awk, ASE_AWK_ENOMEM, line);
@ -4251,7 +4251,7 @@ static ase_awk_nde_t* parse_nextfile (ase_awk_t* awk, ase_size_t line, int out)
}
nde = (ase_awk_nde_nextfile_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_nextfile_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_nextfile_t));
if (nde == ASE_NULL)
{
SETERRLIN (awk, ASE_AWK_ENOMEM, line);
@ -4289,7 +4289,7 @@ static ase_awk_nde_t* parse_delete (ase_awk_t* awk, ase_size_t line)
return ASE_NULL;
}
nde = (ase_awk_nde_delete_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_delete_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_delete_t));
if (nde == ASE_NULL)
{
@ -4329,7 +4329,7 @@ static ase_awk_nde_t* parse_reset (ase_awk_t* awk, ase_size_t line)
return ASE_NULL;
}
nde = (ase_awk_nde_reset_t*) ASE_AWK_MALLOC (
nde = (ase_awk_nde_reset_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_nde_reset_t));
if (nde == ASE_NULL)
{
@ -4469,7 +4469,7 @@ static ase_awk_nde_t* parse_print (ase_awk_t* awk, ase_size_t line, int type)
}
nde = (ase_awk_nde_print_t*)
ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_nde_print_t));
ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_nde_print_t));
if (nde == ASE_NULL)
{
if (args != ASE_NULL) ase_awk_clrpt (awk, args);

View File

@ -1,10 +1,10 @@
/*
* $Id: rec.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: rec.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "awk_i.h"
#include "awk.h"
static int split_record (ase_awk_run_t* run);
static int recomp_record_fields (
@ -159,7 +159,7 @@ static int split_record (ase_awk_run_t* run)
/* allocate space */
if (nflds > run->inrec.maxflds)
{
void* tmp = ASE_AWK_MALLOC (
void* tmp = ASE_AWK_ALLOC (
run->awk, ASE_SIZEOF(*run->inrec.flds) * nflds);
if (tmp == ASE_NULL)
{
@ -310,7 +310,7 @@ static int recomp_record_fields (
}
else
{
tmp = ASE_AWK_MALLOC (
tmp = ASE_AWK_ALLOC (
run->awk, ASE_SIZEOF(*run->inrec.flds) * max);
if (tmp == ASE_NULL)
{

View File

@ -1,10 +1,10 @@
/*
* $Id: run.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: run.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "awk_i.h"
#include "awk.h"
#ifdef DEBUG_RUN
#include <ase/utl/stdio.h>
@ -638,7 +638,7 @@ int ase_awk_run (ase_awk_t* awk,
}
/* allocate the storage for the run object */
run = (ase_awk_run_t*) ASE_AWK_MALLOC (awk, ASE_SIZEOF(ase_awk_run_t));
run = (ase_awk_run_t*) ASE_AWK_ALLOC (awk, ASE_SIZEOF(ase_awk_run_t));
if (run == ASE_NULL)
{
/* if it fails, the failure is reported thru
@ -802,7 +802,7 @@ static int init_run (
}
run->format.tmp.ptr = (ase_char_t*)
ASE_AWK_MALLOC (run->awk, 4096*ASE_SIZEOF(ase_char_t*));
ASE_AWK_ALLOC (run->awk, 4096*ASE_SIZEOF(ase_char_t*));
if (run->format.tmp.ptr == ASE_NULL)
{
ase_map_close (run->named);
@ -817,7 +817,7 @@ static int init_run (
if (run->awk->tree.chain_size > 0)
{
run->pattern_range_state = (ase_byte_t*) ASE_AWK_MALLOC (
run->pattern_range_state = (ase_byte_t*) ASE_AWK_ALLOC (
run->awk, run->awk->tree.chain_size*ASE_SIZEOF(ase_byte_t));
if (run->pattern_range_state == ASE_NULL)
{
@ -1296,7 +1296,7 @@ static int run_main (
ase_awk_nde_str_t* tmp, * tmp2;
i--;
tmp = (ase_awk_nde_str_t*) ASE_AWK_MALLOC (
tmp = (ase_awk_nde_str_t*) ASE_AWK_ALLOC (
run->awk, ASE_SIZEOF(*tmp));
if (tmp == ASE_NULL)
{
@ -6289,7 +6289,7 @@ static int __raw_push (ase_awk_run_t* run, void* val)
}
else
{
tmp = (void**) ASE_AWK_MALLOC (
tmp = (void**) ASE_AWK_ALLOC (
run->awk, n * ASE_SIZEOF(void*));
if (tmp == ASE_NULL) return -1;
if (run->stack != ASE_NULL)
@ -6575,7 +6575,7 @@ ase_char_t* ase_awk_format (
(buf)->ptr = ASE_NULL; \
} \
(buf)->len += (buf)->inc; \
(buf)->ptr = (ase_char_t*)ASE_AWK_MALLOC ( \
(buf)->ptr = (ase_char_t*)ASE_AWK_ALLOC ( \
run->awk, (buf)->len * ASE_SIZEOF(ase_char_t)); \
if ((buf)->ptr == ASE_NULL) (buf)->len = 0; \
} while (0)

View File

@ -2,7 +2,7 @@
* $Id$
*/
#include "awk_i.h"
#include "awk.h"
#include <ase/utl/stdio.h>
#include <ase/utl/helper.h>
#include <math.h>

View File

@ -1,16 +1,16 @@
/*
* $Id: tab.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: tab.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "awk_i.h"
#include "awk.h"
ase_awk_tab_t* ase_awk_tab_open (ase_awk_tab_t* tab, ase_awk_t* awk)
{
if (tab == ASE_NULL)
{
tab = (ase_awk_tab_t*) ASE_AWK_MALLOC (
tab = (ase_awk_tab_t*) ASE_AWK_ALLOC (
awk, ASE_SIZEOF(ase_awk_tab_t));
if (tab == ASE_NULL) return ASE_NULL;
tab->__dynamic = ASE_TRUE;
@ -68,7 +68,7 @@ ase_awk_tab_t* ase_awk_tab_setcapa (ase_awk_tab_t* tab, ase_size_t capa)
}
else
{
tmp = ASE_AWK_MALLOC (
tmp = ASE_AWK_ALLOC (
tab->awk, ASE_SIZEOF(*tab->buf) * capa);
if (tmp == ASE_NULL) return ASE_NULL;
if (tab->buf != ASE_NULL)

View File

@ -1,10 +1,10 @@
/*
* $Id: tree.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: tree.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "awk_i.h"
#include "awk.h"
static const ase_char_t* assop_str[] =
{

View File

@ -1,10 +1,10 @@
/*
* $Id: val.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: val.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "awk_i.h"
#include "awk.h"
#ifdef DEBUG_VAL
#include <ase/utl/stdio.h>
@ -103,7 +103,7 @@ ase_awk_val_t* ase_awk_makeintval (ase_awk_run_t* run, ase_long_t v)
}
else
{
val = (ase_awk_val_int_t*) ASE_AWK_MALLOC (
val = (ase_awk_val_int_t*) ASE_AWK_ALLOC (
run->awk, ASE_SIZEOF(ase_awk_val_int_t));
if (val == ASE_NULL)
{
@ -124,10 +124,10 @@ ase_awk_val_t* ase_awk_makeintval (ase_awk_run_t* run, ase_long_t v)
* aligned memory access - using the code commented out
* will cause a fault on such a platform */
/* c = ASE_AWK_MALLOC (run->awk,
/* c = ASE_AWK_ALLOC (run->awk,
ASE_SIZEOF(ase_awk_val_chunk_t)+
ASE_SIZEOF(ase_awk_val_int_t)*CHUNKSIZE); */
c = ASE_AWK_MALLOC (run->awk, ASE_SIZEOF(ase_awk_val_ichunk_t));
c = ASE_AWK_ALLOC (run->awk, ASE_SIZEOF(ase_awk_val_ichunk_t));
if (c == ASE_NULL)
{
ase_awk_setrunerrnum (run, ASE_AWK_ENOMEM);
@ -178,7 +178,7 @@ ase_awk_val_t* ase_awk_makerealval (ase_awk_run_t* run, ase_real_t v)
}
else
{
val = (ase_awk_val_real_t*) ASE_AWK_MALLOC (
val = (ase_awk_val_real_t*) ASE_AWK_ALLOC (
run->awk, ASE_SIZEOF(ase_awk_val_real_t));
if (val == ASE_NULL)
{
@ -194,10 +194,10 @@ ase_awk_val_t* ase_awk_makerealval (ase_awk_run_t* run, ase_real_t v)
ase_awk_val_real_t* x;
ase_size_t i;
/* c = ASE_AWK_MALLOC (run->awk,
/* c = ASE_AWK_ALLOC (run->awk,
ASE_SIZEOF(ase_awk_val_chunk_t)+
ASE_SIZEOF(ase_awk_val_real_t)*CHUNKSIZE); */
c = ASE_AWK_MALLOC (run->awk, ASE_SIZEOF(ase_awk_val_rchunk_t));
c = ASE_AWK_ALLOC (run->awk, ASE_SIZEOF(ase_awk_val_rchunk_t));
if (c == ASE_NULL)
{
ase_awk_setrunerrnum (run, ASE_AWK_ENOMEM);
@ -268,7 +268,7 @@ ase_awk_val_t* ase_awk_makestrval (
rlen = 64;
}*/
val = (ase_awk_val_str_t*) ASE_AWK_MALLOC (
val = (ase_awk_val_str_t*) ASE_AWK_ALLOC (
run->awk,
ASE_SIZEOF(ase_awk_val_str_t) +
(rlen+1)*ASE_SIZEOF(ase_char_t));
@ -297,7 +297,7 @@ ase_awk_val_t* ase_awk_makestrval_nodup (
{
ase_awk_val_str_t* val;
val = (ase_awk_val_str_t*) ASE_AWK_MALLOC (
val = (ase_awk_val_str_t*) ASE_AWK_ALLOC (
run->awk, ASE_SIZEOF(ase_awk_val_str_t));
if (val == ASE_NULL)
{
@ -339,7 +339,7 @@ ase_awk_val_t* ase_awk_makestrval2 (
rlen = 64;
}*/
val = (ase_awk_val_str_t*) ASE_AWK_MALLOC (
val = (ase_awk_val_str_t*) ASE_AWK_ALLOC (
run->awk,
ASE_SIZEOF(ase_awk_val_str_t) +
(rlen+1)*ASE_SIZEOF(ase_char_t));
@ -370,7 +370,7 @@ ase_awk_val_t* ase_awk_makerexval (
{
ase_awk_val_rex_t* val;
val = (ase_awk_val_rex_t*) ASE_AWK_MALLOC (
val = (ase_awk_val_rex_t*) ASE_AWK_ALLOC (
run->awk, ASE_SIZEOF(ase_awk_val_rex_t) +
(ASE_SIZEOF(*buf)*len+1) + ASE_REX_LEN(code));
if (val == ASE_NULL) return ASE_NULL;
@ -390,7 +390,7 @@ ase_awk_val_t* ase_awk_makerexval (
ase_strncpy (val->buf, buf, len);
/*
val->code = ASE_AWK_MALLOC (run->awk, ASE_REX_LEN(code));
val->code = ASE_AWK_ALLOC (run->awk, ASE_REX_LEN(code));
if (val->code == ASE_NULL)
{
ASE_AWK_FREE (run->awk, val->buf);
@ -430,7 +430,7 @@ ase_awk_val_t* ase_awk_makemapval (ase_awk_run_t* run)
{
ase_awk_val_map_t* val;
val = (ase_awk_val_map_t*) ASE_AWK_MALLOC (
val = (ase_awk_val_map_t*) ASE_AWK_ALLOC (
run->awk, ASE_SIZEOF(ase_awk_val_map_t));
if (val == ASE_NULL)
{
@ -462,7 +462,7 @@ ase_awk_val_t* ase_awk_makerefval (ase_awk_run_t* run, int id, ase_awk_val_t** a
}
else
{
val = (ase_awk_val_ref_t*) ASE_AWK_MALLOC (
val = (ase_awk_val_ref_t*) ASE_AWK_ALLOC (
run->awk, ASE_SIZEOF(ase_awk_val_ref_t));
if (val == ASE_NULL)
{
@ -790,7 +790,7 @@ static ase_char_t* val_int_to_str (
/* handle zero */
if (buf == ASE_NULL)
{
tmp = ASE_AWK_MALLOC (
tmp = ASE_AWK_ALLOC (
run->awk, 2 * ASE_SIZEOF(ase_char_t));
if (tmp == ASE_NULL)
{
@ -843,7 +843,7 @@ static ase_char_t* val_int_to_str (
if (buf == ASE_NULL)
{
tmp = ASE_AWK_MALLOC (
tmp = ASE_AWK_ALLOC (
run->awk, (rlen + 1) * ASE_SIZEOF(ase_char_t));
if (tmp == ASE_NULL)
{

View File

@ -9,14 +9,4 @@
#include <ase/cmn/chr.h>
#ifdef USE_STDC
#include <ctype.h>
#else
#define ASE_ISALPHA(c) ase_isalpha(c)
#endif
#endif

View File

@ -32,4 +32,8 @@
#endif
#define ASE_MALLOC(mmgr,size) ASE_MMGR_ALLOC(mmgr,size)
#define ASE_REALLOC(mmgr,ptr,size) ASE_MMGR_REALLOC(mmgr,ptr,size)
#define ASE_FREE(mmgr,ptr) ASE_MMGR_FREE(mmgr,ptr)
#endif

View File

@ -1,11 +1,12 @@
/*
* $Id: rex.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: rex.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include <ase/cmn/rex.h>
#include "mem.h"
#include "chr.h"
#ifdef DEBUG_REX
#include <ase/utl/stdio.h>
@ -1380,7 +1381,7 @@ static const ase_byte_t* match_ord_char (
ubound = cp->ubound;
cc = *(ase_char_t*)p; p += ASE_SIZEOF(cc);
if (matcher->ignorecase) cc = ASE_TOUPPER(matcher->ccls, cc);
if (matcher->ignorecase) cc = ASE_CCLS_TOUPPER(matcher->ccls, cc);
/* merge the same consecutive codes
* for example, a{1,10}a{0,10} is shortened to a{1,20} */
@ -1389,7 +1390,7 @@ static const ase_byte_t* match_ord_char (
while (p < mat->branch_end &&
cp->cmd == ((const code_t*)p)->cmd)
{
if (ASE_TOUPPER (matcher->ccls, *(ase_char_t*)(p+ASE_SIZEOF(*cp))) != cc) break;
if (ASE_CCLS_TOUPPER (matcher->ccls, *(ase_char_t*)(p+ASE_SIZEOF(*cp))) != cc) break;
lbound += ((const code_t*)p)->lbound;
ubound += ((const code_t*)p)->ubound;
@ -1431,7 +1432,7 @@ static const ase_byte_t* match_ord_char (
ASE_T("match_ord_char: <ignorecase> %c %c\n"),
cc, mat->match_ptr[si]);
#endif
if (cc != ASE_TOUPPER (matcher->ccls, mat->match_ptr[si])) break;
if (cc != ASE_CCLS_TOUPPER (matcher->ccls, mat->match_ptr[si])) break;
si++;
}
}
@ -1494,7 +1495,7 @@ static const ase_byte_t* match_charset (
if (&mat->match_ptr[si] >= matcher->match.str.end) break;
c = mat->match_ptr[si];
if (matcher->ignorecase) c = ASE_TOUPPER(matcher->ccls, c);
if (matcher->ignorecase) c = ASE_CCLS_TOUPPER(matcher->ccls, c);
n = __test_charset (matcher, p, cshdr->csc, c);
if (cp->negate) n = !n;
@ -1759,7 +1760,7 @@ static ase_bool_t __test_charset (
{
c1 = *(const ase_char_t*)p;
if (matcher->ignorecase)
c1 = ASE_TOUPPER(matcher->ccls, c1);
c1 = ASE_CCLS_TOUPPER(matcher->ccls, c1);
#ifdef DEBUG_REX
ase_dprintf (
ASE_T("match_charset: <one> %c %c\n"), c, c1);
@ -1774,8 +1775,8 @@ static ase_bool_t __test_charset (
if (matcher->ignorecase)
{
c1 = ASE_TOUPPER(matcher->ccls, c1);
c2 = ASE_TOUPPER(matcher->ccls, c2);
c1 = ASE_CCLS_TOUPPER(matcher->ccls, c1);
c2 = ASE_CCLS_TOUPPER(matcher->ccls, c2);
}
#ifdef DEBUG_REX
ase_dprintf (
@ -1808,12 +1809,12 @@ static ase_bool_t __test_charset (
static ase_bool_t cc_isalnum (ase_ccls_t* ccls, ase_char_t c)
{
return ASE_ISALNUM (ccls, c);
return ASE_CCLS_ISALNUM (ccls, c);
}
static ase_bool_t cc_isalpha (ase_ccls_t* ccls, ase_char_t c)
{
return ASE_ISALPHA (ccls, c);
return ASE_CCLS_ISALPHA (ccls, c);
}
static ase_bool_t cc_isblank (ase_ccls_t* ccls, ase_char_t c)
@ -1823,47 +1824,47 @@ static ase_bool_t cc_isblank (ase_ccls_t* ccls, ase_char_t c)
static ase_bool_t cc_iscntrl (ase_ccls_t* ccls, ase_char_t c)
{
return ASE_ISCNTRL (ccls, c);
return ASE_CCLS_ISCNTRL (ccls, c);
}
static ase_bool_t cc_isdigit (ase_ccls_t* ccls, ase_char_t c)
{
return ASE_ISDIGIT (ccls, c);
return ASE_CCLS_ISDIGIT (ccls, c);
}
static ase_bool_t cc_isgraph (ase_ccls_t* ccls, ase_char_t c)
{
return ASE_ISGRAPH (ccls, c);
return ASE_CCLS_ISGRAPH (ccls, c);
}
static ase_bool_t cc_islower (ase_ccls_t* ccls, ase_char_t c)
{
return ASE_ISLOWER (ccls, c);
return ASE_CCLS_ISLOWER (ccls, c);
}
static ase_bool_t cc_isprint (ase_ccls_t* ccls, ase_char_t c)
{
return ASE_ISPRINT (ccls, c);
return ASE_CCLS_ISPRINT (ccls, c);
}
static ase_bool_t cc_ispunct (ase_ccls_t* ccls, ase_char_t c)
{
return ASE_ISPUNCT (ccls, c);
return ASE_CCLS_ISPUNCT (ccls, c);
}
static ase_bool_t cc_isspace (ase_ccls_t* ccls, ase_char_t c)
{
return ASE_ISSPACE (ccls, c);
return ASE_CCLS_ISSPACE (ccls, c);
}
static ase_bool_t cc_isupper (ase_ccls_t* ccls, ase_char_t c)
{
return ASE_ISUPPER (ccls, c);
return ASE_CCLS_ISUPPER (ccls, c);
}
static ase_bool_t cc_isxdigit (ase_ccls_t* ccls, ase_char_t c)
{
return ASE_ISXDIGIT (ccls, c);
return ASE_CCLS_ISXDIGIT (ccls, c);
}
#if 0

View File

@ -1,10 +1,11 @@
/*
* $Id: str_bas.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: str_bas.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include <ase/cmn/str.h>
#include "chr.h"
#include "mem.h"
ase_size_t ase_strlen (const ase_char_t* str)
@ -180,13 +181,13 @@ int ase_strxncmp (
int ase_strcasecmp (
const ase_char_t* s1, const ase_char_t* s2, ase_ccls_t* ccls)
{
while (ASE_TOUPPER(ccls,*s1) == ASE_TOUPPER(ccls,*s2))
while (ASE_CCLS_TOUPPER(ccls,*s1) == ASE_CCLS_TOUPPER(ccls,*s2))
{
if (*s1 == ASE_C('\0')) return 0;
s1++, s2++;
}
return (ASE_TOUPPER(ccls,*s1) > ASE_TOUPPER(ccls,*s2))? 1: -1;
return (ASE_CCLS_TOUPPER(ccls,*s1) > ASE_CCLS_TOUPPER(ccls,*s2))? 1: -1;
}
int ase_strxncasecmp (
@ -199,10 +200,10 @@ int ase_strxncasecmp (
while (s1 < end1)
{
c1 = ASE_TOUPPER (ccls, *s1);
c1 = ASE_CCLS_TOUPPER (ccls, *s1);
if (s2 < end2)
{
c2 = ASE_TOUPPER (ccls, *s2);
c2 = ASE_CCLS_TOUPPER (ccls, *s2);
if (c1 > c2) return 1;
if (c1 < c2) return -1;
}

View File

@ -1,10 +1,10 @@
/*
* $Id: env.c 215 2008-06-19 10:27:37Z baconevi $
* $Id: env.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
/* TODO: make the frame hash accessible */
@ -15,7 +15,7 @@ static ase_lsp_assoc_t* __new_assoc (
ase_lsp_assoc_t* assoc;
assoc = (ase_lsp_assoc_t*)
ASE_LSP_MALLOC (lsp, sizeof(ase_lsp_assoc_t));
ASE_LSP_ALLOC (lsp, sizeof(ase_lsp_assoc_t));
if (assoc == ASE_NULL)
{
ase_lsp_seterror (lsp, ASE_LSP_ENOMEM, ASE_NULL, 0);
@ -35,7 +35,7 @@ ase_lsp_frame_t* ase_lsp_newframe (ase_lsp_t* lsp)
ase_lsp_frame_t* frame;
frame = (ase_lsp_frame_t*)
ASE_LSP_MALLOC (lsp, sizeof(ase_lsp_frame_t));
ASE_LSP_ALLOC (lsp, sizeof(ase_lsp_frame_t));
if (frame == ASE_NULL)
{
ase_lsp_seterror (lsp, ASE_LSP_ENOMEM, ASE_NULL, 0);
@ -117,7 +117,7 @@ ase_lsp_tlink_t* ase_lsp_pushtmp (ase_lsp_t* lsp, ase_lsp_obj_t* obj)
ase_lsp_tlink_t* tlink;
tlink = (ase_lsp_tlink_t*)
ASE_LSP_MALLOC (lsp, sizeof(ase_lsp_tlink_t));
ASE_LSP_ALLOC (lsp, sizeof(ase_lsp_tlink_t));
if (tlink == ASE_NULL)
{
ase_lsp_seterror (lsp, ASE_LSP_ENOMEM, ASE_NULL, 0);

View File

@ -1,10 +1,10 @@
/*
* $Id: err.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: err.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
static const ase_char_t* __geterrstr (int errnum)
{

View File

@ -1,10 +1,10 @@
/*
* $Id: eval.c 215 2008-06-19 10:27:37Z baconevi $
* $Id: eval.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
static ase_lsp_obj_t* __eval (ase_lsp_t* lsp, ase_lsp_obj_t* obj);
static ase_lsp_obj_t* makefn (

View File

@ -1,5 +1,5 @@
/*
* $Id: lsp.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: lsp.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
@ -9,7 +9,7 @@
#define Library
#endif
#include "lsp_i.h"
#include "lsp.h"
static int __add_builtin_prims (ase_lsp_t* lsp);
@ -21,6 +21,7 @@ ase_lsp_t* ase_lsp_open (
if (prmfns == ASE_NULL) return ASE_NULL;
/*
if (prmfns->mmgr.malloc == ASE_NULL ||
prmfns->mmgr.realloc == ASE_NULL ||
prmfns->mmgr.free == ASE_NULL) return ASE_NULL;
@ -38,6 +39,7 @@ ase_lsp_t* ase_lsp_open (
prmfns->ccls.is_punct == ASE_NULL ||
prmfns->ccls.to_upper == ASE_NULL ||
prmfns->ccls.to_lower == ASE_NULL) return ASE_NULL;
*/
if (prmfns->misc.sprintf == ASE_NULL ||
prmfns->misc.dprintf == ASE_NULL) return ASE_NULL;
@ -45,7 +47,7 @@ ase_lsp_t* ase_lsp_open (
#if defined(_WIN32) && defined(_MSC_VER) && defined(_DEBUG)
lsp = (ase_lsp_t*) malloc (ASE_SIZEOF(ase_lsp_t));
#else
lsp = (ase_lsp_t*) prmfns->mmgr.malloc (
lsp = (ase_lsp_t*) prmfns->mmgr.alloc (
prmfns->mmgr.data, ASE_SIZEOF(ase_lsp_t));
#endif
if (lsp == ASE_NULL) return ASE_NULL;

81
ase/lib/lsp/lsp.h Normal file
View File

@ -0,0 +1,81 @@
/*
* $Id: lsp_i.h 332 2008-08-18 11:21:48Z baconevi $
*
* {License}
*/
#ifndef _ASE_LIB_LSP_LSP_H_
#define _ASE_LIB_LSP_LSP_H_
#include "../cmn/mem.h"
#include "../cmn/chr.h"
#include <ase/cmn/str.h>
#include <ase/lsp/lsp.h>
#include "env.h"
#include "obj.h"
#include "mem.h"
#include "misc.h"
#include "prim.h"
#include "name.h"
#ifdef _MSC_VER
#pragma warning (disable: 4996)
#endif
#define ASE_LSP_ALLOC(lsp,size) ASE_MMGR_ALLOC(&(lsp)->prmfns.mmgr,size)
#define ASE_LSP_REALLOC(lsp,ptr,size) ASE_MMGR_REALLOC(&(lsp)->prmfns.mmgr,ptr,size)
#define ASE_LSP_FREE(lsp,ptr) ASE_MMGR_FREE(&(lsp)->prmfns.mmgr,ptr)
#define ASE_LSP_ISUPPER(lsp,c) ASE_CCLS_ISUPPER(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISLOWER(lsp,c) ASE_CCLS_ISLOWER(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISALPHA(lsp,c) ASE_CCLS_ISALPHA(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISDIGIT(lsp,c) ASE_CCLS_ISDIGIT(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISXDIGIT(lsp,c) ASE_CCLS_ISXDIGIT(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISALNUM(lsp,c) ASE_CCLS_ISALNUM(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISSPACE(lsp,c) ASE_CCLS_ISSPACE(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISPRINT(lsp,c) ASE_CCLS_ISPRINT(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISGRAPH(lsp,c) ASE_CCLS_ISGRAPH(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISCNTRL(lsp,c) ASE_CCLS_ISCNTRL(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISPUNCT(lsp,c) ASE_CCLS_ISPUNCT(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_TOUPPER(lsp,c) ASE_CCLS_TOUPPER(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_TOLOWER(lsp,c) ASE_CCLS_TOLOWER(&(lsp)->prmfns.ccls,c)
struct ase_lsp_t
{
ase_lsp_prmfns_t prmfns;
/* user-specified data */
void* assoc_data;
/* error */
int errnum;
ase_char_t errmsg[256];
/* options */
int opt_undef_symbol;
/* for read */
ase_cint_t curc;
struct
{
int type;
ase_long_t ival;
ase_real_t rval;
ase_lsp_name_t name;
} token;
/* io functions */
ase_lsp_io_t input_func;
ase_lsp_io_t output_func;
void* input_arg;
void* output_arg;
/* security options */
ase_size_t max_eval_depth;
ase_size_t cur_eval_depth;
/* memory manager */
ase_lsp_mem_t* mem;
};
#endif

View File

@ -1,80 +0,0 @@
/*
* $Id: lsp_i.h 332 2008-08-18 11:21:48Z baconevi $
*
* {License}
*/
#ifndef _ASE_LSP_LSPI_H_
#define _ASE_LSP_LSPI_H_
#include "../cmn/mem.h"
#include <ase/cmn/str.h>
#include <ase/lsp/lsp.h>
#include "env.h"
#include "obj.h"
#include "mem.h"
#include "misc.h"
#include "prim.h"
#include "name.h"
#ifdef _MSC_VER
#pragma warning (disable: 4996)
#endif
#define ASE_LSP_MALLOC(lsp,size) ASE_MALLOC(&(lsp)->prmfns.mmgr,size)
#define ASE_LSP_REALLOC(lsp,ptr,size) ASE_REALLOC(&(lsp)->prmfns.mmgr,ptr,size)
#define ASE_LSP_FREE(lsp,ptr) ASE_FREE(&(lsp)->prmfns.mmgr,ptr)
#define ASE_LSP_ISUPPER(lsp,c) ASE_ISUPPER(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISLOWER(lsp,c) ASE_ISLOWER(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISALPHA(lsp,c) ASE_ISALPHA(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISDIGIT(lsp,c) ASE_ISDIGIT(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISXDIGIT(lsp,c) ASE_ISXDIGIT(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISALNUM(lsp,c) ASE_ISALNUM(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISSPACE(lsp,c) ASE_ISSPACE(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISPRINT(lsp,c) ASE_ISPRINT(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISGRAPH(lsp,c) ASE_ISGRAPH(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISCNTRL(lsp,c) ASE_ISCNTRL(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_ISPUNCT(lsp,c) ASE_ISPUNCT(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_TOUPPER(lsp,c) ASE_TOUPPER(&(lsp)->prmfns.ccls,c)
#define ASE_LSP_TOLOWER(lsp,c) ASE_TOLOWER(&(lsp)->prmfns.ccls,c)
struct ase_lsp_t
{
ase_lsp_prmfns_t prmfns;
/* user-specified data */
void* assoc_data;
/* error */
int errnum;
ase_char_t errmsg[256];
/* options */
int opt_undef_symbol;
/* for read */
ase_cint_t curc;
struct
{
int type;
ase_long_t ival;
ase_real_t rval;
ase_lsp_name_t name;
} token;
/* io functions */
ase_lsp_io_t input_func;
ase_lsp_io_t output_func;
void* input_arg;
void* output_arg;
/* security options */
ase_size_t max_eval_depth;
ase_size_t cur_eval_depth;
/* memory manager */
ase_lsp_mem_t* mem;
};
#endif

View File

@ -1,10 +1,10 @@
/*
* $Id: mem.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: mem.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
ase_lsp_mem_t* ase_lsp_openmem (
ase_lsp_t* lsp, ase_size_t ubound, ase_size_t ubound_inc)
@ -13,7 +13,7 @@ ase_lsp_mem_t* ase_lsp_openmem (
ase_size_t i;
/* allocate memory */
mem = (ase_lsp_mem_t*) ASE_LSP_MALLOC (lsp, ASE_SIZEOF(ase_lsp_mem_t));
mem = (ase_lsp_mem_t*) ASE_LSP_ALLOC (lsp, ASE_SIZEOF(ase_lsp_mem_t));
if (mem == ASE_NULL) return ASE_NULL;
ASE_MEMSET (mem, 0, ASE_SIZEOF(ase_lsp_mem_t));
@ -104,12 +104,12 @@ ase_lsp_gc (mem);
if (mem->count >= mem->ubound) return ASE_NULL;
}
obj = (ase_lsp_obj_t*) ASE_LSP_MALLOC (mem->lsp, size);
obj = (ase_lsp_obj_t*) ASE_LSP_ALLOC (mem->lsp, size);
if (obj == ASE_NULL)
{
ase_lsp_gc (mem);
obj = (ase_lsp_obj_t*) ASE_LSP_MALLOC (mem->lsp, size);
obj = (ase_lsp_obj_t*) ASE_LSP_ALLOC (mem->lsp, size);
if (obj == ASE_NULL)
{
ase_lsp_seterror (mem->lsp, ASE_LSP_ENOMEM, ASE_NULL, 0);

View File

@ -1,10 +1,10 @@
/*
* $Id: misc.c 215 2008-06-19 10:27:37Z baconevi $
* $Id: misc.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
ase_long_t ase_lsp_strxtolong (
ase_lsp_t* lsp, const ase_char_t* str, ase_size_t len,

View File

@ -1,10 +1,10 @@
/*
* $Id: name.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: name.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
ase_lsp_name_t* ase_lsp_name_open (
ase_lsp_name_t* name, ase_size_t capa, ase_lsp_t* lsp)
@ -14,7 +14,7 @@ ase_lsp_name_t* ase_lsp_name_open (
if (name == ASE_NULL)
{
name = (ase_lsp_name_t*)
ASE_LSP_MALLOC (lsp, ASE_SIZEOF(ase_lsp_name_t));
ASE_LSP_ALLOC (lsp, ASE_SIZEOF(ase_lsp_name_t));
if (name == ASE_NULL) return ASE_NULL;
name->__dynamic = ASE_TRUE;
}
@ -27,7 +27,7 @@ ase_lsp_name_t* ase_lsp_name_open (
else
{
name->buf = (ase_char_t*)
ASE_LSP_MALLOC (lsp, (capa+1)*ASE_SIZEOF(ase_char_t));
ASE_LSP_ALLOC (lsp, (capa+1)*ASE_SIZEOF(ase_char_t));
if (name->buf == ASE_NULL)
{
if (name->__dynamic) ASE_LSP_FREE (lsp, name);
@ -66,7 +66,7 @@ int ase_lsp_name_addc (ase_lsp_name_t* name, ase_cint_t c)
if (name->capa < ASE_COUNTOF(name->static_buf))
{
space = (ase_char_t*) ASE_LSP_MALLOC (
space = (ase_char_t*) ASE_LSP_ALLOC (
name->lsp, (new_capa+1)*ASE_SIZEOF(ase_char_t));
if (space == ASE_NULL) return -1;

View File

@ -1,10 +1,10 @@
/*
* $Id: prim.c 215 2008-06-19 10:27:37Z baconevi $
* $Id: prim.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
static int __add_prim (ase_lsp_mem_t* mem,
const ase_char_t* name, ase_size_t len,

View File

@ -1,10 +1,10 @@
/*
* $Id: prim_compar.c 215 2008-06-19 10:27:37Z baconevi $
* $Id: prim_compar.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
#define PRIM_COMPAR(lsp,args,op) \
{ \

View File

@ -1,10 +1,10 @@
/*
* $Id: prim_let.c 215 2008-06-19 10:27:37Z baconevi $
* $Id: prim_let.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
/*
* (let ((variable value)

View File

@ -1,10 +1,10 @@
/*
* $Id: prim_math.c 215 2008-06-19 10:27:37Z baconevi $
* $Id: prim_math.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
ase_lsp_obj_t* ase_lsp_prim_plus (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{

View File

@ -1,10 +1,10 @@
/*
* $Id: prim_prog.c 215 2008-06-19 10:27:37Z baconevi $
* $Id: prim_prog.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
ase_lsp_obj_t* ase_lsp_prim_prog1 (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{

View File

@ -1,10 +1,10 @@
/*
* $Id: print.c 332 2008-08-18 11:21:48Z baconevi $
* $Id: print.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
#define OUTPUT_STR(lsp,str) \
do { \

View File

@ -1,10 +1,10 @@
/*
* $Id: read.c 215 2008-06-19 10:27:37Z baconevi $
* $Id: read.c 337 2008-08-20 09:17:25Z baconevi $
*
* {License}
*/
#include "lsp_i.h"
#include "lsp.h"
#define IS_IDENT(c) \
((c) == ASE_T('+') || (c) == ASE_T('-') || \