Apache2
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
util_expr_private.h File Reference
#include "httpd.h"
#include "apr_strings.h"
#include "apr_tables.h"
#include "ap_expr.h"
Include dependency graph for util_expr_private.h:

Go to the source code of this file.

Data Structures

struct  ap_expr_node
 
struct  ap_expr_parser_stack
 
struct  ap_expr_parse_ctx_t
 

Macros

#define YY_NULL   0
 
#define MIN(a, b)   (((a)<(b))?(a):(b))
 
#define YY_NO_UNISTD_H
 
#define YYDEBUG   0
 

Typedefs

typedef struct ap_expr_parser_stack ap_expr_parser_stack_t
 

Enumerations

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
}
 

Functions

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_tap_expr_make (ap_expr_node_op_e op, const void *arg1, const void *arg2, ap_expr_parse_ctx_t *ctx)
 
ap_expr_tap_expr_concat_make (const void *a1, const void *a2, ap_expr_parse_ctx_t *ctx)
 
ap_expr_tap_expr_regex_make (const char *pattern, const ap_expr_t *subst, const char *flags, ap_expr_parse_ctx_t *ctx)
 
ap_expr_tap_expr_str_func_make (const char *name, const ap_expr_t *arg, ap_expr_parse_ctx_t *ctx)
 
ap_expr_tap_expr_list_func_make (const char *name, const ap_expr_t *arg, ap_expr_parse_ctx_t *ctx)
 
ap_expr_tap_expr_var_make (const char *name, ap_expr_parse_ctx_t *ctx)
 
ap_expr_tap_expr_backref_make (int num, ap_expr_parse_ctx_t *ctx)
 
ap_expr_tap_expr_unary_op_make (const char *name, const ap_expr_t *arg, ap_expr_parse_ctx_t *ctx)
 
ap_expr_tap_expr_binary_op_make (const char *name, const ap_expr_t *arg1, const ap_expr_t *arg2, ap_expr_parse_ctx_t *ctx)
 

Macro Definition Documentation

#define MIN (   a,
 
)    (((a)<(b))?(a):(b))
#define YY_NO_UNISTD_H
#define YY_NULL   0
#define YYDEBUG   0

Typedef Documentation

The stack used by scanner and parser

Enumeration Type Documentation

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 

Function Documentation

ap_expr_t* ap_expr_backref_make ( int  num,
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 
)
ap_expr_t* ap_expr_concat_make ( const void a1,
const void a2,
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_make ( ap_expr_node_op_e  op,
const void arg1,
const void arg2,
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_unary_op_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 
)
void ap_expr_yyerror ( ap_expr_parse_ctx_t context,
const char *  err 
)
int ap_expr_yylex_destroy ( void scanner)
int ap_expr_yylex_init ( void **  scanner)
int ap_expr_yyparse ( ap_expr_parse_ctx_t context)
void ap_expr_yyset_extra ( ap_expr_parse_ctx_t context,
void scanner 
)