Проверка языка с помощью xstate - PullRequest
0 голосов
/ 11 марта 2020

У меня есть следующая диаграмма состояний, которая служит для проверки соответствия строки формату. state diagram

Я хотел бы воссоздать этот язык, соответствующий fsm в xstate. Машина должна вернуть true для ac, abc, abbbbbc et c и в противном случае false . Он должен иметь точно такой же вывод, что и выражение регулярного выражения string.match(/^ab*c$/) !== null;

В настоящее время у меня есть следующее:

const machine = Machine({
    initial: 'start',
    states: {
        start: {
            on: {A: 'state1'}
        },
        state1: {
            on: {
                B: 'state1',
                C: 'end'
            }
        },
        end: {}
    }
});

Есть ли способ через действия и контекст, который я могу проверить, соответствует ли строка этот язык через него достигает состояния end .

Конечно, я мог бы просто использовать регулярные выражения, но я упростил задачу для решения этого вопроса. Фактический язык, который я хочу проанализировать, не является регулярным и требует pda / context. Я просто хочу знать структуру использования xstate для разбора языка / строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...