Path: blob/master/venv/Lib/site-packages/lxml/includes/libxml/xmlautomata.h
811 views
/*1* Summary: API to build regexp automata2* Description: the API to build regexp automata3*4* Copy: See Copyright for the status of this software.5*6* Author: Daniel Veillard7*/89#ifndef __XML_AUTOMATA_H__10#define __XML_AUTOMATA_H__1112#include <libxml/xmlversion.h>13#include <libxml/tree.h>1415#ifdef LIBXML_REGEXP_ENABLED16#ifdef LIBXML_AUTOMATA_ENABLED17#include <libxml/xmlregexp.h>1819#ifdef __cplusplus20extern "C" {21#endif2223/**24* xmlAutomataPtr:25*26* A libxml automata description, It can be compiled into a regexp27*/28typedef struct _xmlAutomata xmlAutomata;29typedef xmlAutomata *xmlAutomataPtr;3031/**32* xmlAutomataStatePtr:33*34* A state int the automata description,35*/36typedef struct _xmlAutomataState xmlAutomataState;37typedef xmlAutomataState *xmlAutomataStatePtr;3839/*40* Building API41*/42XMLPUBFUN xmlAutomataPtr XMLCALL43xmlNewAutomata (void);44XMLPUBFUN void XMLCALL45xmlFreeAutomata (xmlAutomataPtr am);4647XMLPUBFUN xmlAutomataStatePtr XMLCALL48xmlAutomataGetInitState (xmlAutomataPtr am);49XMLPUBFUN int XMLCALL50xmlAutomataSetFinalState (xmlAutomataPtr am,51xmlAutomataStatePtr state);52XMLPUBFUN xmlAutomataStatePtr XMLCALL53xmlAutomataNewState (xmlAutomataPtr am);54XMLPUBFUN xmlAutomataStatePtr XMLCALL55xmlAutomataNewTransition (xmlAutomataPtr am,56xmlAutomataStatePtr from,57xmlAutomataStatePtr to,58const xmlChar *token,59void *data);60XMLPUBFUN xmlAutomataStatePtr XMLCALL61xmlAutomataNewTransition2 (xmlAutomataPtr am,62xmlAutomataStatePtr from,63xmlAutomataStatePtr to,64const xmlChar *token,65const xmlChar *token2,66void *data);67XMLPUBFUN xmlAutomataStatePtr XMLCALL68xmlAutomataNewNegTrans (xmlAutomataPtr am,69xmlAutomataStatePtr from,70xmlAutomataStatePtr to,71const xmlChar *token,72const xmlChar *token2,73void *data);7475XMLPUBFUN xmlAutomataStatePtr XMLCALL76xmlAutomataNewCountTrans (xmlAutomataPtr am,77xmlAutomataStatePtr from,78xmlAutomataStatePtr to,79const xmlChar *token,80int min,81int max,82void *data);83XMLPUBFUN xmlAutomataStatePtr XMLCALL84xmlAutomataNewCountTrans2 (xmlAutomataPtr am,85xmlAutomataStatePtr from,86xmlAutomataStatePtr to,87const xmlChar *token,88const xmlChar *token2,89int min,90int max,91void *data);92XMLPUBFUN xmlAutomataStatePtr XMLCALL93xmlAutomataNewOnceTrans (xmlAutomataPtr am,94xmlAutomataStatePtr from,95xmlAutomataStatePtr to,96const xmlChar *token,97int min,98int max,99void *data);100XMLPUBFUN xmlAutomataStatePtr XMLCALL101xmlAutomataNewOnceTrans2 (xmlAutomataPtr am,102xmlAutomataStatePtr from,103xmlAutomataStatePtr to,104const xmlChar *token,105const xmlChar *token2,106int min,107int max,108void *data);109XMLPUBFUN xmlAutomataStatePtr XMLCALL110xmlAutomataNewAllTrans (xmlAutomataPtr am,111xmlAutomataStatePtr from,112xmlAutomataStatePtr to,113int lax);114XMLPUBFUN xmlAutomataStatePtr XMLCALL115xmlAutomataNewEpsilon (xmlAutomataPtr am,116xmlAutomataStatePtr from,117xmlAutomataStatePtr to);118XMLPUBFUN xmlAutomataStatePtr XMLCALL119xmlAutomataNewCountedTrans (xmlAutomataPtr am,120xmlAutomataStatePtr from,121xmlAutomataStatePtr to,122int counter);123XMLPUBFUN xmlAutomataStatePtr XMLCALL124xmlAutomataNewCounterTrans (xmlAutomataPtr am,125xmlAutomataStatePtr from,126xmlAutomataStatePtr to,127int counter);128XMLPUBFUN int XMLCALL129xmlAutomataNewCounter (xmlAutomataPtr am,130int min,131int max);132133XMLPUBFUN xmlRegexpPtr XMLCALL134xmlAutomataCompile (xmlAutomataPtr am);135XMLPUBFUN int XMLCALL136xmlAutomataIsDeterminist (xmlAutomataPtr am);137138#ifdef __cplusplus139}140#endif141142#endif /* LIBXML_AUTOMATA_ENABLED */143#endif /* LIBXML_REGEXP_ENABLED */144145#endif /* __XML_AUTOMATA_H__ */146147148