2006-03-07 16:02:58 +00:00
|
|
|
/*
|
2006-04-02 12:45:04 +00:00
|
|
|
* $Id: run.h,v 1.6 2006-04-02 12:41:14 bacon Exp $
|
2006-03-07 16:02:58 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _XP_AWK_RUN_H_
|
|
|
|
#define _XP_AWK_RUN_H_
|
|
|
|
|
|
|
|
#ifndef _XP_AWK_AWK_H_
|
|
|
|
#error Never include this file directly. Include <xp/awk/awk.h> instead
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef struct xp_awk_frm_t xp_awk_frm_t;
|
|
|
|
|
|
|
|
struct xp_awk_frm_t
|
|
|
|
{
|
|
|
|
xp_size_t nparams;
|
|
|
|
xp_size_t nlocals;
|
|
|
|
xp_awk_val_t* stack;
|
|
|
|
xp_awk_frm_t* prev;
|
|
|
|
};
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
2006-03-30 16:31:50 +00:00
|
|
|
/* if you change this, you have to change
|
2006-04-02 12:45:04 +00:00
|
|
|
* __binop_str in tree.c accordingly. */
|
2006-03-29 16:39:04 +00:00
|
|
|
XP_AWK_BINOP_LOR,
|
|
|
|
XP_AWK_BINOP_LAND,
|
|
|
|
XP_AWK_BINOP_BOR,
|
2006-03-30 16:24:10 +00:00
|
|
|
XP_AWK_BINOP_BXOR,
|
2006-03-29 16:39:04 +00:00
|
|
|
XP_AWK_BINOP_BAND,
|
2006-03-31 12:04:14 +00:00
|
|
|
|
2006-03-07 16:02:58 +00:00
|
|
|
XP_AWK_BINOP_EQ,
|
|
|
|
XP_AWK_BINOP_NE,
|
|
|
|
XP_AWK_BINOP_GT,
|
|
|
|
XP_AWK_BINOP_GE,
|
|
|
|
XP_AWK_BINOP_LT,
|
2006-03-31 12:04:14 +00:00
|
|
|
XP_AWK_BINOP_LE,
|
|
|
|
|
|
|
|
XP_AWK_BINOP_LSHIFT,
|
|
|
|
XP_AWK_BINOP_RSHIFT,
|
|
|
|
|
|
|
|
XP_AWK_BINOP_PLUS,
|
|
|
|
XP_AWK_BINOP_MINUS,
|
|
|
|
XP_AWK_BINOP_MUL,
|
|
|
|
XP_AWK_BINOP_DIV,
|
|
|
|
XP_AWK_BINOP_MOD
|
|
|
|
};
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
2006-04-02 12:45:04 +00:00
|
|
|
/* if you change this, you have to change
|
|
|
|
* __unrop_str in tree.c accordingly. */
|
|
|
|
XP_AWK_UNROP_PLUS,
|
|
|
|
XP_AWK_UNROP_MINUS,
|
|
|
|
XP_AWK_UNROP_NOT,
|
|
|
|
XP_AWK_UNROP_BNOT
|
|
|
|
};
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
/* if you change this, you have to change
|
|
|
|
* __incop_str in tree.c accordingly. */
|
|
|
|
XP_AWK_INCOP_PLUS,
|
|
|
|
XP_AWK_INCOP_MINUS
|
2006-03-07 16:02:58 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|