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