Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private:
- void epsilon_closure() {
- eps_closure.insert(this);
- stack <State*> states_stack;
- states_stack.push(this);
- while (!states_stack.empty()) {
- State* curr_state = states_stack.top();
- states_stack.pop();
- map<char, vector<State*> >::iterator iter = transitions.begin();
- if(iter != transitions.end())
- for (State* s : iter->second)
- eps_closure.insert(s->get_epsilon_closure().begin(), s->get_epsilon_closure().end());
- }
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement