Home | History | Annotate | Download | only in libxmlrpg
      1       * Summary: API to build regexp automata
      2       * Description: the API to build regexp automata
      3       *
      4       * Copy: See Copyright for the status of this software.
      5       *
      6       * Author: Patrick Monnerat <pm (a] datasphere.ch>, DATASPHERE S.A.
      7 
      8       /if not defined(XML_AUTOMATA_H__)
      9       /define XML_AUTOMATA_H__
     10 
     11       /include "libxmlrpg/xmlversion"
     12 
     13       /if defined(LIBXML_REGEXP_ENABLED)
     14       /if defined(LIBXML_AUTOMATA_ENABLED)
     15 
     16       /include "libxmlrpg/xmlTypesC"
     17       /include "libxmlrpg/tree"
     18       /include "libxmlrpg/xmlregexp"
     19 
     20       * xmlAutomataPtr:
     21       *
     22       * A libxml automata description, It can be compiled into a regexp
     23 
     24      d xmlAutomataPtr  s               *   based(######typedef######)
     25 
     26       * xmlAutomataStatePtr:
     27       *
     28       * A state int the automata description,
     29 
     30      d xmlAutomataStatePtr...
     31      d                 s               *   based(######typedef######)
     32 
     33       * Building API
     34 
     35      d xmlNewAutomata  pr                  extproc('xmlNewAutomata')
     36      d                                     like(xmlAutomataPtr)
     37 
     38      d xmlFreeAutomata...
     39      d                 pr                  extproc('xmlFreeAutomata')
     40      d  am                                 value like(xmlAutomataPtr)
     41 
     42      d xmlAutomataGetInitState...
     43      d                 pr                  extproc('xmlAutomataGetInitState')
     44      d                                     like(xmlAutomataStatePtr)
     45      d  am                                 value like(xmlAutomataPtr)
     46 
     47      d xmlAutomataSetFinalState...
     48      d                 pr                  extproc('xmlAutomataSetFinalState')
     49      d                                     like(xmlCint)
     50      d  am                                 value like(xmlAutomataPtr)
     51      d  state                              value like(xmlAutomataStatePtr)
     52 
     53      d xmlAutomataNewState...
     54      d                 pr                  extproc('xmlAutomataNewState')
     55      d                                     like(xmlAutomataStatePtr)
     56      d  am                                 value like(xmlAutomataPtr)
     57 
     58      d xmlAutomataNewTransition...
     59      d                 pr                  extproc('xmlAutomataNewTransition')
     60      d                                     like(xmlAutomataStatePtr)
     61      d  am                                 value like(xmlAutomataPtr)
     62      d  from                               value like(xmlAutomataStatePtr)
     63      d  to                                 value like(xmlAutomataStatePtr)
     64      d  token                          *   value options(*string)               const xmlChar *
     65      d  data                           *   value options(*string)               void *
     66 
     67      d xmlAutomataNewTransition2...
     68      d                 pr                  extproc('xmlAutomataNewTransition2')
     69      d                                     like(xmlAutomataStatePtr)
     70      d  am                                 value like(xmlAutomataPtr)
     71      d  from                               value like(xmlAutomataStatePtr)
     72      d  to                                 value like(xmlAutomataStatePtr)
     73      d  token                          *   value options(*string)               const xmlChar *
     74      d  token2                         *   value options(*string)               const xmlChar *
     75      d  data                           *   value options(*string)               void *
     76 
     77      d xmlAutomataNewNegTrans...
     78      d                 pr                  extproc('xmlAutomataNewNegTrans')
     79      d                                     like(xmlAutomataStatePtr)
     80      d  am                                 value like(xmlAutomataPtr)
     81      d  from                               value like(xmlAutomataStatePtr)
     82      d  to                                 value like(xmlAutomataStatePtr)
     83      d  token                          *   value options(*string)               const xmlChar *
     84      d  token2                         *   value options(*string)               const xmlChar *
     85      d  data                           *   value options(*string)               void *
     86 
     87      d xmlAutomataNewCountTrans...
     88      d                 pr                  extproc('xmlAutomataNewCountTrans')
     89      d                                     like(xmlAutomataStatePtr)
     90      d  am                                 value like(xmlAutomataPtr)
     91      d  from                               value like(xmlAutomataStatePtr)
     92      d  to                                 value like(xmlAutomataStatePtr)
     93      d  token                          *   value options(*string)               const xmlChar *
     94      d  min                                value like(xmlCint)
     95      d  max                                value like(xmlCint)
     96      d  data                           *   value options(*string)               void *
     97 
     98      d xmlAutomataNewCountTrans2...
     99      d                 pr                  extproc('xmlAutomataNewCountTrans2')
    100      d                                     like(xmlAutomataStatePtr)
    101      d  am                                 value like(xmlAutomataPtr)
    102      d  from                               value like(xmlAutomataStatePtr)
    103      d  to                                 value like(xmlAutomataStatePtr)
    104      d  token                          *   value options(*string)               const xmlChar *
    105      d  token2                         *   value options(*string)               const xmlChar *
    106      d  min                                value like(xmlCint)
    107      d  max                                value like(xmlCint)
    108      d  data                           *   value options(*string)               void *
    109 
    110      d xmlAutomataNewOnceTrans...
    111      d                 pr                  extproc('xmlAutomataNewOnceTrans')
    112      d                                     like(xmlAutomataStatePtr)
    113      d  am                                 value like(xmlAutomataPtr)
    114      d  from                               value like(xmlAutomataStatePtr)
    115      d  to                                 value like(xmlAutomataStatePtr)
    116      d  token                          *   value options(*string)               const xmlChar *
    117      d  min                                value like(xmlCint)
    118      d  max                                value like(xmlCint)
    119      d  data                           *   value options(*string)               void *
    120 
    121      d xmlAutomataNewOnceTrans2...
    122      d                 pr                  extproc('xmlAutomataNewOnceTrans2')
    123      d                                     like(xmlAutomataStatePtr)
    124      d  am                                 value like(xmlAutomataPtr)
    125      d  from                               value like(xmlAutomataStatePtr)
    126      d  to                                 value like(xmlAutomataStatePtr)
    127      d  token                          *   value options(*string)               const xmlChar *
    128      d  token2                         *   value options(*string)               const xmlChar *
    129      d  min                                value like(xmlCint)
    130      d  max                                value like(xmlCint)
    131      d  data                           *   value options(*string)               void *
    132 
    133      d xmlAutomataNewAllTrans...
    134      d                 pr                  extproc('xmlAutomataNewAllTrans')
    135      d                                     like(xmlAutomataStatePtr)
    136      d  am                                 value like(xmlAutomataPtr)
    137      d  from                               value like(xmlAutomataStatePtr)
    138      d  to                                 value like(xmlAutomataStatePtr)
    139      d  lax                                value like(xmlCint)
    140 
    141      d xmlAutomataNewEpsilon...
    142      d                 pr                  extproc('xmlAutomataNewEpsilon')
    143      d                                     like(xmlAutomataStatePtr)
    144      d  am                                 value like(xmlAutomataPtr)
    145      d  from                               value like(xmlAutomataStatePtr)
    146      d  to                                 value like(xmlAutomataStatePtr)
    147 
    148      d xmlAutomataNewCountedTrans...
    149      d                 pr                  extproc('xmlAutomataNewCountedTrans')
    150      d                                     like(xmlAutomataStatePtr)
    151      d  am                                 value like(xmlAutomataPtr)
    152      d  from                               value like(xmlAutomataStatePtr)
    153      d  to                                 value like(xmlAutomataStatePtr)
    154      d  counter                            value like(xmlCint)
    155 
    156      d xmlAutomataNewCounterTrans...
    157      d                 pr                  extproc('xmlAutomataNewCounterTrans')
    158      d                                     like(xmlAutomataStatePtr)
    159      d  am                                 value like(xmlAutomataPtr)
    160      d  from                               value like(xmlAutomataStatePtr)
    161      d  to                                 value like(xmlAutomataStatePtr)
    162      d  counter                            value like(xmlCint)
    163 
    164      d xmlAutomataNewCounter...
    165      d                 pr                  extproc('xmlAutomataNewCounter')
    166      d                                     like(xmlCint)
    167      d  am                                 value like(xmlAutomataPtr)
    168      d  min                                value like(xmlCint)
    169      d  max                                value like(xmlCint)
    170 
    171      d xmlAutomataCompile...
    172      d                 pr                  extproc('xmlAutomataCompile')
    173      d                                     like(xmlRegexpPtr)
    174      d  am                                 value like(xmlAutomataPtr)
    175 
    176      d xmlAutomataIsDeterminist...
    177      d                 pr                  extproc('xmlAutomataIsDeterminist')
    178      d                                     like(xmlCint)
    179      d  am                                 value like(xmlAutomataPtr)
    180 
    181       /endif                                                                    AUTOMATA_ENABLED
    182       /endif                                                                    LIBXML_REGEXP_ENABLD
    183       /endif                                                                    XML_AUTOMATA_H__
    184