123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- /*
- * 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__ */
|