Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/lxml/includes/libxml/xmlregexp.h @ 0:26e78fe6e8c4 draft
"planemo upload commit c699937486c35866861690329de38ec1a5d9f783"
| author | shellac |
|---|---|
| date | Sat, 02 May 2020 07:14:21 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:26e78fe6e8c4 |
|---|---|
| 1 /* | |
| 2 * Summary: regular expressions handling | |
| 3 * Description: basic API for libxml regular expressions handling used | |
| 4 * for XML Schemas and validation. | |
| 5 * | |
| 6 * Copy: See Copyright for the status of this software. | |
| 7 * | |
| 8 * Author: Daniel Veillard | |
| 9 */ | |
| 10 | |
| 11 #ifndef __XML_REGEXP_H__ | |
| 12 #define __XML_REGEXP_H__ | |
| 13 | |
| 14 #include <libxml/xmlversion.h> | |
| 15 | |
| 16 #ifdef LIBXML_REGEXP_ENABLED | |
| 17 | |
| 18 #ifdef __cplusplus | |
| 19 extern "C" { | |
| 20 #endif | |
| 21 | |
| 22 /** | |
| 23 * xmlRegexpPtr: | |
| 24 * | |
| 25 * A libxml regular expression, they can actually be far more complex | |
| 26 * thank the POSIX regex expressions. | |
| 27 */ | |
| 28 typedef struct _xmlRegexp xmlRegexp; | |
| 29 typedef xmlRegexp *xmlRegexpPtr; | |
| 30 | |
| 31 /** | |
| 32 * xmlRegExecCtxtPtr: | |
| 33 * | |
| 34 * A libxml progressive regular expression evaluation context | |
| 35 */ | |
| 36 typedef struct _xmlRegExecCtxt xmlRegExecCtxt; | |
| 37 typedef xmlRegExecCtxt *xmlRegExecCtxtPtr; | |
| 38 | |
| 39 #ifdef __cplusplus | |
| 40 } | |
| 41 #endif | |
| 42 #include <libxml/tree.h> | |
| 43 #include <libxml/dict.h> | |
| 44 #ifdef __cplusplus | |
| 45 extern "C" { | |
| 46 #endif | |
| 47 | |
| 48 /* | |
| 49 * The POSIX like API | |
| 50 */ | |
| 51 XMLPUBFUN xmlRegexpPtr XMLCALL | |
| 52 xmlRegexpCompile (const xmlChar *regexp); | |
| 53 XMLPUBFUN void XMLCALL xmlRegFreeRegexp(xmlRegexpPtr regexp); | |
| 54 XMLPUBFUN int XMLCALL | |
| 55 xmlRegexpExec (xmlRegexpPtr comp, | |
| 56 const xmlChar *value); | |
| 57 XMLPUBFUN void XMLCALL | |
| 58 xmlRegexpPrint (FILE *output, | |
| 59 xmlRegexpPtr regexp); | |
| 60 XMLPUBFUN int XMLCALL | |
| 61 xmlRegexpIsDeterminist(xmlRegexpPtr comp); | |
| 62 | |
| 63 /** | |
| 64 * xmlRegExecCallbacks: | |
| 65 * @exec: the regular expression context | |
| 66 * @token: the current token string | |
| 67 * @transdata: transition data | |
| 68 * @inputdata: input data | |
| 69 * | |
| 70 * Callback function when doing a transition in the automata | |
| 71 */ | |
| 72 typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec, | |
| 73 const xmlChar *token, | |
| 74 void *transdata, | |
| 75 void *inputdata); | |
| 76 | |
| 77 /* | |
| 78 * The progressive API | |
| 79 */ | |
| 80 XMLPUBFUN xmlRegExecCtxtPtr XMLCALL | |
| 81 xmlRegNewExecCtxt (xmlRegexpPtr comp, | |
| 82 xmlRegExecCallbacks callback, | |
| 83 void *data); | |
| 84 XMLPUBFUN void XMLCALL | |
| 85 xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec); | |
| 86 XMLPUBFUN int XMLCALL | |
| 87 xmlRegExecPushString(xmlRegExecCtxtPtr exec, | |
| 88 const xmlChar *value, | |
| 89 void *data); | |
| 90 XMLPUBFUN int XMLCALL | |
| 91 xmlRegExecPushString2(xmlRegExecCtxtPtr exec, | |
| 92 const xmlChar *value, | |
| 93 const xmlChar *value2, | |
| 94 void *data); | |
| 95 | |
| 96 XMLPUBFUN int XMLCALL | |
| 97 xmlRegExecNextValues(xmlRegExecCtxtPtr exec, | |
| 98 int *nbval, | |
| 99 int *nbneg, | |
| 100 xmlChar **values, | |
| 101 int *terminal); | |
| 102 XMLPUBFUN int XMLCALL | |
| 103 xmlRegExecErrInfo (xmlRegExecCtxtPtr exec, | |
| 104 const xmlChar **string, | |
| 105 int *nbval, | |
| 106 int *nbneg, | |
| 107 xmlChar **values, | |
| 108 int *terminal); | |
| 109 #ifdef LIBXML_EXPR_ENABLED | |
| 110 /* | |
| 111 * Formal regular expression handling | |
| 112 * Its goal is to do some formal work on content models | |
| 113 */ | |
| 114 | |
| 115 /* expressions are used within a context */ | |
| 116 typedef struct _xmlExpCtxt xmlExpCtxt; | |
| 117 typedef xmlExpCtxt *xmlExpCtxtPtr; | |
| 118 | |
| 119 XMLPUBFUN void XMLCALL | |
| 120 xmlExpFreeCtxt (xmlExpCtxtPtr ctxt); | |
| 121 XMLPUBFUN xmlExpCtxtPtr XMLCALL | |
| 122 xmlExpNewCtxt (int maxNodes, | |
| 123 xmlDictPtr dict); | |
| 124 | |
| 125 XMLPUBFUN int XMLCALL | |
| 126 xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt); | |
| 127 XMLPUBFUN int XMLCALL | |
| 128 xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt); | |
| 129 | |
| 130 /* Expressions are trees but the tree is opaque */ | |
| 131 typedef struct _xmlExpNode xmlExpNode; | |
| 132 typedef xmlExpNode *xmlExpNodePtr; | |
| 133 | |
| 134 typedef enum { | |
| 135 XML_EXP_EMPTY = 0, | |
| 136 XML_EXP_FORBID = 1, | |
| 137 XML_EXP_ATOM = 2, | |
| 138 XML_EXP_SEQ = 3, | |
| 139 XML_EXP_OR = 4, | |
| 140 XML_EXP_COUNT = 5 | |
| 141 } xmlExpNodeType; | |
| 142 | |
| 143 /* | |
| 144 * 2 core expressions shared by all for the empty language set | |
| 145 * and for the set with just the empty token | |
| 146 */ | |
| 147 XMLPUBVAR xmlExpNodePtr forbiddenExp; | |
| 148 XMLPUBVAR xmlExpNodePtr emptyExp; | |
| 149 | |
| 150 /* | |
| 151 * Expressions are reference counted internally | |
| 152 */ | |
| 153 XMLPUBFUN void XMLCALL | |
| 154 xmlExpFree (xmlExpCtxtPtr ctxt, | |
| 155 xmlExpNodePtr expr); | |
| 156 XMLPUBFUN void XMLCALL | |
| 157 xmlExpRef (xmlExpNodePtr expr); | |
| 158 | |
| 159 /* | |
| 160 * constructors can be either manual or from a string | |
| 161 */ | |
| 162 XMLPUBFUN xmlExpNodePtr XMLCALL | |
| 163 xmlExpParse (xmlExpCtxtPtr ctxt, | |
| 164 const char *expr); | |
| 165 XMLPUBFUN xmlExpNodePtr XMLCALL | |
| 166 xmlExpNewAtom (xmlExpCtxtPtr ctxt, | |
| 167 const xmlChar *name, | |
| 168 int len); | |
| 169 XMLPUBFUN xmlExpNodePtr XMLCALL | |
| 170 xmlExpNewOr (xmlExpCtxtPtr ctxt, | |
| 171 xmlExpNodePtr left, | |
| 172 xmlExpNodePtr right); | |
| 173 XMLPUBFUN xmlExpNodePtr XMLCALL | |
| 174 xmlExpNewSeq (xmlExpCtxtPtr ctxt, | |
| 175 xmlExpNodePtr left, | |
| 176 xmlExpNodePtr right); | |
| 177 XMLPUBFUN xmlExpNodePtr XMLCALL | |
| 178 xmlExpNewRange (xmlExpCtxtPtr ctxt, | |
| 179 xmlExpNodePtr subset, | |
| 180 int min, | |
| 181 int max); | |
| 182 /* | |
| 183 * The really interesting APIs | |
| 184 */ | |
| 185 XMLPUBFUN int XMLCALL | |
| 186 xmlExpIsNillable(xmlExpNodePtr expr); | |
| 187 XMLPUBFUN int XMLCALL | |
| 188 xmlExpMaxToken (xmlExpNodePtr expr); | |
| 189 XMLPUBFUN int XMLCALL | |
| 190 xmlExpGetLanguage(xmlExpCtxtPtr ctxt, | |
| 191 xmlExpNodePtr expr, | |
| 192 const xmlChar**langList, | |
| 193 int len); | |
| 194 XMLPUBFUN int XMLCALL | |
| 195 xmlExpGetStart (xmlExpCtxtPtr ctxt, | |
| 196 xmlExpNodePtr expr, | |
| 197 const xmlChar**tokList, | |
| 198 int len); | |
| 199 XMLPUBFUN xmlExpNodePtr XMLCALL | |
| 200 xmlExpStringDerive(xmlExpCtxtPtr ctxt, | |
| 201 xmlExpNodePtr expr, | |
| 202 const xmlChar *str, | |
| 203 int len); | |
| 204 XMLPUBFUN xmlExpNodePtr XMLCALL | |
| 205 xmlExpExpDerive (xmlExpCtxtPtr ctxt, | |
| 206 xmlExpNodePtr expr, | |
| 207 xmlExpNodePtr sub); | |
| 208 XMLPUBFUN int XMLCALL | |
| 209 xmlExpSubsume (xmlExpCtxtPtr ctxt, | |
| 210 xmlExpNodePtr expr, | |
| 211 xmlExpNodePtr sub); | |
| 212 XMLPUBFUN void XMLCALL | |
| 213 xmlExpDump (xmlBufferPtr buf, | |
| 214 xmlExpNodePtr expr); | |
| 215 #endif /* LIBXML_EXPR_ENABLED */ | |
| 216 #ifdef __cplusplus | |
| 217 } | |
| 218 #endif | |
| 219 | |
| 220 #endif /* LIBXML_REGEXP_ENABLED */ | |
| 221 | |
| 222 #endif /*__XML_REGEXP_H__ */ |
