mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2026-01-29 23:42:18 +03:00
Synchronized the header files with the library code in order to assure that all the various conditionals (LIBXML_xxxx_ENABLED) were the same in both. Modified the API database content to more accurately reflect the conditionals. Enhanced the generation of that database. Although there was no substantial change to any of the library code's logic, a large number of files were modified to achieve the above, and the configuration script was enhanced to do some automatic enabling of features (e.g. --with-xinclude forces --with-xpath). Additionally, all the format errors discovered by apibuild.py were corrected. * configure.in: enhanced cross-checking of options * doc/apibuild.py, doc/elfgcchack.xsl, doc/libxml2-refs.xml, doc/libxml2-api.xml, gentest.py: changed the usage of the <cond> element in module descriptions * elfgcchack.h, testapi.c: regenerated with proper conditionals * HTMLparser.c, SAX.c, globals.c, tree.c, xmlschemas.c, xpath.c, testSAX.c: cleaned up conditionals * include/libxml/[SAX.h, SAX2.h, debugXML.h, encoding.h, entities.h, hash.h, parser.h, parserInternals.h, schemasInternals.h, tree.h, valid.h, xlink.h, xmlIO.h, xmlautomata.h, xmlreader.h, xpath.h]: synchronized the conditionals with the corresponding module code * doc/examples/tree2.c, doc/examples/xpath1.c, doc/examples/xpath2.c: added additional conditions required for compilation * doc/*.html, doc/html/*.html: rebuilt the docs
139 lines
3.7 KiB
C
139 lines
3.7 KiB
C
/*
|
|
* Summary: API to build regexp automata
|
|
* Description: the API to build regexp automata
|
|
*
|
|
* Copy: See Copyright for the status of this software.
|
|
*
|
|
* Author: Daniel Veillard
|
|
*/
|
|
|
|
#ifndef __XML_AUTOMATA_H__
|
|
#define __XML_AUTOMATA_H__
|
|
|
|
#include <libxml/xmlversion.h>
|
|
#include <libxml/tree.h>
|
|
|
|
#ifdef LIBXML_REGEXP_ENABLED
|
|
#ifdef LIBXML_AUTOMATA_ENABLED
|
|
#include <libxml/xmlregexp.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* xmlAutomataPtr:
|
|
*
|
|
* A libxml automata description, It can be compiled into a regexp
|
|
*/
|
|
typedef struct _xmlAutomata xmlAutomata;
|
|
typedef xmlAutomata *xmlAutomataPtr;
|
|
|
|
/**
|
|
* xmlAutomataStatePtr:
|
|
*
|
|
* A state int the automata description,
|
|
*/
|
|
typedef struct _xmlAutomataState xmlAutomataState;
|
|
typedef xmlAutomataState *xmlAutomataStatePtr;
|
|
|
|
/*
|
|
* Building API
|
|
*/
|
|
XMLPUBFUN xmlAutomataPtr XMLCALL
|
|
xmlNewAutomata (void);
|
|
XMLPUBFUN void XMLCALL
|
|
xmlFreeAutomata (xmlAutomataPtr am);
|
|
|
|
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
|
xmlAutomataGetInitState (xmlAutomataPtr am);
|
|
XMLPUBFUN int XMLCALL
|
|
xmlAutomataSetFinalState (xmlAutomataPtr am,
|
|
xmlAutomataStatePtr state);
|
|
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
|
xmlAutomataNewState (xmlAutomataPtr am);
|
|
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
|
xmlAutomataNewTransition (xmlAutomataPtr am,
|
|
xmlAutomataStatePtr from,
|
|
xmlAutomataStatePtr to,
|
|
const xmlChar *token,
|
|
void *data);
|
|
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
|
xmlAutomataNewTransition2 (xmlAutomataPtr am,
|
|
xmlAutomataStatePtr from,
|
|
xmlAutomataStatePtr to,
|
|
const xmlChar *token,
|
|
const xmlChar *token2,
|
|
void *data);
|
|
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
|
xmlAutomataNewCountTrans (xmlAutomataPtr am,
|
|
xmlAutomataStatePtr from,
|
|
xmlAutomataStatePtr to,
|
|
const xmlChar *token,
|
|
int min,
|
|
int max,
|
|
void *data);
|
|
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
|
xmlAutomataNewCountTrans2 (xmlAutomataPtr am,
|
|
xmlAutomataStatePtr from,
|
|
xmlAutomataStatePtr to,
|
|
const xmlChar *token,
|
|
const xmlChar *token2,
|
|
int min,
|
|
int max,
|
|
void *data);
|
|
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
|
xmlAutomataNewOnceTrans (xmlAutomataPtr am,
|
|
xmlAutomataStatePtr from,
|
|
xmlAutomataStatePtr to,
|
|
const xmlChar *token,
|
|
int min,
|
|
int max,
|
|
void *data);
|
|
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
|
xmlAutomataNewOnceTrans2 (xmlAutomataPtr am,
|
|
xmlAutomataStatePtr from,
|
|
xmlAutomataStatePtr to,
|
|
const xmlChar *token,
|
|
const xmlChar *token2,
|
|
int min,
|
|
int max,
|
|
void *data);
|
|
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
|
xmlAutomataNewAllTrans (xmlAutomataPtr am,
|
|
xmlAutomataStatePtr from,
|
|
xmlAutomataStatePtr to,
|
|
int lax);
|
|
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
|
xmlAutomataNewEpsilon (xmlAutomataPtr am,
|
|
xmlAutomataStatePtr from,
|
|
xmlAutomataStatePtr to);
|
|
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
|
xmlAutomataNewCountedTrans (xmlAutomataPtr am,
|
|
xmlAutomataStatePtr from,
|
|
xmlAutomataStatePtr to,
|
|
int counter);
|
|
XMLPUBFUN xmlAutomataStatePtr XMLCALL
|
|
xmlAutomataNewCounterTrans (xmlAutomataPtr am,
|
|
xmlAutomataStatePtr from,
|
|
xmlAutomataStatePtr to,
|
|
int counter);
|
|
XMLPUBFUN int XMLCALL
|
|
xmlAutomataNewCounter (xmlAutomataPtr am,
|
|
int min,
|
|
int max);
|
|
|
|
XMLPUBFUN xmlRegexpPtr XMLCALL
|
|
xmlAutomataCompile (xmlAutomataPtr am);
|
|
XMLPUBFUN int XMLCALL
|
|
xmlAutomataIsDeterminist (xmlAutomataPtr am);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* LIBXML_AUTOMATA_ENABLED */
|
|
#endif /* LIBXML_REGEXP_ENABLED */
|
|
|
|
#endif /* __XML_AUTOMATA_H__ */
|