function procedure var at const volatile return asm assembler if then else elsif forever end while loop for bit byte