Annotation of win32/gnome/gnome-xml/include/libxml/xmlautomata.h, revision 1.1
1.1 ! paf 1: /*
! 2: * automata.h : description of the API to build regexp automats
! 3: *
! 4: * See Copyright for the status of this software.
! 5: *
! 6: * Daniel Veillard <veillard@redhat.com>
! 7: */
! 8:
! 9: #ifndef __XML_AUTOMATA_H__
! 10: #define __XML_AUTOMATA_H__
! 11:
! 12: #include <libxml/xmlversion.h>
! 13: #include <libxml/tree.h>
! 14:
! 15: #ifdef LIBXML_AUTOMATA_ENABLED
! 16: #include <libxml/xmlregexp.h>
! 17:
! 18: #ifdef __cplusplus
! 19: extern "C" {
! 20: #endif
! 21:
! 22: /**
! 23: * xmlAutomataPtr:
! 24: *
! 25: * A libxml automata description, It can be compiled into a regexp
! 26: */
! 27: typedef struct _xmlAutomata xmlAutomata;
! 28: typedef xmlAutomata *xmlAutomataPtr;
! 29:
! 30: /**
! 31: * xmlAutomataStatePtr:
! 32: *
! 33: * A state int the automata description,
! 34: */
! 35: typedef struct _xmlAutomataState xmlAutomataState;
! 36: typedef xmlAutomataState *xmlAutomataStatePtr;
! 37:
! 38: /*
! 39: * Building API
! 40: */
! 41: xmlAutomataPtr xmlNewAutomata (void);
! 42: void xmlFreeAutomata (xmlAutomataPtr am);
! 43:
! 44: xmlAutomataStatePtr xmlAutomataGetInitState (xmlAutomataPtr am);
! 45: int xmlAutomataSetFinalState(xmlAutomataPtr am,
! 46: xmlAutomataStatePtr state);
! 47: xmlAutomataStatePtr xmlAutomataNewState (xmlAutomataPtr am);
! 48: xmlAutomataStatePtr xmlAutomataNewTransition(xmlAutomataPtr am,
! 49: xmlAutomataStatePtr from,
! 50: xmlAutomataStatePtr to,
! 51: const xmlChar *token,
! 52: void *data);
! 53: xmlAutomataStatePtr xmlAutomataNewCountTrans(xmlAutomataPtr am,
! 54: xmlAutomataStatePtr from,
! 55: xmlAutomataStatePtr to,
! 56: const xmlChar *token,
! 57: int min,
! 58: int max,
! 59: void *data);
! 60: xmlAutomataStatePtr xmlAutomataNewOnceTrans (xmlAutomataPtr am,
! 61: xmlAutomataStatePtr from,
! 62: xmlAutomataStatePtr to,
! 63: const xmlChar *token,
! 64: int min,
! 65: int max,
! 66: void *data);
! 67: xmlAutomataStatePtr xmlAutomataNewAllTrans (xmlAutomataPtr am,
! 68: xmlAutomataStatePtr from,
! 69: xmlAutomataStatePtr to,
! 70: int lax);
! 71: xmlAutomataStatePtr xmlAutomataNewEpsilon (xmlAutomataPtr am,
! 72: xmlAutomataStatePtr from,
! 73: xmlAutomataStatePtr to);
! 74: xmlAutomataStatePtr xmlAutomataNewCountedTrans(xmlAutomataPtr am,
! 75: xmlAutomataStatePtr from,
! 76: xmlAutomataStatePtr to,
! 77: int counter);
! 78: xmlAutomataStatePtr xmlAutomataNewCounterTrans(xmlAutomataPtr am,
! 79: xmlAutomataStatePtr from,
! 80: xmlAutomataStatePtr to,
! 81: int counter);
! 82: int xmlAutomataNewCounter (xmlAutomataPtr am,
! 83: int min,
! 84: int max);
! 85:
! 86: xmlRegexpPtr xmlAutomataCompile (xmlAutomataPtr am);
! 87: int xmlAutomataIsDeterminist(xmlAutomataPtr am);
! 88:
! 89: #ifdef __cplusplus
! 90: }
! 91: #endif
! 92:
! 93: #endif /* LIBXML_AUTOMATA_ENABLED */
! 94: #endif /* __XML_AUTOMATA_H__ */
E-mail: