code: protected AstNode parseCreateProcedure( DdlTokenStream tokens,
                                              AstNode parentNode ) throws ParsingException {
          assert tokens != null;
          assert parentNode != null;
  
          markStartOfStatement(tokens);
  
          tokens.consume(CREATE, "PROCEDURE");
  
          String functionName = parseName(tokens);
  
          AstNode functionNode = nodeFactory().node(functionName, parentNode, TYPE_CREATE_PROCEDURE_STATEMENT);
  
          parseUntilTerminator(tokens);
          markEndOfStatement(tokens, functionNode);
  
          return functionNode;
      }
docs: Parses DDL CREATE PROCEDURE statement
  
  @param tokens the tokenized {@link DdlTokenStream} of the DDL input content; may not be null
  @param parentNode the parent {@link AstNode} node; may not be null
  @return the parsed CREATE PROCEDURE statement node
  @throws ParsingException