recognize function
Implementation
State recognize(
State state, {
required String position,
required String substring,
}) {
const template = '''
final {{pos}} = {{position}};
var {{tmp}} = false;
{{@state}}
if ({{tmp}}) {
final {{res}} = {{substring}}({{pos}}, {{position}});
{{@accept}}
}
{{@reject}}
''';
const automaton = Automaton(
accept: '{{tmp}} = true;',
reject: '',
result: '{{res}}',
template: template,
);
const generator = AutomatonGenerator(automaton);
final start = generator.generate('String', state, values: {
'position': position,
'substring': substring,
});
return start;
}