blockProcedure method

Parser<ProcedureNode> blockProcedure()

Implementation

Parser<ProcedureNode> blockProcedure() =>
    seq6(
      ref1(token, 'procedure'),
      ref0(identifier),
      ref0(parameterList).optionalWith(const <FormalParameterNode>[]),
      ref1(token, ';'),
      ref0(block),
      ref1(token, ';'),
    ).map6(
      (_, name, params, _, block, _) => ProcedureNode(
        name: name,
        parameters: params ?? const [],
        block: block,
      ),
    );