home *** CD-ROM | disk | FTP | other *** search
-
- [FILCOM.CNV]
- [Harold V. McIntosh, 26 January 1984]
-
- [[Compare FILE.ONE with FILE.TWO, report differences.]]
-
-
-
- [first line, file 1]
- (()()(0)(
- ((PWS,a: )(or),);
- (<:Z:>,(v,(T)));
- ((and,;[insert],<0>),(0)(I,(T)(!)(T)(!)(T))):
- ((and,;[delete],<0>),(0)(D,(O)(!)(O)(!)(O))):
- ((and,;[change],<0>),(0)(G,(O))):
- (<0>,(b,(T))):
- )) a
-
- [first line, file 2]
- (()()(1)(
- (<:Z:>,(u,<0>));
- (<0><>,(A)(O));
- (<1>,(c,(O)));
- )) b
-
- [second line, file 1]
- (()()(2)(
- (<:Z:>,(0)(1)(v,(T)));
- (<1><>,(0)(C));
- (<2>,(d,(T)));
- )) c
-
- [second line, file 2]
- (()()(3)(
- (<:Z:>,(0)(1)(u,<2>));
- (<0><>,(1)(B)<2>);
- (<2><>,(0)(1)(C));
- (<3>,(e,(O)));
- )) d
-
- [third line, file 1]
- (()()(4)(
- (<:Z:>,(2)(3)(v,(T)));
- (<1><>,(2)(B)(x,(O)(!)<3>));
- (<3><>,(2)(1)(C));
- (<4>,(f,(T)));
- )) e
-
- [one line each already read]
- (()()(0 1)(
- (<0><:&:><0>,(A)(O));
- (<0><:&:><1>,(c,(O)));
- )) x
-
- [third line, file 2]
- (()()(5)(
- (<:Z:>,(2)(3)(u,<4>));
- (<0><>,(3)(B)(y,<2>(!)(T)(!)<4>(!)(T)));
- (<2><>,(0)(3)(B)(x,<4>(!)(T)));
- (<4><>,(2)(3)(C));
- (<5>,(g,(O)));
- )) f
-
- [two lines each already read]
- (()()(0 1 2 3)(
- (<0><:&:><0><:&:><1><:&:><1>,(A)(A)(O));
- (<2><:&:><2><:&:><0><:&:><1>,(A)(x,<0>(!)<1>));
- (<0><:&:><1><:&:><1><:&:><3>,(0)(B)(x,(O)(!)<3>));
- (<0><:&:><1><:&:><2><:&:><0>,(1)(B)(x,<2>(!)(T)));
- (<0><:&:><1><:&:><2><:&:><3>,(e,(O)));
- )) y
-
- [fourth line, file 1]
- (()()(6)(
- (<:Z:>,(4)(5)(v,(T)));
- (<1><>,(4)(|)(y,(O)(!)(O)(!)<3>(!)<5>));
- (<3><>,(4)(1)(|)(x,(O)(!)<5>));
- (<5><>,(4)(3)(C));
- (<6>,(h,(T)));
- )) g
-
- [fourth line, file 2]
- (()()(7)(
- (<:Z:>,(4)(5)(u,<6>));
- (<0><>,(5)(|)(z,<2>(!)(T)(!)<4>(!)(T)(!)<6>(!)(T)));
- (<2><>,(0)(5)(|)(y,<4>(!)(T)(!)<6>(!)(T)));
- (<4><>,(2)(5)(B)<6>);
- (<6><>,(4)(5)(C));
- (<7>,(i,(O)));
- )) h
-
- [three lines each already read]
- (()()(0 1 2 3 4 5)(
- (<0><:&:><0><:&:><1><:&:><1><:&:><2><:&:><2>,(A)(A)(A)(O));
- (<2><:&:><2><:&:><3><:&:><3><:&:><0><:&:><1>,(A)(A)(c,(O)));
- (<4><:&:><4><:&:><0><:&:><1><:&:><2><:&:><3>,(A)(f,(O)));
- (<0><:&:><1><:&:><1><:&:><3>,(0)(B)(x,(O)(!)<3>));
- (<0><:&:><1><:&:><2><:&:><0>,(1)(B)(x,<2>(!)(T)));
- (<0><:&:><1><:&:><2><:&:><3>,(e,(O)));
- )) z
-
- [fifth line, file 1]
- (()()(8)(
- (<:Z:>,(6)(7)(v,(T)));
- (<1><>,(6)(|)(z,(O)(!)<3>(!)(O)(!)<5>(!)(O)(!)<7>));
- (<3><>,(6)(1)(|)(y,(O)(!)(O)(!)<5>(!)<7>));
- (<5><>,(6)(3)(|)(x,(O)(!)<7>));
- (<7><>,(6)(5)(C));
- (<8>,(0)(1)(|)(j,<2>(!)<3>(!)<4>(!)<5>(!)<6>(!)<7>));
- )) i
-
- (()()(0 1 2 3 4 5)(
- (<0><:&:><1><:&:><2><:&:><3><:&:><4><:&:><5>,(g,<8>));
- )) j
-
- [known deletion - define synchronizing lines]
- (()()(3 4 5)(
- (<3><:&:><4><:&:><5>,(E,(T)(!)(T)(!)(T)));
- )) D
-
- [known deletion - test three lines]
- (()()(0 1 2)(
- (<3><:&:><4><:&:><5><>,(A)(A)(C));
- (<1><:&:><0><:&:><2>,(1)<0>(!)<2>(!)(T)):
- )) E
-
- [known change - find end, then delete]
- (()()(0)(
- ((and,;[endchange],<0>),(0)(|)(D,(O)(!)(O)(!)(O)));
- (<0>,(0)(O)):
- )) G
-
- [known insertion - define synchronizing lines]
- (()()(3 4 5)(
- (<3><:&:><4><:&:><5>,(J,(O)(!)(O)(!)(O)));
- )) I
-
- [known insertion - test three lines]
- (()()(0 1 2)(
- (<3><:&:><4><:&:><5><>,(A)(A)(C));
- (<0><:&:><1><:&:><2>,(0)<1>(!)<2>(!)(O)):
- )) J
-
- (()()(0)(
- (<:Z:>,(^Z));
- (<0>,(0)(O)):
- )) u
-
- (()()(1)(
- (<:Z:>,(^Z));
- (<1>,(1)(T)):
- )) v
-
- [main program]
- ((
- ((^MJ)) &
- (<-->(^Z)) Z
- )(
- ((%R,<9>.ONE)) O
- ((%R,<9>.TWO)) T
- ((,(%R,CTR:F1)(%R,CTR:F2))) A
- ((|)(A)) B
- ((B)(O)) C
- (<9>.DIF<,>File 1<,> Line (%R,CTR:F1): ) o
- (<9>.DIF<,>File 2<,> Line (%R,CTR:F2): ) t
- ((%W,<9>.DIF<,>(%|))) |
- ((^MJ)) !
- ((%W,(o)<0>(%|))) 0
- ((%W,(t)<1>(%|))) 1
- ((0)(%W,(o)<2>(%|))) 2
- ((1)(%W,(t)<3>(%|))) 3
- ((2)(%W,(o)<4>(%|))) 4
- ((3)(%W,(t)<5>(%|))) 5
- ((4)(%W,(o)<6>(%|))) 6
- ((5)(%W,(t)<7>(%|))) 7
- )(9)(
- (<9>(or, ,.,<>),<<
- >>(%Or,<9>.ONE)<<
- >>(%Or,<9>.TWO)<<
- >>(%Ow,<9>.DIF)<<
- >>(%Or,CTR:F1)<<
- >>(%Or,CTR:F2)<<
- >>(%W,CTR:F1,0,1)<<
- >>(%W,CTR:F2,0,1)<<
- >>(a,(O))<<
- >>(%E));
- ))
-
- [end]
-