Token list: Token type: IDENTIFIER Token: procedure Token type: IDENTIFIER Token: main Token type: L_PAREN Token: ( Token type: IDENTIFIER Token: void Token type: R_PAREN Token: ) Token type: L_BRACE Token: { Token type: IDENTIFIER Token: int Token type: IDENTIFIER Token: counter Token type: SEMICOLON Token: ; Token type: IDENTIFIER Token: counter Token type: ASSIGNMENT_OPERATOR Token: = Token type: INTEGER Token: -2 Token type: SEMICOLON Token: ; Token type: IDENTIFIER Token: printf Token type: L_PAREN Token: ( Token type: DOUBLE_QUOTE Token: " Token type: STRING Token: counter = %d\n Token type: DOUBLE_QUOTE Token: " Token type: COMMA Token: , Token type: IDENTIFIER Token: counter Token type: R_PAREN Token: ) Token type: SEMICOLON Token: ; Token type: R_BRACE Token: }