|
| GROW DIAG-AND-FINAL(e2ffle): |
| neighboring = ((−1, 0), (0, −1), (1, 0), (0, 1), |
| (−1, −1), (−1, 1), (1, −1), (1, 1)) |
| alignment = intersect(e2f, f2e); |
| GROW-DIAGQ; FINAL(e2); FINAL(f2); |
| GROW DIAL-ANDQ: |
| iterate until no new points added |
| for English word e = 0, 1, 2…en |
| for Foreign word f = 0, 1, 2…fh |
| if (e aligned with f) |
| for each neighboring point(e-new, f-new): |
| if(e-new not aligned or f-new not aligned)and |
| (e-new, f-new)in union(e2f, f2e)) |
| add alignment point(e-new, f-new) |
| FINAL(a): |
| for English word e-new = 0, 1, 2…en |
| for foreign word f-new = 0…fn |
| if(e-new not aligned or f-new not aligned)and |
| (e-new, f-new)in union(e2f, f2e)) |
| add alignment point(e-new, f-new) |
|