File: star.cc

package info (click to toggle)
flexc%2B%2B 2.17.01-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 7,180 kB
  • sloc: cpp: 6,467; makefile: 148; sh: 130; ansic: 18
file content (19 lines) | stat: -rw-r--r-- 496 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "fpattern.ih"

FPattern FPattern::star(States &states, FPattern const &fpattern)
{
    Pair pair = states.next2();     // create new Start/Final states

        // fpattern's end connects to fpattern begin and the new FINAL state.
    states[fpattern.end()] = State(EMPTY, fpattern.begin(), pair.second);
    
        // new Start state connects to fpattern begin + end
    states[pair.first] = State(EMPTY, fpattern.begin(), pair.second);

    FPattern ret(pair);

    return ret;
}