________________________________________________________________________________ # EXAMPLE #1 INPUT: 123 BEFORE we call parse_int(…): 123ABC ↑ *a_pos RETURN value from parse_int(…): true After parse_int(…) returns: 123 ↑ *a_pos refers to null terminator just after the integer literal. element.type == ELEMENT_INT element.value == 123 ________________________________________________________________________________ # EXAMPLE #2 INPUT: 123ABC BEFORE we call parse_int(…): 123ABC ↑ *a_pos RETURN value from parse_int(…): true After parse_int(…) returns: 123ABC ↑ *a_pos refers to the non-digit character after the integer literal. element.type == ELEMENT_INT element.value == 123 ________________________________________________________________________________ # EXAMPLE #3 INPUT: -A1 BEFORE we call parse_int(…): -A1 ↑ *a_pos RETURN value from parse_int(…): false After parse_int(…) returns: -A1 ↑ *a_pos refers first character that informed us this cannot be an integer literal. element.type == (don't care) element.value == (don't care)