parseStart method
@event Start = v:Rows Eol? @eof() ;
Implementation
List<List<String>>? parseStart(State<String> state) {
beginEvent(CsvParserEvent.startEvent);
List<List<String>>? $0;
// v:Rows Eol? @eof()
final $2 = state.pos;
List<List<String>>? $1;
// Rows
$1 = parseRows(state);
if (state.ok) {
final $3 = state.ignoreErrors;
state.ignoreErrors = true;
// Eol
fastParseEol(state);
state.ignoreErrors = $3;
if (!state.ok) {
state.setOk(true);
}
if (state.ok) {
if (state.pos >= state.input.length) {
state.setOk(true);
} else {
state.fail(const ErrorExpectedEndOfInput());
}
if (state.ok) {
$0 = $1;
}
}
}
if (!state.ok) {
state.backtrack($2);
}
$0 = endEvent<List<List<String>>>(CsvParserEvent.startEvent, $0, state.ok);
return $0;
}