Return to xmlautomata.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / include / libxml |
1.1 ! misho 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: #include <libxml/tree.h> ! 15: ! 16: #ifdef LIBXML_REGEXP_ENABLED ! 17: #ifdef LIBXML_AUTOMATA_ENABLED ! 18: #include <libxml/xmlregexp.h> ! 19: ! 20: #ifdef __cplusplus ! 21: extern "C" { ! 22: #endif ! 23: ! 24: /** ! 25: * xmlAutomataPtr: ! 26: * ! 27: * A libxml automata description, It can be compiled into a regexp ! 28: */ ! 29: typedef struct _xmlAutomata xmlAutomata; ! 30: typedef xmlAutomata *xmlAutomataPtr; ! 31: ! 32: /** ! 33: * xmlAutomataStatePtr: ! 34: * ! 35: * A state int the automata description, ! 36: */ ! 37: typedef struct _xmlAutomataState xmlAutomataState; ! 38: typedef xmlAutomataState *xmlAutomataStatePtr; ! 39: ! 40: /* ! 41: * Building API ! 42: */ ! 43: XMLPUBFUN xmlAutomataPtr XMLCALL ! 44: xmlNewAutomata (void); ! 45: XMLPUBFUN void XMLCALL ! 46: xmlFreeAutomata (xmlAutomataPtr am); ! 47: ! 48: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 49: xmlAutomataGetInitState (xmlAutomataPtr am); ! 50: XMLPUBFUN int XMLCALL ! 51: xmlAutomataSetFinalState (xmlAutomataPtr am, ! 52: xmlAutomataStatePtr state); ! 53: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 54: xmlAutomataNewState (xmlAutomataPtr am); ! 55: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 56: xmlAutomataNewTransition (xmlAutomataPtr am, ! 57: xmlAutomataStatePtr from, ! 58: xmlAutomataStatePtr to, ! 59: const xmlChar *token, ! 60: void *data); ! 61: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 62: xmlAutomataNewTransition2 (xmlAutomataPtr am, ! 63: xmlAutomataStatePtr from, ! 64: xmlAutomataStatePtr to, ! 65: const xmlChar *token, ! 66: const xmlChar *token2, ! 67: void *data); ! 68: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 69: xmlAutomataNewNegTrans (xmlAutomataPtr am, ! 70: xmlAutomataStatePtr from, ! 71: xmlAutomataStatePtr to, ! 72: const xmlChar *token, ! 73: const xmlChar *token2, ! 74: void *data); ! 75: ! 76: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 77: xmlAutomataNewCountTrans (xmlAutomataPtr am, ! 78: xmlAutomataStatePtr from, ! 79: xmlAutomataStatePtr to, ! 80: const xmlChar *token, ! 81: int min, ! 82: int max, ! 83: void *data); ! 84: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 85: xmlAutomataNewCountTrans2 (xmlAutomataPtr am, ! 86: xmlAutomataStatePtr from, ! 87: xmlAutomataStatePtr to, ! 88: const xmlChar *token, ! 89: const xmlChar *token2, ! 90: int min, ! 91: int max, ! 92: void *data); ! 93: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 94: xmlAutomataNewOnceTrans (xmlAutomataPtr am, ! 95: xmlAutomataStatePtr from, ! 96: xmlAutomataStatePtr to, ! 97: const xmlChar *token, ! 98: int min, ! 99: int max, ! 100: void *data); ! 101: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 102: xmlAutomataNewOnceTrans2 (xmlAutomataPtr am, ! 103: xmlAutomataStatePtr from, ! 104: xmlAutomataStatePtr to, ! 105: const xmlChar *token, ! 106: const xmlChar *token2, ! 107: int min, ! 108: int max, ! 109: void *data); ! 110: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 111: xmlAutomataNewAllTrans (xmlAutomataPtr am, ! 112: xmlAutomataStatePtr from, ! 113: xmlAutomataStatePtr to, ! 114: int lax); ! 115: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 116: xmlAutomataNewEpsilon (xmlAutomataPtr am, ! 117: xmlAutomataStatePtr from, ! 118: xmlAutomataStatePtr to); ! 119: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 120: xmlAutomataNewCountedTrans (xmlAutomataPtr am, ! 121: xmlAutomataStatePtr from, ! 122: xmlAutomataStatePtr to, ! 123: int counter); ! 124: XMLPUBFUN xmlAutomataStatePtr XMLCALL ! 125: xmlAutomataNewCounterTrans (xmlAutomataPtr am, ! 126: xmlAutomataStatePtr from, ! 127: xmlAutomataStatePtr to, ! 128: int counter); ! 129: XMLPUBFUN int XMLCALL ! 130: xmlAutomataNewCounter (xmlAutomataPtr am, ! 131: int min, ! 132: int max); ! 133: ! 134: XMLPUBFUN xmlRegexpPtr XMLCALL ! 135: xmlAutomataCompile (xmlAutomataPtr am); ! 136: XMLPUBFUN int XMLCALL ! 137: xmlAutomataIsDeterminist (xmlAutomataPtr am); ! 138: ! 139: #ifdef __cplusplus ! 140: } ! 141: #endif ! 142: ! 143: #endif /* LIBXML_AUTOMATA_ENABLED */ ! 144: #endif /* LIBXML_REGEXP_ENABLED */ ! 145: ! 146: #endif /* __XML_AUTOMATA_H__ */