File cnf.c¶
FileList > cubrid > src > parser > cnf.c
Go to the source code of this file
#include <stdarg.h>#include <ctype.h>#include <assert.h>#include "error_manager.h"#include "parser.h"
Classes¶
| Type | Name |
|---|---|
| struct | find_id_info |
| struct | similarity_context |
Public Types¶
| Type | Name |
|---|---|
| typedef enum cnf_mode | CNF_MODE |
| typedef struct find_id_info | FIND_ID_INFO |
| typedef struct similarity_context | SIMILARITY_CONTEXT |
| enum | cnf_mode |
Public Functions¶
| Type | Name |
|---|---|
| PT_NODE * | pt_cnf (PARSER_CONTEXT * parser, PT_NODE * node) |
| PT_NODE * | pt_do_cnf (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk) |
Public Static Functions¶
Public Types Documentation¶
typedef CNF_MODE¶
typedef FIND_ID_INFO¶
typedef SIMILARITY_CONTEXT¶
enum cnf_mode¶
enum cnf_mode {
TRANSFORM_CNF_OR_COMPACT = 0,
TRANSFORM_CNF_OR_PRUNE = 1,
TRANSFORM_CNF_AND_OR = 2
};
Public Functions Documentation¶
function pt_cnf¶
function pt_do_cnf¶
Public Static Functions Documentation¶
function count_and_or¶
function pt_and_or_form¶
function pt_aof_to_cnf¶
function pt_calculate_similarity¶
static PT_NODE * pt_calculate_similarity (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_distributes_disjunction¶
static PT_NODE * pt_distributes_disjunction (
PARSER_CONTEXT * parser,
PT_NODE * node_1,
PT_NODE * node_2
)
function pt_find_name_id_post¶
static PT_NODE * pt_find_name_id_post (
PARSER_CONTEXT * parser,
PT_NODE * tree,
void * arg,
int * continue_walk
)
function pt_find_name_id_pre¶
static PT_NODE * pt_find_name_id_pre (
PARSER_CONTEXT * parser,
PT_NODE * tree,
void * arg,
int * continue_walk
)
function pt_flatten_and_or¶
function pt_negate_expr¶
function pt_tag_start_of_cnf_post¶
static PT_NODE * pt_tag_start_of_cnf_post (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_tag_term_with_id¶
static void pt_tag_term_with_id (
PARSER_CONTEXT * parser,
PT_NODE * term,
UINTPTR id,
UINTPTR join_spec,
bool tag_subqueries
)
function pt_tag_terms_with_id¶
static void pt_tag_terms_with_id (
PARSER_CONTEXT * parser,
PT_NODE * terms,
UINTPTR id,
UINTPTR join_spec
)
function pt_tag_terms_with_specs¶
static void pt_tag_terms_with_specs (
PARSER_CONTEXT * parser,
PT_NODE * terms,
PT_NODE * join_spec,
UINTPTR join_id
)
function pt_transform_cnf_post¶
static PT_NODE * pt_transform_cnf_post (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_transform_cnf_pre¶
static PT_NODE * pt_transform_cnf_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
The documentation for this class was generated from the following file cubrid/src/parser/cnf.c