X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fccl.h;h=d842be66ad688e0a6ceda46f0629a721fdc5d6de;hb=6817442a2614e09d9c32896dc3c2581a3dd491c7;hp=5c8909f16a3793de9f81d97b5cc6c6ec98baddd3;hpb=c126b2a625462f95475f00efdfdf9ce41a0e9c79;p=yaz-moved-to-github.git diff --git a/include/yaz/ccl.h b/include/yaz/ccl.h index 5c8909f..d842be6 100644 --- a/include/yaz/ccl.h +++ b/include/yaz/ccl.h @@ -46,7 +46,16 @@ * CCL - header file * * $Log: ccl.h,v $ - * Revision 1.2 2000-01-31 13:15:21 adam + * Revision 1.5 2000-05-02 17:19:58 adam + * Removed MINUS token. + * + * Revision 1.4 2000/03/14 09:06:11 adam + * Added POSIX threads support for frontend server. + * + * Revision 1.3 2000/02/08 10:39:53 adam + * Added a few functions to set name of operands, etc. + * + * Revision 1.2 2000/01/31 13:15:21 adam * Removed uses of assert(3). Cleanup of ODR. CCL parser update so * that some characters are not surrounded by spaces in resulting term. * ILL-code updates. @@ -111,6 +120,8 @@ #ifndef CCL_H #define CCL_H +#include + #ifdef __cplusplus extern "C" { #endif @@ -213,8 +224,7 @@ typedef struct ccl_qualifiers *CCL_bibset; #define CCL_TOK_AND 8 #define CCL_TOK_OR 9 #define CCL_TOK_NOT 10 -#define CCL_TOK_MINUS 11 -#define CCL_TOK_SET 12 +#define CCL_TOK_SET 11 /* CCL token */ struct ccl_token { @@ -242,7 +252,7 @@ struct ccl_parser { /* current bibset */ CCL_bibset bibset; - + char *ccl_token_and; char *ccl_token_or; char *ccl_token_not; @@ -272,6 +282,17 @@ struct ccl_rpn_node *ccl_find_str (CCL_bibset bibset, struct ccl_rpn_node *ccl_find (CCL_bibset abibset, struct ccl_token *list, int *error, const char **pos); +/* Parse CCL Find command */ +struct ccl_rpn_node *ccl_parser_find (CCL_parser cclp, struct ccl_token *list); + +/* Set various OPs */ +void ccl_parser_set_op_and (CCL_parser p, const char *op); +void ccl_parser_set_op_or (CCL_parser p, const char *op); +void ccl_parser_set_op_not (CCL_parser p, const char *op); +void ccl_parser_set_op_set (CCL_parser p, const char *op); + +void ccl_parser_set_case (CCL_parser p, int case_sensitivity_flag); + /* Return english-readable error message */ const char *ccl_err_msg (int ccl_errno); @@ -313,6 +334,7 @@ CCL_parser ccl_parser_create (void); /* Destroy CCL parser */ void ccl_parser_destroy (CCL_parser p); + #ifndef ccl_assert #define ccl_assert(x) ; #endif