* USE OR PERFORMANCE OF THIS SOFTWARE.
*
*/
+
+/**
+ * \file cclfind.c
+ * \brief Implements parsing of a CCL FIND query.
+ *
+ * This source file implements parsing of a CCL Query (ISO8777).
+ * The parser uses predictive parsing, but it does several tokens
+ * of lookahead in the handling of relational operations.. So
+ * it's not really pure.
+ */
+
+
/* CCL find (to rpn conversion)
* Europagate, 1995
*
- * $Id: cclfind.c,v 1.5 2004-10-10 21:43:21 adam Exp $
+ * $Id: cclfind.c,v 1.6 2004-10-15 00:18:59 adam Exp $
*
* Old Europagate log:
*
/* move one token forward */
#define ADVANCE cclp->look_token = cclp->look_token->next
-/*
+/**
* qual_val_type: test for existance of attribute type/value pair.
* qa: Attribute array
* type: Type of attribute to search for
return 0;
}
-/*
+/**
* strxcat: concatenate strings.
* n: Null-terminated Destination string
* src: Source string to be appended (not null-terminated)
*n = '\0';
}
-/*
+/**
* copy_token_name: Return copy of CCL token name
* tp: Pointer to token info.
* return: malloc(3) allocated copy of token name.
return str;
}
-/*
+/**
* mk_node: Create RPN node.
* kind: Type of node.
* return: pointer to allocated node.
return p;
}
-/*
+/**
* ccl_rpn_delete: Delete RPN tree.
* rpn: Pointer to tree.
*/
return n;
}
-/*
+/**
* add_attr_numeric: Add attribute (type/value) to RPN term node.
* p: RPN node of type term.
* type: Type of attribute
}
-/*
+/**
* search_term: Parse CCL search term.
* cclp: CCL Parser
* qa: Qualifier attributes already applied.
return p;
}
-/*
+/**
* qualifiers1: Parse CCL qualifiers and search terms.
* cclp: CCL Parser
* la: Token pointer to RELATION token.
}
-/*
+/**
* search_terms: Parse CCL search terms - including proximity.
* cclp: CCL Parser
* qa: Qualifier attributes already applied.
return p1;
}
-/*
+/**
* search_elements: Parse CCL search elements
* cclp: CCL Parser
* qa: Qualifier attributes already applied.
}
}
-/*
+/**
* find_spec: Parse CCL find specification
* cclp: CCL Parser
* qa: Qualifier attributes already applied.
return p;
}
-/*
+/**
* ccl_find: Parse CCL find - token representation
* bibset: Bibset to be used for the parsing
* list: List of tokens
return p;
}
-/*
+/**
* ccl_find_str: Parse CCL find - string representation
* bibset: Bibset to be used for the parsing
* str: String to be parsed