ºñ±³ Ç÷¯±×Àο¡¼´Â »ç¿ëÀÚ ÀÚ½ÅÀÇ ÄÁÅÙÃ÷ Ç¥½Ã±â¸¦ ±¸ÇöÇϱâ À§ÇÑ ½ÇÁúÀûÀÎ Áö¿øÀ» Á¦°øÇÕ´Ï´Ù.
ContentMergeViewer´Â 2°³ÀÇ ÄÁÅÙÃ÷ ¿µ¿ªÀÌ ³ª¶õÈ÷ ÀÖ°í °øÅë »óÀ§(3¹æÇâ ºñ±³¿ë)¿¡ ´ëÇÑ ¼±ÅÃÀû ÄÁÅÙÃ÷ ¿µ¿ªÀÌ ÀÖ´Â Ãß»óÀûÀÎ ºñ±³ ¹× º´ÇÕ Ç¥½Ã±âÀÔ´Ï´Ù. ±¸Çö¿¡¼´Â ÄÁÅÙÃ÷ À¯Çü¿¡ ´ëÇÑ °¡Á¤À» ÇÏÁö ¾Ê±â ¶§¹®¿¡ ƯÁ¤ À¯ÇüÀ» ó¸®ÇÏ´Â °ÍÀº ¼ºêŬ·¡½ºÀÇ Ã¥ÀÓÀÔ´Ï´Ù. org.eclipse.compare.internalÀÇ ImageMergeViewer¿¡¼´Â ContentMergeViewer¸¦ »ç¿ëÇÏ¿© À̹ÌÁö¿¡ ´ëÇÑ °£´ÜÇÑ º´ÇÕ Ç¥½Ã±â¸¦ ±¸ÇöÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. ÄÁÅÙÃ÷ º´ÇÕ Ç¥½Ã±â´Â IMergeViewerContentProvider ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ¾ß ÇÏ´Â ÄÁÅÙÃ÷ Á¦°øÀÚ¸¦ ÅëÇØ ÇØ´ç ¸ðµ¨¿¡ ¾×¼¼½ºÇÕ´Ï´Ù.
TextMergeViewer´Â ÅØ½ºÆ® ÄÁÅÙÃ÷¸¦ ºñ±³ ¹× º´ÇÕÇϱâ À§ÇÑ ContentMergeViewerÀÇ ±¸Ã¼ÀûÀΠǥÁØ ¼ºêŬ·¡½ºÀÔ´Ï´Ù. ÅØ½ºÆ® º´ÇÕ Ç¥½Ã±â¿¡¼´Â RangeDifferencer¸¦ »ç¿ëÇÏ¿© 2°³ ¶Ç´Â 3°³ÀÇ ÀÔ·Â ¹®¼¸¦ Çະ·Î ÅØ½ºÆ® ºñ±³¸¦ ¼öÇàÇÕ´Ï´Ù. ¼·Î ´Ù¸¥ ÅØ½ºÆ® ÇàÀÇ °æ¿ì TextMergeViewer¿¡¼´Â ITokenComparator¸¦ »ç¿ëÇÏ¿© ÀÏÄ¡ÇÏ´Â ÅäÅ«°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â ÅäÅ«ÀÇ °¡Àå ±ä ¼ø¼¸¦ ã½À´Ï´Ù. TextMergeViewerÀÇ ±âº» ÅäÅ« ºñ±³´Â °ø¹éÀ¸·Î ±¸ºÐµÈ ¹®ÀÚ¿¡¼ ÀÛµ¿ÇÕ´Ï´Ù. ´Ù¸¥ °èȹÀÌ ÇÊ¿äÇÒ °æ¿ì(¿¹¸¦ µé¾î, Java ÀÎ½Ä º´ÇÕ Ç¥½Ã±âÀÇ Java ÅäÅ«) Ŭ¶óÀÌ¾ðÆ®´Â ITokenComparator ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ¿© ÀÚü ÅäÅ« ºñ±³±â¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. TextMergeViewer´Â Àüü ¹®¼¿Í ¹®¼ÀÇ ÇÏÀ§ ¹üÀ§¿¡¼ ÀÛµ¿ÇÕ´Ï´Ù. ÀϺΠ¹®¼ÀÇ °æ¿ì Ç¥½Ã±âÀÇ ÀÔ·ÂÀº IDocument ´ë½Å IDocumentRange¿©¾ß ÇÕ´Ï´Ù.
RangeDifferencer´Â ÀÏÄ¡ÇÏ´Â ºñ±³ °¡´ÉÇÑ ¿£Æ¼Æ¼¿Í ÀÏÄ¡ÇÏÁö ¾Ê´Â ºñ±³ °¡´ÉÇÑ ¿£Æ¼Æ¼ÀÇ °¡Àå ±ä ¼ø¼¸¦ ã½À´Ï´Ù. ÇØ´ç ±¸ÇöÀº ÆÄÀÏ ºñ±³ ÇÁ·Î±×·¥(ÀÛ¼ºÀÚ: Webb Miller ¹× Eugene W. Myers, Software Practice and Experience, º¼·ý 15, 1985³â 11¿ù)¿¡¼ ¼³¸íÇÑ ¿ÀºêÁ§Æ®ÈµÈ ¹öÀüÀÇ ¾Ë°í¸®ÁòÀ» ±âÁØÀ¸·Î ÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â IRangeComparator ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀ¸·Î Â÷º°±â¿¡°Ô ÀÔ·ÂÀ» Á¦°øÇØ¾ß ÇÕ´Ï´Ù. IRangeComparator´Â ÀÔ·Â µ¥ÀÌÅ͸¦ ¿£Æ¼Æ¼ÀÇ ¼ø¼·Î ¼¼ºÐÇϰí ÇÑ ¿£Æ¼Æ¼¸¦ ´Ù¸¥ IRangeComparatorÀÇ ¿£Æ¼Æ¼¿Í ºñ±³Çϱâ À§ÇÑ ¸Þ¼Òµå¸¦ Á¦°øÇÕ´Ï´Ù.
¿¹¸¦ µé¾î, µÎ °³ÀÇ ÅØ½ºÆ® ¹®¼¸¦ ºñ±³Çϰí ÀÏÄ¡ÇÏ´Â Çà°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â ÇàÀÇ °¡Àå ±ä °øÅë ¼ø¼¸¦ ã±â À§ÇØ IRangeComparatorÀÇ ±¸Çö¿¡¼ ¹®¼¸¦ ÇàÀ¸·Î ¼¼ºÐÇÏ°í µÎ ÇàÀÌ °°ÀºÁö Å×½ºÆ®Çϱâ À§ÇÑ ¸Þ¼Òµå¸¦ Á¦°øÇÕ´Ï´Ù. À̸¦ ¼öÇàÇÒ ¼ö ÀÖ´Â ¹æ¹ý ¿¹Á¦´Â org.eclipse.compare.internal.DocLineComparator¸¦ ÂüÁ¶ÇϽʽÿÀ.
Â÷º°±â¿¡¼´Â ÀÌ ¼ø¼ »çÀÌÀÇ Â÷À̸¦ RangeDifference ¿ÀºêÁ§Æ®ÀÇ ¹è¿·Î ¸®ÅÏÇÕ´Ï´Ù. ¸ðµç ´ÜÀÏ RangeDifference¿¡¼´Â Â÷ÀÌ Á¾·ù(º¯°æ ¾øÀ½, º¯°æ, Ãß°¡, »èÁ¦)¿Í µÎ °³³ª ¼¼ °³ÀÇ ÀÔ·ÂÀÇ ±âº»ÀÌ µÇ´Â ºñ±³ °¡´ÉÇÑ ¿£Æ¼Æ¼ÀÇ ÇØ´ç ¹üÀ§¸¦ ¼³¸íÇÕ´Ï´Ù.