1 /* 2 * Summary: API to build regexp automata 3 * Description: the API to build regexp automata 4 * 5 * Copy: See Copyright for the status of this software. 6 * 7 * Author: Daniel Veillard 8 */ 9 10 #ifndef __XML_AUTOMATA_H__ 11 #define __XML_AUTOMATA_H__ 12 13 #include <libxml/xmlversion.h> 14 15 #ifdef LIBXML_REGEXP_ENABLED 16 17 #include <libxml/xmlstring.h> 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 /** 24 * xmlAutomataPtr: 25 * 26 * A libxml automata description, It can be compiled into a regexp 27 */ 28 typedef struct _xmlAutomata xmlAutomata; 29 typedef xmlAutomata *xmlAutomataPtr; 30 31 /** 32 * xmlAutomataStatePtr: 33 * 34 * A state int the automata description, 35 */ 36 typedef struct _xmlAutomataState xmlAutomataState; 37 typedef xmlAutomataState *xmlAutomataStatePtr; 38 39 /* 40 * Building API 41 */ 42 XML_DEPRECATED 43 XMLPUBFUN xmlAutomataPtr 44 xmlNewAutomata (void); 45 XML_DEPRECATED 46 XMLPUBFUN void 47 xmlFreeAutomata (xmlAutomataPtr am); 48 49 XML_DEPRECATED 50 XMLPUBFUN xmlAutomataStatePtr 51 xmlAutomataGetInitState (xmlAutomataPtr am); 52 XML_DEPRECATED 53 XMLPUBFUN int 54 xmlAutomataSetFinalState (xmlAutomataPtr am, 55 xmlAutomataStatePtr state); 56 XML_DEPRECATED 57 XMLPUBFUN xmlAutomataStatePtr 58 xmlAutomataNewState (xmlAutomataPtr am); 59 XML_DEPRECATED 60 XMLPUBFUN xmlAutomataStatePtr 61 xmlAutomataNewTransition (xmlAutomataPtr am, 62 xmlAutomataStatePtr from, 63 xmlAutomataStatePtr to, 64 const xmlChar *token, 65 void *data); 66 XML_DEPRECATED 67 XMLPUBFUN xmlAutomataStatePtr 68 xmlAutomataNewTransition2 (xmlAutomataPtr am, 69 xmlAutomataStatePtr from, 70 xmlAutomataStatePtr to, 71 const xmlChar *token, 72 const xmlChar *token2, 73 void *data); 74 XML_DEPRECATED 75 XMLPUBFUN xmlAutomataStatePtr 76 xmlAutomataNewNegTrans (xmlAutomataPtr am, 77 xmlAutomataStatePtr from, 78 xmlAutomataStatePtr to, 79 const xmlChar *token, 80 const xmlChar *token2, 81 void *data); 82 83 XML_DEPRECATED 84 XMLPUBFUN xmlAutomataStatePtr 85 xmlAutomataNewCountTrans (xmlAutomataPtr am, 86 xmlAutomataStatePtr from, 87 xmlAutomataStatePtr to, 88 const xmlChar *token, 89 int min, 90 int max, 91 void *data); 92 XML_DEPRECATED 93 XMLPUBFUN xmlAutomataStatePtr 94 xmlAutomataNewCountTrans2 (xmlAutomataPtr am, 95 xmlAutomataStatePtr from, 96 xmlAutomataStatePtr to, 97 const xmlChar *token, 98 const xmlChar *token2, 99 int min, 100 int max, 101 void *data); 102 XML_DEPRECATED 103 XMLPUBFUN xmlAutomataStatePtr 104 xmlAutomataNewOnceTrans (xmlAutomataPtr am, 105 xmlAutomataStatePtr from, 106 xmlAutomataStatePtr to, 107 const xmlChar *token, 108 int min, 109 int max, 110 void *data); 111 XML_DEPRECATED 112 XMLPUBFUN xmlAutomataStatePtr 113 xmlAutomataNewOnceTrans2 (xmlAutomataPtr am, 114 xmlAutomataStatePtr from, 115 xmlAutomataStatePtr to, 116 const xmlChar *token, 117 const xmlChar *token2, 118 int min, 119 int max, 120 void *data); 121 XML_DEPRECATED 122 XMLPUBFUN xmlAutomataStatePtr 123 xmlAutomataNewAllTrans (xmlAutomataPtr am, 124 xmlAutomataStatePtr from, 125 xmlAutomataStatePtr to, 126 int lax); 127 XML_DEPRECATED 128 XMLPUBFUN xmlAutomataStatePtr 129 xmlAutomataNewEpsilon (xmlAutomataPtr am, 130 xmlAutomataStatePtr from, 131 xmlAutomataStatePtr to); 132 XML_DEPRECATED 133 XMLPUBFUN xmlAutomataStatePtr 134 xmlAutomataNewCountedTrans (xmlAutomataPtr am, 135 xmlAutomataStatePtr from, 136 xmlAutomataStatePtr to, 137 int counter); 138 XML_DEPRECATED 139 XMLPUBFUN xmlAutomataStatePtr 140 xmlAutomataNewCounterTrans (xmlAutomataPtr am, 141 xmlAutomataStatePtr from, 142 xmlAutomataStatePtr to, 143 int counter); 144 XML_DEPRECATED 145 XMLPUBFUN int 146 xmlAutomataNewCounter (xmlAutomataPtr am, 147 int min, 148 int max); 149 150 XML_DEPRECATED 151 XMLPUBFUN struct _xmlRegexp * 152 xmlAutomataCompile (xmlAutomataPtr am); 153 XML_DEPRECATED 154 XMLPUBFUN int 155 xmlAutomataIsDeterminist (xmlAutomataPtr am); 156 157 #ifdef __cplusplus 158 } 159 #endif 160 161 #endif /* LIBXML_REGEXP_ENABLED */ 162 163 #endif /* __XML_AUTOMATA_H__ */ 164