Prev: 29154 Up: Map Next: 29230
29171: Inglish: Match Clause Pairs
Tries several pairs of clause bytes. One pattern returns 1 and another returns 0. Which dictionary words those pairs stand for is unconfirmed.
Inglish_MatchClausePairs 29171 PUSH DE Compare the first pair.
29172 PUSH HL
29173 PUSH IY
29175 CALL Inglish_CompareOneClausePair
29178 JR NZ,Inglish_MatchClausePairs_Done Jump to Inglish_MatchClausePairs_Done if that pair did not match.
29180 LD A,1 Mark the low byte of the class being matched.
29182 LD (46815),A
29185 CALL Inglish_CompareOneClausePair Compare the next pair.
29188 JR NZ,Inglish_MatchClausePairs_Shift Jump to Inglish_MatchClausePairs_Shift if that pair did not match.
29190 CALL Inglish_CompareOneClausePair Compare a third pair.
29193 LD A,0 Jump to Inglish_MatchClausePairs_Done with zero when the third pair matches.
29195 JR Z,Inglish_MatchClausePairs_Done
Inglish_MatchClausePairs_Shift 29197 POP IY Move the parser pointer on 4 bytes.
29199 POP HL
29200 PUSH HL
29201 PUSH IY
29203 LD DE,4
29206 ADD IY,DE
29208 INC HL Move the text pointer on two bytes.
29209 INC HL
29210 CALL Inglish_CompareOneClausePair Compare the shifted pair.
29213 JR NZ,Inglish_MatchClausePairs_Done Jump to Inglish_MatchClausePairs_Done if that pair did not match.
29215 LD DE,65532 Move the parser pointer back 4 bytes.
29218 ADD IY,DE
29220 CALL Inglish_CompareOneClausePair Compare the pair at the restored window.
29223 LD A,1 Return 1 for this pattern.
Inglish_MatchClausePairs_Done 29225 POP IY Restore IY, HL and DE from the stack.
29227 POP HL
29228 POP DE
29229 RET Return.
View the equivalent code in;
Prev: 29154 Up: Map Next: 29230