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>