Skip to content

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

Type Name
int count_and_or (PARSER_CONTEXT * parser, const PT_NODE * node)
PT_NODE * pt_and_or_form (PARSER_CONTEXT * parser, PT_NODE * node)
PT_NODE * pt_aof_to_cnf (PARSER_CONTEXT * parser, PT_NODE * node)
PT_NODE * pt_calculate_similarity (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_distributes_disjunction (PARSER_CONTEXT * parser, PT_NODE * node_1, PT_NODE * node_2)
PT_NODE * pt_find_name_id_post (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_find_name_id_pre (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_flatten_and_or (PARSER_CONTEXT * parser, PT_NODE * node)
PT_NODE * pt_negate_expr (PARSER_CONTEXT * parser, PT_NODE * node)
PT_NODE * pt_tag_start_of_cnf_post (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
void pt_tag_term_with_id (PARSER_CONTEXT * parser, PT_NODE * term, UINTPTR id, UINTPTR join_spec, bool tag_subqueries)
void pt_tag_terms_with_id (PARSER_CONTEXT * parser, PT_NODE * terms, UINTPTR id, UINTPTR join_spec)
void pt_tag_terms_with_specs (PARSER_CONTEXT * parser, PT_NODE * terms, PT_NODE * join_spec, UINTPTR join_id)
PT_NODE * pt_transform_cnf_post (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_transform_cnf_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)

Public Types Documentation

typedef CNF_MODE

typedef enum cnf_mode CNF_MODE;

typedef FIND_ID_INFO

typedef struct find_id_info FIND_ID_INFO;

typedef SIMILARITY_CONTEXT

typedef struct similarity_context 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

PT_NODE * pt_cnf (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_do_cnf

PT_NODE * pt_do_cnf (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

Public Static Functions Documentation

function count_and_or

static int count_and_or (
    PARSER_CONTEXT * parser,
    const  PT_NODE * node
) 

function pt_and_or_form

static PT_NODE * pt_and_or_form (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_aof_to_cnf

static PT_NODE * pt_aof_to_cnf (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

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

static PT_NODE * pt_flatten_and_or (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_negate_expr

static PT_NODE * pt_negate_expr (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

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