blockStatement method
Implementation
Parser<CompoundStatementNode> blockStatement() =>
seq3(
ref1(token, 'begin'),
ref0(statement)
.plusSeparated(ref1(token, ';'))
.map((sep) => sep.elements),
ref1(token, 'end'),
).map3((_, stmts, _) {
final list = stmts.where((s) => s is! EmptyStatementNode).toList();
return CompoundStatementNode(statements: list.isEmpty ? stmts : list);
});