block method
Implementation
Parser<BlockNode> block() =>
seq6(
ref0(blockLabel).optionalWith(const <String>[]),
ref0(blockConst).optionalWith(const <ConstantDefinitionNode>[]),
ref0(blockType).optionalWith(const <TypeDefinitionNode>[]),
ref0(blockVar).optionalWith(const <VariableDeclarationNode>[]),
[ref0(blockProcedure), ref0(blockFunction)].toChoiceParser().star(),
ref0(blockStatement),
).map6(
(labels, constants, types, variables, subroutines, statement) =>
BlockNode(
labels: labels,
constants: constants,
types: types,
variables: variables,
subroutines: subroutines,
statement: statement,
),
);