我想在xstate中重新创建与fsm匹配的语言。机器应为ac
,abc
,abbbbbc
等返回 true ,否则返回 false 。它的输出应与正则表达式string.match(/^ab*c$/) !== null;
我目前有以下内容:
const machine = Machine({
initial: 'start',
states: {
start: {
on: {A: 'state1'}
},
state1: {
on: {
B: 'state1',
C: 'end'
}
},
end: {}
}
});
有没有一种通过动作和上下文的方式,我可以检查字符串是否通过到达 end 状态的语言与该语言fsm相匹配。
我当然可以只使用正则表达式,但是出于这个问题的目的,我已经简化了该问题。我要解析的实际语言不是常规语言,需要pda /上下文。我只想知道使用xstate进行语言/字符串解析的结构。