|
|
- /*
- * Summary: API to build regexp automata
- * Description: the API to build regexp automata
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
- #ifndef __XML_AUTOMATA_H__
- #define __XML_AUTOMATA_H__
-
- #include <libxml/xmlversion.h>
- #include <libxml/tree.h>
-
- #ifdef LIBXML_REGEXP_ENABLED
- #ifdef LIBXML_AUTOMATA_ENABLED
- #include <libxml/xmlregexp.h>
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /**
- * xmlAutomataPtr:
- *
- * A libxml automata description, It can be compiled into a regexp
- */
- typedef struct _xmlAutomata xmlAutomata;
- typedef xmlAutomata *xmlAutomataPtr;
-
- /**
- * xmlAutomataStatePtr:
- *
- * A state int the automata description,
- */
- typedef struct _xmlAutomataState xmlAutomataState;
- typedef xmlAutomataState *xmlAutomataStatePtr;
-
- /*
- * Building API
- */
- XMLPUBFUN xmlAutomataPtr XMLCALL
- xmlNewAutomata (void);
- XMLPUBFUN void XMLCALL
- xmlFreeAutomata (xmlAutomataPtr am);
-
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataGetInitState (xmlAutomataPtr am);
- XMLPUBFUN int XMLCALL
- xmlAutomataSetFinalState (xmlAutomataPtr am,
- xmlAutomataStatePtr state);
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewState (xmlAutomataPtr am);
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewTransition (xmlAutomataPtr am,
- xmlAutomataStatePtr from,
- xmlAutomataStatePtr to,
- const xmlChar *token,
- void *data);
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewTransition2 (xmlAutomataPtr am,
- xmlAutomataStatePtr from,
- xmlAutomataStatePtr to,
- const xmlChar *token,
- const xmlChar *token2,
- void *data);
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewNegTrans (xmlAutomataPtr am,
- xmlAutomataStatePtr from,
- xmlAutomataStatePtr to,
- const xmlChar *token,
- const xmlChar *token2,
- void *data);
-
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewCountTrans (xmlAutomataPtr am,
- xmlAutomataStatePtr from,
- xmlAutomataStatePtr to,
- const xmlChar *token,
- int min,
- int max,
- void *data);
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewCountTrans2 (xmlAutomataPtr am,
- xmlAutomataStatePtr from,
- xmlAutomataStatePtr to,
- const xmlChar *token,
- const xmlChar *token2,
- int min,
- int max,
- void *data);
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewOnceTrans (xmlAutomataPtr am,
- xmlAutomataStatePtr from,
- xmlAutomataStatePtr to,
- const xmlChar *token,
- int min,
- int max,
- void *data);
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewOnceTrans2 (xmlAutomataPtr am,
- xmlAutomataStatePtr from,
- xmlAutomataStatePtr to,
- const xmlChar *token,
- const xmlChar *token2,
- int min,
- int max,
- void *data);
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewAllTrans (xmlAutomataPtr am,
- xmlAutomataStatePtr from,
- xmlAutomataStatePtr to,
- int lax);
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewEpsilon (xmlAutomataPtr am,
- xmlAutomataStatePtr from,
- xmlAutomataStatePtr to);
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewCountedTrans (xmlAutomataPtr am,
- xmlAutomataStatePtr from,
- xmlAutomataStatePtr to,
- int counter);
- XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewCounterTrans (xmlAutomataPtr am,
- xmlAutomataStatePtr from,
- xmlAutomataStatePtr to,
- int counter);
- XMLPUBFUN int XMLCALL
- xmlAutomataNewCounter (xmlAutomataPtr am,
- int min,
- int max);
-
- XMLPUBFUN xmlRegexpPtr XMLCALL
- xmlAutomataCompile (xmlAutomataPtr am);
- XMLPUBFUN int XMLCALL
- xmlAutomataIsDeterminist (xmlAutomataPtr am);
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* LIBXML_AUTOMATA_ENABLED */
- #endif /* LIBXML_REGEXP_ENABLED */
-
- #endif /* __XML_AUTOMATA_H__ */
|