Abstract syntax: Tipo implemented + general refactor + begin Subprogram