File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / include / libxml / xmlautomata.h
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 19:53:38 2014 UTC (10 years, 3 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, HEAD
libxml2 2.9.1

    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__ */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>