~a-j-delaney/libamore/cunit-dev

« back to all changes in this revision

Viewing changes to src/libAMoRE/nfa2mnfa_sol.h

  • Committer: buraq
  • Date: 2004-04-16 17:04:28 UTC
  • Revision ID: vcs-imports@canonical.com-20040416170428-ko6l3kyx1c5jyrll
initial

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/** \file nfam2nfa_sol.h
 
2
 *  \brief more additional stuff
 
3
 *  Copyright (c) ?    - 2000 Lehrstuhl fuer Informatik VII, RWTH Aachen
 
4
 *  Copyright (c) 2000 - 2002 Burak Emir
 
5
 *  This file is part of the libAMoRE library.
 
6
 *
 
7
 *  libAMoRE is  free software; you can redistribute it and/or
 
8
 *  modify it under the terms of the GNU Lesser General Public
 
9
 *  License as published by the Free Software Foundation; either
 
10
 *  version 2.1 of the License, or (at your option) any later version.
 
11
 *  You should have received a copy of the GNU Lesser General Public
 
12
 *  License along with the GNU C Library; if not, write to the Free
 
13
 *  Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 
14
 *  02111-1307 USA.  
 
15
 */
 
16
#ifndef _NFA2MNFA_SOL_H
 
17
#define _NFA2MNFA_SOL_H
 
18
 
 
19
#include "nfa.h"
 
20
#include "nfa2mnfa_types.h"
 
21
 
 
22
/* this procedure tries to find a nfa result with less states than f and  
 
23
 * L(result)==L(na) (see nfamnfa.c). This is done by searching for a      
 
24
 * minimal closed cover as a subset of the grids.                         
 
25
 * @param delta Delta of the fundamental table
 
26
 * @param version true iff calculation with rows, false if with cols
 
27
 * This is only relevant for the automaton  
 
28
 * to be returned.                          
 
29
 * et cetera...
 
30
 */
 
31
 
 
32
nfa calc_sol(
 
33
ptset** delta,   
 
34
boole version,   
 
35
 
 
36
gridlist fI,
 
37
gridlist fII, /* Pointer to grids; fI->info is the first  */
 
38
                 /* grid and fII->info the first non-        */
 
39
                 /* essential grid.                          */
 
40
posint G,
 
41
posint N,
 
42
posint R,
 
43
posint MAXI, /* G is the number of grids;               */
 
44
                 /* N is the number of essential grids;      */
 
45
                 /* R=GITTER-NECESSARY;                      */
 
46
                 /* MAXI is the number of states of the best  */
 
47
                 /* automaton so far - 1.                    */
 
48
nfa f,           /* f is the minimal dfa with additional     */
 
49
                 /* initial states.                          */
 
50
ptset i_gr,
 
51
ptset f_gr) ; /* Testelem(i,i_gr) iff grid i considered   */
 
52
                 /* as a state of the fundamental table is   */
 
53
                 /* an initial state.                        */
 
54
                 /* Testelem(i,f_gr) iff grid i considered   */
 
55
                 /* as a state of the fundamental table is a */
 
56
                 /* final state.                             */
 
57
 
 
58
 
 
59
#endif