====== SUB ====== [pet] [vic20] [c64] [c16] [cplus4] [c128] [x16] [m65] The ''SUB'' keyword starts a subroutine block. ===== Syntax ===== SUB ([ AS [, AS ]...]) [OVERLOAD] [PRIVATE|SHARED] [STATIC] END SUB * must be a valid [[syntax#identifiers|identifer]] * The argument list is optional, but the parenthesis ''()'' must be included * The ''OVERLOAD'' keyword must be given if the function overloads another function with the same name * If the subroutine is defined in a [[TYPE]] block, the ''PRIVATE'' keyword indicates that the subroutine may only be called from within that TYPE block. * The ''SHARED'' keyword indicates that the function is visible from within other code modules * The ''STATIC'' keyword indicates that no stack frame is allocated on each subroutine call. See [[subroutines#static_vs_dynamic]] ===== See also ===== * [[v3:subroutines|]] * [[v3:functions|]]