view regexParser/subsetConstraction.h @ 175:3be0fbcd4b52 pairPro

implement createTransitionGenerator
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Tue, 22 Dec 2015 20:27:26 +0900
parents cca8bb5aeded
children d97bcab546e8
line wrap: on
line source

#include "transition.h"
#define INIT_STATE_BIT 0
#define END_STATE_BIT 63
typedef struct stateStack {
    BitVector state;
    struct stateStack *next;
} StateStack, *StateStackPtr;

typedef struct transitionGenerator {
    TransitionPtr ts;
    long stateMax;
    StateStack stack;
    StatePtr state;
    TransitionPtr transitionList;
    StatePtr stateArray;
    StatePtr stateArrayLast;
    StatePtr currentState;
    StatePtr nextState;
} TransitionGenerator, *TransitionGeneratorPtr;

typedef struct tgValue {
    TransitionPtr ts;
    bool asterisk;
    TransitionGeneratorPtr tg;
} TGValue, *TGValuePtr;

typedef struct charClassStack {
    bool left;
    CharClassPtr cc;
    struct charClassStack *next;
} CharClassStack, *CharClassStackPtr;

typedef struct charClassWalker {
    CharClassStack stack;
    CharClassPtr next;
} CharClassWalker, *CharClassWalkerPtr;

CharClassPtr charClassMerge(CharClassPtr cc,unsigned long begin, unsigned long end, BitVector nextState);