Annotation of embedaddon/libxml2/include/libxml/xmlautomata.h, revision 1.1.1.2
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: */
1.1.1.2 ! misho 43: XMLPUBFUN xmlAutomataPtr XMLCALL
1.1 misho 44: xmlNewAutomata (void);
1.1.1.2 ! misho 45: XMLPUBFUN void XMLCALL
1.1 misho 46: xmlFreeAutomata (xmlAutomataPtr am);
47:
1.1.1.2 ! misho 48: XMLPUBFUN xmlAutomataStatePtr XMLCALL
1.1 misho 49: xmlAutomataGetInitState (xmlAutomataPtr am);
1.1.1.2 ! misho 50: XMLPUBFUN int XMLCALL
1.1 misho 51: xmlAutomataSetFinalState (xmlAutomataPtr am,
52: xmlAutomataStatePtr state);
1.1.1.2 ! misho 53: XMLPUBFUN xmlAutomataStatePtr XMLCALL
1.1 misho 54: xmlAutomataNewState (xmlAutomataPtr am);
1.1.1.2 ! misho 55: XMLPUBFUN xmlAutomataStatePtr XMLCALL
1.1 misho 56: xmlAutomataNewTransition (xmlAutomataPtr am,
57: xmlAutomataStatePtr from,
58: xmlAutomataStatePtr to,
59: const xmlChar *token,
60: void *data);
1.1.1.2 ! misho 61: XMLPUBFUN xmlAutomataStatePtr XMLCALL
1.1 misho 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:
1.1.1.2 ! misho 76: XMLPUBFUN xmlAutomataStatePtr XMLCALL
1.1 misho 77: xmlAutomataNewCountTrans (xmlAutomataPtr am,
78: xmlAutomataStatePtr from,
79: xmlAutomataStatePtr to,
80: const xmlChar *token,
81: int min,
82: int max,
83: void *data);
1.1.1.2 ! misho 84: XMLPUBFUN xmlAutomataStatePtr XMLCALL
1.1 misho 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);
1.1.1.2 ! misho 93: XMLPUBFUN xmlAutomataStatePtr XMLCALL
1.1 misho 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
1.1.1.2 ! misho 102: xmlAutomataNewOnceTrans2 (xmlAutomataPtr am,
1.1 misho 103: xmlAutomataStatePtr from,
1.1.1.2 ! misho 104: xmlAutomataStatePtr to,
1.1 misho 105: const xmlChar *token,
106: const xmlChar *token2,
1.1.1.2 ! misho 107: int min,
! 108: int max,
1.1 misho 109: void *data);
1.1.1.2 ! misho 110: XMLPUBFUN xmlAutomataStatePtr XMLCALL
1.1 misho 111: xmlAutomataNewAllTrans (xmlAutomataPtr am,
112: xmlAutomataStatePtr from,
113: xmlAutomataStatePtr to,
114: int lax);
1.1.1.2 ! misho 115: XMLPUBFUN xmlAutomataStatePtr XMLCALL
1.1 misho 116: xmlAutomataNewEpsilon (xmlAutomataPtr am,
117: xmlAutomataStatePtr from,
118: xmlAutomataStatePtr to);
1.1.1.2 ! misho 119: XMLPUBFUN xmlAutomataStatePtr XMLCALL
1.1 misho 120: xmlAutomataNewCountedTrans (xmlAutomataPtr am,
121: xmlAutomataStatePtr from,
122: xmlAutomataStatePtr to,
123: int counter);
1.1.1.2 ! misho 124: XMLPUBFUN xmlAutomataStatePtr XMLCALL
1.1 misho 125: xmlAutomataNewCounterTrans (xmlAutomataPtr am,
126: xmlAutomataStatePtr from,
127: xmlAutomataStatePtr to,
128: int counter);
1.1.1.2 ! misho 129: XMLPUBFUN int XMLCALL
1.1 misho 130: xmlAutomataNewCounter (xmlAutomataPtr am,
131: int min,
132: int max);
133:
1.1.1.2 ! misho 134: XMLPUBFUN xmlRegexpPtr XMLCALL
1.1 misho 135: xmlAutomataCompile (xmlAutomataPtr am);
1.1.1.2 ! misho 136: XMLPUBFUN int XMLCALL
1.1 misho 137: xmlAutomataIsDeterminist (xmlAutomataPtr am);
138:
139: #ifdef __cplusplus
140: }
1.1.1.2 ! misho 141: #endif
1.1 misho 142:
143: #endif /* LIBXML_AUTOMATA_ENABLED */
144: #endif /* LIBXML_REGEXP_ENABLED */
145:
146: #endif /* __XML_AUTOMATA_H__ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>