#include "httpd.h"
#include "apr_strings.h"
#include "apr_tables.h"
#include "ap_expr.h"
Go to the source code of this file.
|
enum | ap_expr_node_op_e {
op_NOP,
op_True,
op_False,
op_Not,
op_Or,
op_And,
op_Comp,
op_EQ,
op_NE,
op_LT,
op_LE,
op_GT,
op_GE,
op_IN,
op_REG,
op_NRE,
op_STR_EQ,
op_STR_NE,
op_STR_LT,
op_STR_LE,
op_STR_GT,
op_STR_GE,
op_Concat,
op_String,
op_Word,
op_Digit,
op_Var,
op_Bool,
op_ListElement,
op_Sub,
op_Split,
op_Join,
op_Regex,
op_Backref,
op_UnaryOpCall,
op_UnaryOpInfo,
op_BinaryOpCall,
op_BinaryOpInfo,
op_BinaryOpArgs,
op_StringFuncCall,
op_StringFuncInfo,
op_ListFuncCall,
op_ListFuncInfo
} |
|
|
int | ap_expr_yyparse (ap_expr_parse_ctx_t *context) |
|
void | ap_expr_yyerror (ap_expr_parse_ctx_t *context, const char *err) |
|
int | ap_expr_yylex_init (void **scanner) |
|
int | ap_expr_yylex_destroy (void *scanner) |
|
void | ap_expr_yyset_extra (ap_expr_parse_ctx_t *context, void *scanner) |
|
ap_expr_t * | ap_expr_make (ap_expr_node_op_e op, const void *arg1, const void *arg2, ap_expr_parse_ctx_t *ctx) |
|
ap_expr_t * | ap_expr_concat_make (const void *a1, const void *a2, ap_expr_parse_ctx_t *ctx) |
|
ap_expr_t * | ap_expr_regex_make (const char *pattern, const ap_expr_t *subst, const char *flags, ap_expr_parse_ctx_t *ctx) |
|
ap_expr_t * | ap_expr_str_func_make (const char *name, const ap_expr_t *arg, ap_expr_parse_ctx_t *ctx) |
|
ap_expr_t * | ap_expr_list_func_make (const char *name, const ap_expr_t *arg, ap_expr_parse_ctx_t *ctx) |
|
ap_expr_t * | ap_expr_var_make (const char *name, ap_expr_parse_ctx_t *ctx) |
|
ap_expr_t * | ap_expr_backref_make (int num, ap_expr_parse_ctx_t *ctx) |
|
ap_expr_t * | ap_expr_unary_op_make (const char *name, const ap_expr_t *arg, ap_expr_parse_ctx_t *ctx) |
|
ap_expr_t * | ap_expr_binary_op_make (const char *name, const ap_expr_t *arg1, const ap_expr_t *arg2, ap_expr_parse_ctx_t *ctx) |
|
#define MIN |
( |
|
a, |
|
|
|
b |
|
) |
| (((a)<(b))?(a):(b)) |
The stack used by scanner and parser
The operations in a parse tree node
Enumerator |
---|
op_NOP |
|
op_True |
|
op_False |
|
op_Not |
|
op_Or |
|
op_And |
|
op_Comp |
|
op_EQ |
|
op_NE |
|
op_LT |
|
op_LE |
|
op_GT |
|
op_GE |
|
op_IN |
|
op_REG |
|
op_NRE |
|
op_STR_EQ |
|
op_STR_NE |
|
op_STR_LT |
|
op_STR_LE |
|
op_STR_GT |
|
op_STR_GE |
|
op_Concat |
|
op_String |
|
op_Word |
|
op_Digit |
|
op_Var |
|
op_Bool |
|
op_ListElement |
|
op_Sub |
|
op_Split |
|
op_Join |
|
op_Regex |
|
op_Backref |
|
op_UnaryOpCall |
|
op_UnaryOpInfo |
|
op_BinaryOpCall |
|
op_BinaryOpInfo |
|
op_BinaryOpArgs |
|
op_StringFuncCall |
|
op_StringFuncInfo |
|
op_ListFuncCall |
|
op_ListFuncInfo |
|
int ap_expr_yylex_destroy |
( |
void * |
scanner | ) |
|
int ap_expr_yylex_init |
( |
void ** |
scanner | ) |
|