YAZ
5.34.0
|
CCL header with private definitions. More...
#include <yaz/ccl.h>
Go to the source code of this file.
Data Structures | |
struct | ccl_token |
struct | ccl_parser |
Macros | |
#define | CCL_TOK_EOL 0 |
#define | CCL_TOK_TERM 1 |
#define | CCL_TOK_REL 2 |
#define | CCL_TOK_EQ 3 |
#define | CCL_TOK_PROX 4 |
#define | CCL_TOK_LP 5 |
#define | CCL_TOK_RP 6 |
#define | CCL_TOK_COMMA 7 |
#define | CCL_TOK_AND 8 |
#define | CCL_TOK_OR 9 |
#define | CCL_TOK_NOT 10 |
#define | CCL_TOK_SET 11 |
Typedefs | |
typedef struct ccl_qualifier * | ccl_qualifier_t |
Functions | |
struct ccl_token * | ccl_parser_tokenize (CCL_parser cclp, const char *command) |
void | ccl_token_del (struct ccl_token *list) |
struct ccl_token * | ccl_token_add (struct ccl_token *at) |
struct ccl_rpn_node * | ccl_parser_find_token (CCL_parser cclp, struct ccl_token *list) |
ccl_qualifier_t | ccl_qual_search (CCL_parser cclp, const char *name, size_t name_len, int seq) |
struct ccl_rpn_attr * | ccl_qual_get_attr (ccl_qualifier_t q) |
const char * | ccl_qual_get_name (ccl_qualifier_t q) |
CCL header with private definitions.
Definition in file cclp.h.
typedef struct ccl_qualifier* ccl_qualifier_t |
struct ccl_rpn_node* ccl_parser_find_token | ( | CCL_parser | cclp, |
struct ccl_token * | list | ||
) |
Definition at line 1280 of file cclfind.c.
References CCL_ERR_BAD_RP, CCL_ERR_OK, CCL_ERR_OP_EXPECTED, ccl_rpn_delete(), CCL_TOK_EOL, CCL_TOK_RP, ccl_parser::error_code, ccl_parser::error_pos, find_spec(), KIND, ccl_parser::look_token, ccl_token::name, and ccl_rpn_node::p.
Referenced by ccl_find_str(), and ccl_parser_find_str().
struct ccl_token* ccl_parser_tokenize | ( | CCL_parser | cclp, |
const char * | command | ||
) |
Splits CCL command string into individual tokens using a CCL parser.
Definition at line 58 of file ccltoken.c.
References ccl_parser::bibset, ccl_assert, ccl_qual_search_special(), CCL_TOK_AND, CCL_TOK_COMMA, CCL_TOK_EOL, CCL_TOK_EQ, CCL_TOK_LP, CCL_TOK_NOT, CCL_TOK_OR, CCL_TOK_PROX, CCL_TOK_REL, CCL_TOK_RP, CCL_TOK_SET, CCL_TOK_TERM, ccl_parser::ccl_token_and, ccl_parser::ccl_token_not, ccl_parser::ccl_token_or, ccl_parser::ccl_token_set, ccl_token::kind, ccl_token::len, ccl_token::name, ccl_token::next, ccl_token::prev, ccl_parser::start_pos, token_cmp(), ccl_token::ws_prefix_buf, ccl_token::ws_prefix_len, xmalloc, and yaz_isdigit.
Referenced by ccl_find_str(), and ccl_parser_find_str().
struct ccl_rpn_attr* ccl_qual_get_attr | ( | ccl_qualifier_t | q | ) |
Definition at line 382 of file cclqual.c.
References ccl_qualifier::attr_list.
Referenced by ccl_term_multi_use(), ccl_term_one_use(), and qual_val_type().
const char* ccl_qual_get_name | ( | ccl_qualifier_t | q | ) |
Definition at line 396 of file cclqual.c.
References ccl_qualifier::name.
Referenced by ccl_term_one_use().
ccl_qualifier_t ccl_qual_search | ( | CCL_parser | cclp, |
const char * | name, | ||
size_t | name_len, | ||
int | seq | ||
) |
Definition at line 338 of file cclqual.c.
References ccl_parser::bibset, ccl_assert, ccl_parser::ccl_case_sensitive, ccl_memicmp(), ccl_qual_search_special(), ccl_qualifiers::list, ccl_qualifier::name, name, ccl_qualifier::next, ccl_qualifier::no_sub, and ccl_qualifier::sub.
Referenced by ccl_parser_qual_search(), qualifier_list(), and search_elements().
Add single token after a given onde.
Definition at line 188 of file ccltoken.c.
References ccl_assert, CCL_TOK_TERM, ccl_token::kind, ccl_token::len, ccl_token::name, ccl_token::next, ccl_token::prev, ccl_token::ws_prefix_buf, ccl_token::ws_prefix_len, and xmalloc.
Referenced by qualifiers_order().
void ccl_token_del | ( | struct ccl_token * | list | ) |
Deletes token list
Definition at line 209 of file ccltoken.c.
References ccl_token::next, and xfree.
Referenced by ccl_find_str(), and ccl_parser_find_str().