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