home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol167 / filcom.cnv < prev    next >
Encoding:
Text File  |  1984-04-29  |  3.8 KB  |  190 lines

  1.  
  2. [FILCOM.CNV]
  3. [Harold V. McIntosh, 26 January 1984]
  4.  
  5. [[Compare FILE.ONE with FILE.TWO, report differences.]]
  6.  
  7.  
  8.  
  9. [first line, file 1]
  10. (()()(0)(
  11.     ((PWS,a: )(or),);
  12.     (<:Z:>,(v,(T)));
  13.     ((and,;[insert],<0>),(0)(I,(T)(!)(T)(!)(T))):
  14.     ((and,;[delete],<0>),(0)(D,(O)(!)(O)(!)(O))):
  15.     ((and,;[change],<0>),(0)(G,(O))):
  16.     (<0>,(b,(T))):
  17.   )) a
  18.  
  19. [first line, file 2]
  20. (()()(1)(
  21.     (<:Z:>,(u,<0>));
  22.     (<0><>,(A)(O));
  23.     (<1>,(c,(O)));
  24.   )) b
  25.  
  26. [second line, file 1]
  27. (()()(2)(
  28.     (<:Z:>,(0)(1)(v,(T)));
  29.     (<1><>,(0)(C));
  30.     (<2>,(d,(T)));
  31.   )) c
  32.  
  33. [second line, file 2]
  34. (()()(3)(
  35.     (<:Z:>,(0)(1)(u,<2>));
  36.     (<0><>,(1)(B)<2>);
  37.     (<2><>,(0)(1)(C));
  38.     (<3>,(e,(O)));
  39.   )) d
  40.  
  41. [third line, file 1]
  42. (()()(4)(
  43.     (<:Z:>,(2)(3)(v,(T)));
  44.     (<1><>,(2)(B)(x,(O)(!)<3>));
  45.     (<3><>,(2)(1)(C));
  46.     (<4>,(f,(T)));
  47.   )) e
  48.  
  49. [one line each already read]
  50. (()()(0 1)(
  51.     (<0><:&:><0>,(A)(O));
  52.     (<0><:&:><1>,(c,(O)));
  53.   )) x
  54.  
  55. [third line, file 2]
  56. (()()(5)(
  57.     (<:Z:>,(2)(3)(u,<4>));
  58.     (<0><>,(3)(B)(y,<2>(!)(T)(!)<4>(!)(T)));
  59.     (<2><>,(0)(3)(B)(x,<4>(!)(T)));
  60.     (<4><>,(2)(3)(C));
  61.     (<5>,(g,(O)));
  62.   )) f
  63.  
  64. [two lines each already read]
  65. (()()(0 1 2 3)(
  66.     (<0><:&:><0><:&:><1><:&:><1>,(A)(A)(O));
  67.     (<2><:&:><2><:&:><0><:&:><1>,(A)(x,<0>(!)<1>));
  68.     (<0><:&:><1><:&:><1><:&:><3>,(0)(B)(x,(O)(!)<3>));
  69.     (<0><:&:><1><:&:><2><:&:><0>,(1)(B)(x,<2>(!)(T)));
  70.     (<0><:&:><1><:&:><2><:&:><3>,(e,(O)));
  71.   )) y
  72.  
  73. [fourth line, file 1]
  74. (()()(6)(
  75.     (<:Z:>,(4)(5)(v,(T)));
  76.     (<1><>,(4)(|)(y,(O)(!)(O)(!)<3>(!)<5>));
  77.     (<3><>,(4)(1)(|)(x,(O)(!)<5>));
  78.     (<5><>,(4)(3)(C));
  79.     (<6>,(h,(T)));
  80.   )) g
  81.  
  82. [fourth line, file 2]
  83. (()()(7)(
  84.     (<:Z:>,(4)(5)(u,<6>));
  85.     (<0><>,(5)(|)(z,<2>(!)(T)(!)<4>(!)(T)(!)<6>(!)(T)));
  86.     (<2><>,(0)(5)(|)(y,<4>(!)(T)(!)<6>(!)(T)));
  87.     (<4><>,(2)(5)(B)<6>);
  88.     (<6><>,(4)(5)(C));
  89.     (<7>,(i,(O)));
  90.   )) h
  91.  
  92. [three lines each already read]
  93. (()()(0 1 2 3 4 5)(
  94.     (<0><:&:><0><:&:><1><:&:><1><:&:><2><:&:><2>,(A)(A)(A)(O));
  95.     (<2><:&:><2><:&:><3><:&:><3><:&:><0><:&:><1>,(A)(A)(c,(O)));
  96.     (<4><:&:><4><:&:><0><:&:><1><:&:><2><:&:><3>,(A)(f,(O)));
  97.     (<0><:&:><1><:&:><1><:&:><3>,(0)(B)(x,(O)(!)<3>));
  98.     (<0><:&:><1><:&:><2><:&:><0>,(1)(B)(x,<2>(!)(T)));
  99.     (<0><:&:><1><:&:><2><:&:><3>,(e,(O)));
  100.   )) z
  101.  
  102. [fifth line, file 1]
  103. (()()(8)(
  104.     (<:Z:>,(6)(7)(v,(T)));
  105.     (<1><>,(6)(|)(z,(O)(!)<3>(!)(O)(!)<5>(!)(O)(!)<7>));
  106.     (<3><>,(6)(1)(|)(y,(O)(!)(O)(!)<5>(!)<7>));
  107.     (<5><>,(6)(3)(|)(x,(O)(!)<7>));
  108.     (<7><>,(6)(5)(C));
  109.     (<8>,(0)(1)(|)(j,<2>(!)<3>(!)<4>(!)<5>(!)<6>(!)<7>));
  110.   )) i
  111.  
  112. (()()(0 1 2 3 4 5)(
  113.     (<0><:&:><1><:&:><2><:&:><3><:&:><4><:&:><5>,(g,<8>));
  114.   )) j
  115.  
  116. [known deletion - define synchronizing lines]
  117. (()()(3 4 5)(
  118.     (<3><:&:><4><:&:><5>,(E,(T)(!)(T)(!)(T)));
  119.   )) D
  120.  
  121. [known deletion - test three lines]
  122. (()()(0 1 2)(
  123.     (<3><:&:><4><:&:><5><>,(A)(A)(C));
  124.     (<1><:&:><0><:&:><2>,(1)<0>(!)<2>(!)(T)):
  125.   )) E
  126.  
  127. [known change - find end, then delete]
  128. (()()(0)(
  129.     ((and,;[endchange],<0>),(0)(|)(D,(O)(!)(O)(!)(O)));
  130.     (<0>,(0)(O)):
  131.   )) G
  132.  
  133. [known insertion - define synchronizing lines]
  134. (()()(3 4 5)(
  135.     (<3><:&:><4><:&:><5>,(J,(O)(!)(O)(!)(O)));
  136.   )) I
  137.  
  138. [known insertion - test three lines]
  139. (()()(0 1 2)(
  140.     (<3><:&:><4><:&:><5><>,(A)(A)(C));
  141.     (<0><:&:><1><:&:><2>,(0)<1>(!)<2>(!)(O)):
  142.   )) J
  143.  
  144. (()()(0)(
  145.     (<:Z:>,(^Z));
  146.     (<0>,(0)(O)):
  147.   )) u
  148.  
  149. (()()(1)(
  150.     (<:Z:>,(^Z));
  151.     (<1>,(1)(T)):
  152.   )) v
  153.  
  154. [main program]
  155. ((
  156.     ((^MJ)) &
  157.     (<-->(^Z)) Z
  158.   )(
  159.     ((%R,<9>.ONE)) O
  160.     ((%R,<9>.TWO)) T
  161.     ((,(%R,CTR:F1)(%R,CTR:F2))) A
  162.     ((|)(A)) B
  163.     ((B)(O)) C
  164.     (<9>.DIF<,>File 1<,> Line (%R,CTR:F1): ) o
  165.     (<9>.DIF<,>File 2<,> Line (%R,CTR:F2): ) t
  166.     ((%W,<9>.DIF<,>(%|))) |
  167.     ((^MJ)) !
  168.     ((%W,(o)<0>(%|))) 0
  169.     ((%W,(t)<1>(%|))) 1
  170.     ((0)(%W,(o)<2>(%|))) 2
  171.     ((1)(%W,(t)<3>(%|))) 3
  172.     ((2)(%W,(o)<4>(%|))) 4
  173.     ((3)(%W,(t)<5>(%|))) 5
  174.     ((4)(%W,(o)<6>(%|))) 6
  175.     ((5)(%W,(t)<7>(%|))) 7
  176.   )(9)(
  177.     (<9>(or, ,.,<>),<<
  178.         >>(%Or,<9>.ONE)<<
  179.         >>(%Or,<9>.TWO)<<
  180.         >>(%Ow,<9>.DIF)<<
  181.         >>(%Or,CTR:F1)<<
  182.         >>(%Or,CTR:F2)<<
  183.         >>(%W,CTR:F1,0,1)<<
  184.         >>(%W,CTR:F2,0,1)<<
  185.         >>(a,(O))<<
  186.         >>(%E));
  187.   ))
  188.  
  189. [end]
  190.