![]() |
Routines |
| Prev: 60810 | Up: Map | Next: 60910 |
|
Used by the routines at JumpTable and ScanInputSpaces.
Jump-table target JumpTable_AdvanceInputPointer: advance InputBuffer_TokenStart / InputBuffer_NextToken through InputBuffer. Skips a leading
THE via Token_THE, then leaves ParserState_TokenDelimiter holding the delimiter that ended the token.
|
||||
| AdvanceInputPointer | 60847 | LD HL,(23463) | Fetch the current token and compare it with end-of-line. | |
| 60850 | LD A,(HL) | |||
| 60851 | CP 13 | |||
| 60853 | RET Z | Return if the current token is already at end-of-line. | ||
| 60854 | LD HL,(23465) | Promote InputBuffer_NextToken to InputBuffer_TokenStart and test for an empty token. | ||
| 60857 | LD (23463),HL | |||
| 60860 | LD A,(HL) | |||
| 60861 | LD (23467),A | |||
| 60864 | CP 13 | |||
| 60866 | RET Z | Return if that token is empty. | ||
| AdvanceInputPointer_Scan | 60867 | INC HL | Jump to AdvanceInputPointer_Store at end-of-line or a quote. | |
| 60868 | LD A,(HL) | |||
| 60869 | CP 13 | |||
| 60871 | JR Z,AdvanceInputPointer_Store | |||
| 60873 | CP 34 | Jump to AdvanceInputPointer_Store on a quote. | ||
| 60875 | JR Z,AdvanceInputPointer_Store | |||
| 60877 | CP 32 | Keep scanning until a space. | ||
| 60879 | JR NZ,AdvanceInputPointer_Scan | |||
| AdvanceInputPointer_SkipSpaces | 60881 | INC HL | Skip any run of spaces. | |
| 60882 | LD A,(HL) | |||
| 60883 | CP 32 | |||
| 60885 | JR Z,AdvanceInputPointer_SkipSpaces | |||
| AdvanceInputPointer_Store | 60887 | LD (23468),A | Store the delimiter and next-token pointer; require 3 matching characters for "THE". | |
| 60890 | LD (23465),HL | |||
| 60893 | LD A,3 | |||
| 60895 | LD (23460),A | |||
| 60898 | LD HL,(23463) | Skip a leading "THE" via Token_THE. | ||
| 60901 | LD DE,64420 | |||
| 60904 | CALL CompareTokenToWord | |||
| 60907 | JR NC,AdvanceInputPointer | |||
| 60909 | RET | Return if "THE" was not skipped. | ||
| Prev: 60810 | Up: Map | Next: 60910 |