Apache2
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

◆ MIN

#define MIN (   a,
 
)    (((a)<(b))?(a):(b))

◆ YY_NO_UNISTD_H

#define YY_NO_UNISTD_H

◆ YY_NULL

#define YY_NULL   0

◆ YYDEBUG

#define YYDEBUG   0

Typedef Documentation

◆ ap_expr_parser_stack_t

The stack used by scanner and parser

Enumeration Type Documentation

◆ ap_expr_node_op_e

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_backref_make()

ap_expr_t* ap_expr_backref_make ( int  num,
ap_expr_parse_ctx_t ctx 
)

◆ ap_expr_binary_op_make()

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_concat_make()

ap_expr_t* ap_expr_concat_make ( const void *  a1,
const void *  a2,
ap_expr_parse_ctx_t ctx 
)

◆ ap_expr_list_func_make()

ap_expr_t* ap_expr_list_func_make ( const char *  name,
const ap_expr_t arg,
ap_expr_parse_ctx_t ctx 
)

◆ ap_expr_make()

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_regex_make()

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_str_func_make()

ap_expr_t* ap_expr_str_func_make ( const char *  name,
const ap_expr_t arg,
ap_expr_parse_ctx_t ctx 
)

◆ ap_expr_unary_op_make()

ap_expr_t* ap_expr_unary_op_make ( const char *  name,
const ap_expr_t arg,
ap_expr_parse_ctx_t ctx 
)

◆ ap_expr_var_make()

ap_expr_t* ap_expr_var_make ( const char *  name,
ap_expr_parse_ctx_t ctx 
)

◆ ap_expr_yyerror()

void ap_expr_yyerror ( ap_expr_parse_ctx_t context,
const char *  err 
)

◆ ap_expr_yylex_destroy()

int ap_expr_yylex_destroy ( void *  scanner)

◆ ap_expr_yylex_init()

int ap_expr_yylex_init ( void **  scanner)

◆ ap_expr_yyparse()

int ap_expr_yyparse ( ap_expr_parse_ctx_t context)

◆ ap_expr_yyset_extra()

void ap_expr_yyset_extra ( ap_expr_parse_ctx_t context,
void *  scanner 
)