497972565e2387b1dc225eb4d241eba0477b702f
[platform/upstream/libxml2.git] / os400 / libxmlrpg / xmlautomata.rpgle
1       * Summary: API to build regexp automata
2       * Description: the API to build regexp automata
3       *
4       * Copy: See Copyright for the status of this software.
5       *
6       * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
7
8       /if not defined(XML_AUTOMATA_H__)
9       /define XML_AUTOMATA_H__
10
11       /include "libxmlrpg/xmlversion"
12       /include "libxmlrpg/tree"
13
14       /if defined(LIBXML_REGEXP_ENABLED)
15       /if defined(LIBXML_AUTOMATA_ENABLED)
16
17       /include "libxmlrpg/xmlregexp"
18
19       * xmlAutomataPtr:
20       *
21       * A libxml automata description, It can be compiled into a regexp
22
23      d xmlAutomataPtr  s               *   based(######typedef######)
24
25       * xmlAutomataStatePtr:
26       *
27       * A state int the automata description,
28
29      d xmlAutomataStatePtr...
30      d                 s               *   based(######typedef######)
31
32       * Building API
33
34      d xmlNewAutomata  pr                  extproc('xmlNewAutomata')
35      d                                     like(xmlAutomataPtr)
36
37      d xmlFreeAutomata...
38      d                 pr                  extproc('xmlFreeAutomata')
39      d  am                                 value like(xmlAutomataPtr)
40
41      d xmlAutomataGetInitState...
42      d                 pr                  extproc('xmlAutomataGetInitState')
43      d                                     like(xmlAutomataStatePtr)
44      d  am                                 value like(xmlAutomataPtr)
45
46      d xmlAutomataSetFinalState...
47      d                 pr            10i 0 extproc('xmlAutomataSetFinalState')
48      d  am                                 value like(xmlAutomataPtr)
49      d  state                              value like(xmlAutomataStatePtr)
50
51      d xmlAutomataNewState...
52      d                 pr                  extproc('xmlAutomataNewState')
53      d                                     like(xmlAutomataStatePtr)
54      d  am                                 value like(xmlAutomataPtr)
55
56      d xmlAutomataNewTransition...
57      d                 pr                  extproc('xmlAutomataNewTransition')
58      d                                     like(xmlAutomataStatePtr)
59      d  am                                 value like(xmlAutomataPtr)
60      d  from                               value like(xmlAutomataStatePtr)
61      d  to                                 value like(xmlAutomataStatePtr)
62      d  token                          *   value options(*string)               const xmlChar *
63      d  data                           *   value options(*string)               void *
64
65      d xmlAutomataNewTransition2...
66      d                 pr                  extproc('xmlAutomataNewTransition2')
67      d                                     like(xmlAutomataStatePtr)
68      d  am                                 value like(xmlAutomataPtr)
69      d  from                               value like(xmlAutomataStatePtr)
70      d  to                                 value like(xmlAutomataStatePtr)
71      d  token                          *   value options(*string)               const xmlChar *
72      d  token2                         *   value options(*string)               const xmlChar *
73      d  data                           *   value options(*string)               void *
74
75      d xmlAutomataNewNegTrans...
76      d                 pr                  extproc('xmlAutomataNewNegTrans')
77      d                                     like(xmlAutomataStatePtr)
78      d  am                                 value like(xmlAutomataPtr)
79      d  from                               value like(xmlAutomataStatePtr)
80      d  to                                 value like(xmlAutomataStatePtr)
81      d  token                          *   value options(*string)               const xmlChar *
82      d  token2                         *   value options(*string)               const xmlChar *
83      d  data                           *   value options(*string)               void *
84
85      d xmlAutomataNewCountTrans...
86      d                 pr                  extproc('xmlAutomataNewCountTrans')
87      d                                     like(xmlAutomataStatePtr)
88      d  am                                 value like(xmlAutomataPtr)
89      d  from                               value like(xmlAutomataStatePtr)
90      d  to                                 value like(xmlAutomataStatePtr)
91      d  token                          *   value options(*string)               const xmlChar *
92      d  min                          10i 0 value
93      d  max                          10i 0 value
94      d  data                           *   value options(*string)               void *
95
96      d xmlAutomataNewCountTrans2...
97      d                 pr                  extproc('xmlAutomataNewCountTrans2')
98      d                                     like(xmlAutomataStatePtr)
99      d  am                                 value like(xmlAutomataPtr)
100      d  from                               value like(xmlAutomataStatePtr)
101      d  to                                 value like(xmlAutomataStatePtr)
102      d  token                          *   value options(*string)               const xmlChar *
103      d  token2                         *   value options(*string)               const xmlChar *
104      d  min                          10i 0 value
105      d  max                          10i 0 value
106      d  data                           *   value options(*string)               void *
107
108      d xmlAutomataNewOnceTrans...
109      d                 pr                  extproc('xmlAutomataNewOnceTrans')
110      d                                     like(xmlAutomataStatePtr)
111      d  am                                 value like(xmlAutomataPtr)
112      d  from                               value like(xmlAutomataStatePtr)
113      d  to                                 value like(xmlAutomataStatePtr)
114      d  token                          *   value options(*string)               const xmlChar *
115      d  min                          10i 0 value
116      d  max                          10i 0 value
117      d  data                           *   value options(*string)               void *
118
119      d xmlAutomataNewOnceTrans2...
120      d                 pr                  extproc('xmlAutomataNewOnceTrans2')
121      d                                     like(xmlAutomataStatePtr)
122      d  am                                 value like(xmlAutomataPtr)
123      d  from                               value like(xmlAutomataStatePtr)
124      d  to                                 value like(xmlAutomataStatePtr)
125      d  token                          *   value options(*string)               const xmlChar *
126      d  token2                         *   value options(*string)               const xmlChar *
127      d  min                          10i 0 value
128      d  max                          10i 0 value
129      d  data                           *   value options(*string)               void *
130
131      d xmlAutomataNewAllTrans...
132      d                 pr                  extproc('xmlAutomataNewAllTrans')
133      d                                     like(xmlAutomataStatePtr)
134      d  am                                 value like(xmlAutomataPtr)
135      d  from                               value like(xmlAutomataStatePtr)
136      d  to                                 value like(xmlAutomataStatePtr)
137      d  lax                          10i 0 value
138
139      d xmlAutomataNewEpsilon...
140      d                 pr                  extproc('xmlAutomataNewEpsilon')
141      d                                     like(xmlAutomataStatePtr)
142      d  am                                 value like(xmlAutomataPtr)
143      d  from                               value like(xmlAutomataStatePtr)
144      d  to                                 value like(xmlAutomataStatePtr)
145
146      d xmlAutomataNewCountedTrans...
147      d                 pr                  extproc('xmlAutomataNewCountedTrans')
148      d                                     like(xmlAutomataStatePtr)
149      d  am                                 value like(xmlAutomataPtr)
150      d  from                               value like(xmlAutomataStatePtr)
151      d  to                                 value like(xmlAutomataStatePtr)
152      d  counter                      10i 0 value
153
154      d xmlAutomataNewCounterTrans...
155      d                 pr                  extproc('xmlAutomataNewCounterTrans')
156      d                                     like(xmlAutomataStatePtr)
157      d  am                                 value like(xmlAutomataPtr)
158      d  from                               value like(xmlAutomataStatePtr)
159      d  to                                 value like(xmlAutomataStatePtr)
160      d  counter                      10i 0 value
161
162      d xmlAutomataNewCounter...
163      d                 pr            10i 0 extproc('xmlAutomataNewCounter')
164      d  am                                 value like(xmlAutomataPtr)
165      d  min                          10i 0 value
166      d  max                          10i 0 value
167
168      d xmlAutomataCompile...
169      d                 pr                  extproc('xmlAutomataCompile')
170      d                                     like(xmlRegexpPtr)
171      d  am                                 value like(xmlAutomataPtr)
172
173      d xmlAutomataIsDeterminist...
174      d                 pr            10i 0 extproc('xmlAutomataIsDeterminist')
175      d  am                                 value like(xmlAutomataPtr)
176
177       /endif                                                                    AUTOMATA_ENABLED
178       /endif                                                                    LIBXML_REGEXP_ENABLD
179       /endif                                                                    XML_AUTOMATA_H__