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