Skip to content

Latest commit

 

History

History
11 lines (6 loc) · 1.93 KB

File metadata and controls

11 lines (6 loc) · 1.93 KB

Этот код реализует конечный автомат (finite state machine, FSM) на языке C++. Вот его функционал:

  1. Определение класса State, представляющего состояние автомата. У состояния есть уникальный идентификатор _id и флаг _isTerminal, указывающий, является ли состояние терминальным.

  2. Определение класса TransitionFunction, представляющего функцию перехода между состояниями. Она содержит начальное состояние _from, конечное состояние _to и триггер _trigger.

  3. Определение класса Automata, представляющего сам конечный автомат. Он содержит вектор состояний _states, вектор переходных функций _functions, алфавит _alphabet, начальное состояние _initialState и текущее состояние _currentState. Он также имеет методы для выполнения переходов по входным символам (triggerTransition) и чтения последовательности входных символов (Read).

  4. В функции main создаются объекты состояний, переходных функций и автомата. Затем передается строка символов для чтения, преобразуемая в вектор символов, и проверяется, может ли автомат прочитать эту строку.

В данном конкретном случае автомат читает строку "bbabbbbabab" и возвращает true, если строка принимается, и false в противном случае.