*** empty log message ***
This commit is contained in:
parent
8ca03d1397
commit
63a47ebb7c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: awk.c,v 1.45 2006-04-22 13:54:52 bacon Exp $
|
||||
* $Id: awk.c,v 1.46 2006-04-24 14:38:46 bacon Exp $
|
||||
*/
|
||||
|
||||
#include <xp/awk/awk_i.h>
|
||||
@ -113,17 +113,22 @@ void xp_awk_clear (xp_awk_t* awk)
|
||||
awk->tree.nglobals = 0;
|
||||
xp_awk_map_clear (&awk->tree.funcs);
|
||||
|
||||
if (awk->tree.begin != XP_NULL) {
|
||||
if (awk->tree.begin != XP_NULL)
|
||||
{
|
||||
xp_assert (awk->tree.begin->next == XP_NULL);
|
||||
xp_awk_clrpt (awk->tree.begin);
|
||||
awk->tree.begin = XP_NULL;
|
||||
}
|
||||
if (awk->tree.end != XP_NULL) {
|
||||
|
||||
if (awk->tree.end != XP_NULL)
|
||||
{
|
||||
xp_assert (awk->tree.end->next == XP_NULL);
|
||||
xp_awk_clrpt (awk->tree.end);
|
||||
awk->tree.end = XP_NULL;
|
||||
}
|
||||
while (awk->tree.chain != XP_NULL) {
|
||||
|
||||
while (awk->tree.chain != XP_NULL)
|
||||
{
|
||||
xp_awk_chain_t* next = awk->tree.chain->next;
|
||||
if (awk->tree.chain->pattern != XP_NULL)
|
||||
xp_awk_clrpt (awk->tree.chain->pattern);
|
||||
@ -150,7 +155,8 @@ int xp_awk_attsrc (xp_awk_t* awk, xp_awk_io_t src, void* arg)
|
||||
if (xp_awk_detsrc(awk) == -1) return -1;
|
||||
|
||||
xp_assert (awk->srcio == XP_NULL);
|
||||
if (src(XP_AWK_INPUT_OPEN, arg, XP_NULL, 0) == -1) {
|
||||
if (src(XP_AWK_INPUT_OPEN, arg, XP_NULL, 0) == -1)
|
||||
{
|
||||
awk->errnum = XP_AWK_ESRCINOPEN;
|
||||
return -1;
|
||||
}
|
||||
@ -164,7 +170,8 @@ int xp_awk_attsrc (xp_awk_t* awk, xp_awk_io_t src, void* arg)
|
||||
|
||||
int xp_awk_detsrc (xp_awk_t* awk)
|
||||
{
|
||||
if (awk->srcio != XP_NULL) {
|
||||
if (awk->srcio != XP_NULL)
|
||||
{
|
||||
xp_ssize_t n;
|
||||
|
||||
n = awk->srcio (XP_AWK_INPUT_CLOSE, awk->srcio_arg, XP_NULL, 0);
|
||||
@ -185,10 +192,11 @@ int xp_awk_detsrc (xp_awk_t* awk)
|
||||
|
||||
static void __free_func (void* owner, void* func)
|
||||
{
|
||||
xp_awk_func_t* f = (xp_awk_func_t*) func;
|
||||
xp_awk_func_t* f = (xp_awk_func_t*)func;
|
||||
|
||||
/* f->name doesn't have to be freed */
|
||||
/*xp_free (f->name);*/
|
||||
|
||||
xp_awk_clrpt (f->body);
|
||||
xp_free (f);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: run.c,v 1.71 2006-04-24 11:26:00 bacon Exp $
|
||||
* $Id: run.c,v 1.72 2006-04-24 14:38:46 bacon Exp $
|
||||
*/
|
||||
|
||||
#include <xp/awk/awk_i.h>
|
||||
@ -177,9 +177,9 @@ int xp_awk_run (xp_awk_t* awk, xp_awk_io_t txtio, void* txtio_arg)
|
||||
return n;
|
||||
}
|
||||
|
||||
static void __free_namedval (xp_awk_run_t* run, void* val)
|
||||
static void __free_namedval (void* run, void* val)
|
||||
{
|
||||
xp_awk_refdownval (run, val);
|
||||
xp_awk_refdownval ((xp_awk_run_t*)run, val);
|
||||
}
|
||||
|
||||
static int __open_run (
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: tree.c,v 1.40 2006-04-24 11:22:42 bacon Exp $
|
||||
* $Id: tree.c,v 1.41 2006-04-24 14:38:46 bacon Exp $
|
||||
*/
|
||||
|
||||
#include <xp/awk/awk_i.h>
|
||||
@ -79,7 +79,8 @@ static void __print_tabs (int depth)
|
||||
|
||||
static int __print_expression (xp_awk_nde_t* nde)
|
||||
{
|
||||
switch (nde->type) {
|
||||
switch (nde->type)
|
||||
{
|
||||
case XP_AWK_NDE_ASS:
|
||||
if (__print_expression (((xp_awk_nde_ass_t*)nde)->left) == -1) return -1;
|
||||
xp_printf (XP_TEXT(" %s "),
|
||||
@ -311,11 +312,13 @@ static void __print_statements (xp_awk_nde_t* tree, int depth)
|
||||
__print_tabs (depth);
|
||||
xp_printf (XP_TEXT("{\n"));
|
||||
|
||||
if (((xp_awk_nde_blk_t*)p)->nlocals > 0) {
|
||||
if (((xp_awk_nde_blk_t*)p)->nlocals > 0)
|
||||
{
|
||||
__print_tabs (depth + 1);
|
||||
xp_printf (XP_TEXT("local "));
|
||||
|
||||
for (i = 0; i < ((xp_awk_nde_blk_t*)p)->nlocals - 1; i++) {
|
||||
for (i = 0; i < ((xp_awk_nde_blk_t*)p)->nlocals - 1; i++)
|
||||
{
|
||||
xp_printf (XP_TEXT("__local%lu, "), (unsigned long)i);
|
||||
}
|
||||
xp_printf (XP_TEXT("__local%lu;\n"), (unsigned long)i);
|
||||
@ -430,7 +433,8 @@ static void __print_statements (xp_awk_nde_t* tree, int depth)
|
||||
{
|
||||
xp_printf (XP_TEXT("return "));
|
||||
xp_assert (((xp_awk_nde_return_t*)p)->val->next == XP_NULL);
|
||||
if (__print_expression(((xp_awk_nde_return_t*)p)->val) == 0) {
|
||||
if (__print_expression(((xp_awk_nde_return_t*)p)->val) == 0)
|
||||
{
|
||||
xp_printf (XP_TEXT(";\n"));
|
||||
}
|
||||
else
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: val.c,v 1.26 2006-04-24 11:22:42 bacon Exp $
|
||||
* $Id: val.c,v 1.27 2006-04-24 14:38:46 bacon Exp $
|
||||
*/
|
||||
|
||||
#include <xp/awk/awk_i.h>
|
||||
@ -45,7 +45,7 @@ xp_awk_val_t* xp_awk_makeintval (xp_awk_run_t* run, xp_long_t v)
|
||||
else
|
||||
{
|
||||
val = (xp_awk_val_int_t*)
|
||||
xp_malloc(xp_sizeof(xp_awk_val_int_t));
|
||||
xp_malloc (xp_sizeof(xp_awk_val_int_t));
|
||||
if (val == XP_NULL) return XP_NULL;
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ xp_awk_val_t* xp_awk_makestrval (const xp_char_t* str, xp_size_t len)
|
||||
{
|
||||
xp_awk_val_str_t* val;
|
||||
|
||||
val = (xp_awk_val_str_t*)xp_malloc(xp_sizeof(xp_awk_val_str_t));
|
||||
val = (xp_awk_val_str_t*) xp_malloc (xp_sizeof(xp_awk_val_str_t));
|
||||
if (val == XP_NULL) return XP_NULL;
|
||||
|
||||
val->type = XP_AWK_VAL_STR;
|
||||
@ -104,7 +104,7 @@ xp_awk_val_t* xp_awk_makestrval2 (
|
||||
{
|
||||
xp_awk_val_str_t* val;
|
||||
|
||||
val = (xp_awk_val_str_t*)xp_malloc(xp_sizeof(xp_awk_val_str_t));
|
||||
val = (xp_awk_val_str_t*) xp_malloc (xp_sizeof(xp_awk_val_str_t));
|
||||
if (val == XP_NULL) return XP_NULL;
|
||||
|
||||
val->type = XP_AWK_VAL_STR;
|
||||
@ -124,8 +124,8 @@ xp_awk_val_t* xp_awk_makerexval (const xp_char_t* str, xp_size_t len)
|
||||
{
|
||||
xp_awk_val_rex_t* val;
|
||||
|
||||
/* TDOO: XXXXXXXXXXXXxxx */
|
||||
val = (xp_awk_val_rex_t*)xp_malloc(xp_sizeof(xp_awk_val_rex_t));
|
||||
/* TDOO: XXXXXXXXXXXXXX */
|
||||
val = (xp_awk_val_rex_t*) xp_malloc (xp_sizeof(xp_awk_val_rex_t));
|
||||
if (val == XP_NULL) return XP_NULL;
|
||||
|
||||
val->type = XP_AWK_VAL_STR;
|
||||
|
Loading…
x
Reference in New Issue
Block a user