216  Appendix D  38 ProcedureHeading  39 Procedureldentification  40 FunctionHeading  "  =  proce  "pro{  "fun(  . ['""  Identifier [FormaIParameterList] .  ·jllre"  Procedureldentifier.  =  41  >n"  Identifier [FormaIParameterList]  ":" j..  ·.llIltType .  42 Functionldentification  43 FormalParameterList  44  =  "func  . '""  Functionldentifier.  "("  FI 'mwlParameterSection  { ";"  h'lrl1lalParameterSection  I  Valuei'arameterSpecification  I  ")"  .  45 FormalParameterSection =  46  47  48  VarilliJleParameterSpecification  I  Prot "dllraIParameterSpecification  I  Funt 'iollalParameterSpecification .  49  50------------------ 51  52 ValueParameterSpecification =  53  Identi/ierList  ":"  (Typeldentifier  I  54  COl/formantArraySchema) .  55 VariableParameterSpecification  =  56  "var"  IdentifierList  ":"  (Typeldentifier  I  57  Cl·.!/(JrmantArraySchema) .  58 ProceduralParameterSpecification  =  59  Proce Il/reHeading .  60 FunctionalParameterSpecification  =  61  Funcr ",rHeading .  62 ConformantArraySchema  =  PackciCtlnformantArraySchema  I  63  Unpul·kedConformantArraySchema.  64 PackedConformantArraySchema  =  65  "packed' ",lfray" "["  IndexTypeSpecification  "]"  66  "of"  Typeldentifier .  67 UnpackedConformantArraySchema =  68  "arra .... ["  IndexTypeSpecification  { ";"  69  70  71lndexTypeSpecification  =  72  73----------------- 74  Ind,  \'1~'peSpecification  I  "]"  "of"  ( TYi  ddent~fier  I  ConformantArraySchema) .  Ident/  i(',.  .... "  Identifier  ":"  OrdinalTypeldentifier.  75 CompoundStatement  76  =  "beg;"  77  78  StatementSequence  79 Statement  80  81  SimpleStatement  82  Stat, II/I'll/Sequence  "end"  =  StateflicllI  {";"  Statement  I  [Lab(/":"  I  ( SimpleStatement  I  StructuredStatement  ) .  =  Empt.' 'itatement  I  AssignmentStatement  I  ProcedureStatement  I  GotoStatement. 