(root)/
gettext-0.22.4/
libtextstyle/
lib/
libxml/
xmlautomata.in.h
       1  /* libxml2 - Library for parsing XML documents
       2   * Copyright (C) 2006-2019 Free Software Foundation, Inc.
       3   *
       4   * This file is not part of the GNU gettext program, but is used with
       5   * GNU gettext.
       6   *
       7   * The original copyright notice is as follows:
       8   */
       9  
      10  /*
      11   * Copyright (C) 1998-2012 Daniel Veillard.  All Rights Reserved.
      12   *
      13   * Permission is hereby granted, free of charge, to any person obtaining a copy
      14   * of this software and associated documentation files (the "Software"), to deal
      15   * in the Software without restriction, including without limitation the rights
      16   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      17   * copies of the Software, and to permit persons to whom the Software is fur-
      18   * nished to do so, subject to the following conditions:
      19   *
      20   * The above copyright notice and this permission notice shall be included in
      21   * all copies or substantial portions of the Software.
      22   *
      23   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      24   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
      25   * NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
      26   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      27   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
      28   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
      29   * THE SOFTWARE.
      30   *
      31   * Author: Daniel Veillard
      32   */
      33  
      34  /*
      35   * Summary: API to build regexp automata
      36   * Description: the API to build regexp automata
      37   */
      38  
      39  #ifndef __XML_AUTOMATA_H__
      40  #define __XML_AUTOMATA_H__
      41  
      42  #include <libxml/xmlversion.h>
      43  #include <libxml/tree.h>
      44  
      45  #ifdef LIBXML_REGEXP_ENABLED
      46  #ifdef LIBXML_AUTOMATA_ENABLED
      47  #include <libxml/xmlregexp.h>
      48  
      49  #ifdef __cplusplus
      50  extern "C" {
      51  #endif
      52  
      53  /**
      54   * xmlAutomataPtr:
      55   *
      56   * A libxml automata description, It can be compiled into a regexp
      57   */
      58  typedef struct _xmlAutomata xmlAutomata;
      59  typedef xmlAutomata *xmlAutomataPtr;
      60  
      61  /**
      62   * xmlAutomataStatePtr:
      63   *
      64   * A state int the automata description,
      65   */
      66  typedef struct _xmlAutomataState xmlAutomataState;
      67  typedef xmlAutomataState *xmlAutomataStatePtr;
      68  
      69  /*
      70   * Building API
      71   */
      72  XMLPUBFUN xmlAutomataPtr XMLCALL
      73  		    xmlNewAutomata		(void);
      74  XMLPUBFUN void XMLCALL
      75  		    xmlFreeAutomata		(xmlAutomataPtr am);
      76  
      77  XMLPUBFUN xmlAutomataStatePtr XMLCALL
      78  		    xmlAutomataGetInitState	(xmlAutomataPtr am);
      79  XMLPUBFUN int XMLCALL
      80  		    xmlAutomataSetFinalState	(xmlAutomataPtr am,
      81  						 xmlAutomataStatePtr state);
      82  XMLPUBFUN xmlAutomataStatePtr XMLCALL
      83  		    xmlAutomataNewState		(xmlAutomataPtr am);
      84  XMLPUBFUN xmlAutomataStatePtr XMLCALL
      85  		    xmlAutomataNewTransition	(xmlAutomataPtr am,
      86  						 xmlAutomataStatePtr from,
      87  						 xmlAutomataStatePtr to,
      88  						 const xmlChar *token,
      89  						 void *data);
      90  XMLPUBFUN xmlAutomataStatePtr XMLCALL
      91  		    xmlAutomataNewTransition2	(xmlAutomataPtr am,
      92  						 xmlAutomataStatePtr from,
      93  						 xmlAutomataStatePtr to,
      94  						 const xmlChar *token,
      95  						 const xmlChar *token2,
      96  						 void *data);
      97  XMLPUBFUN xmlAutomataStatePtr XMLCALL
      98                      xmlAutomataNewNegTrans	(xmlAutomataPtr am,
      99  						 xmlAutomataStatePtr from,
     100  						 xmlAutomataStatePtr to,
     101  						 const xmlChar *token,
     102  						 const xmlChar *token2,
     103  						 void *data);
     104  
     105  XMLPUBFUN xmlAutomataStatePtr XMLCALL
     106  		    xmlAutomataNewCountTrans	(xmlAutomataPtr am,
     107  						 xmlAutomataStatePtr from,
     108  						 xmlAutomataStatePtr to,
     109  						 const xmlChar *token,
     110  						 int min,
     111  						 int max,
     112  						 void *data);
     113  XMLPUBFUN xmlAutomataStatePtr XMLCALL
     114  		    xmlAutomataNewCountTrans2	(xmlAutomataPtr am,
     115  						 xmlAutomataStatePtr from,
     116  						 xmlAutomataStatePtr to,
     117  						 const xmlChar *token,
     118  						 const xmlChar *token2,
     119  						 int min,
     120  						 int max,
     121  						 void *data);
     122  XMLPUBFUN xmlAutomataStatePtr XMLCALL
     123  		    xmlAutomataNewOnceTrans	(xmlAutomataPtr am,
     124  						 xmlAutomataStatePtr from,
     125  						 xmlAutomataStatePtr to,
     126  						 const xmlChar *token,
     127  						 int min,
     128  						 int max,
     129  						 void *data);
     130  XMLPUBFUN xmlAutomataStatePtr XMLCALL
     131  		    xmlAutomataNewOnceTrans2	(xmlAutomataPtr am,
     132  						 xmlAutomataStatePtr from,
     133  						 xmlAutomataStatePtr to,
     134  						 const xmlChar *token,
     135  						 const xmlChar *token2,
     136  						 int min,
     137  						 int max,
     138  						 void *data);
     139  XMLPUBFUN xmlAutomataStatePtr XMLCALL
     140  		    xmlAutomataNewAllTrans	(xmlAutomataPtr am,
     141  						 xmlAutomataStatePtr from,
     142  						 xmlAutomataStatePtr to,
     143  						 int lax);
     144  XMLPUBFUN xmlAutomataStatePtr XMLCALL
     145  		    xmlAutomataNewEpsilon	(xmlAutomataPtr am,
     146  						 xmlAutomataStatePtr from,
     147  						 xmlAutomataStatePtr to);
     148  XMLPUBFUN xmlAutomataStatePtr XMLCALL
     149  		    xmlAutomataNewCountedTrans	(xmlAutomataPtr am,
     150  						 xmlAutomataStatePtr from,
     151  						 xmlAutomataStatePtr to,
     152  						 int counter);
     153  XMLPUBFUN xmlAutomataStatePtr XMLCALL
     154  		    xmlAutomataNewCounterTrans	(xmlAutomataPtr am,
     155  						 xmlAutomataStatePtr from,
     156  						 xmlAutomataStatePtr to,
     157  						 int counter);
     158  XMLPUBFUN int XMLCALL
     159  		    xmlAutomataNewCounter	(xmlAutomataPtr am,
     160  						 int min,
     161  						 int max);
     162  
     163  XMLPUBFUN xmlRegexpPtr XMLCALL
     164  		    xmlAutomataCompile		(xmlAutomataPtr am);
     165  XMLPUBFUN int XMLCALL
     166  		    xmlAutomataIsDeterminist	(xmlAutomataPtr am);
     167  
     168  #ifdef __cplusplus
     169  }
     170  #endif
     171  
     172  #endif /* LIBXML_AUTOMATA_ENABLED */
     173  #endif /* LIBXML_REGEXP_ENABLED */
     174  
     175  #endif /* __XML_AUTOMATA_H__ */