××ס××Öž××¢
××× ××¢× ×ַך××ק×, ×××֞ס ××× ×Ö·× ×××עך×××ק ××× × ×Ö·××ך, ××ך ×××¢×× ×€ÖŒ×š××××š× ×Š× ×§××§× ××× ×¢×××¢××¢ ×€×× ââ×× ××ַס×קס ×€×× ×× ×¢×§××׀֌סע ×ַךק×Ö·×עק×שעך ××× ×Ö· ×€ÖŒ××Ö·××€×֞ך××¢ ×€Ö¿×ַך ×× ×× ×× ×Ö·×ך××××× ×Ö·× ××××ק××× × ××ש×ך×× ××× ××¢×× ×Ö·× ×¢×š×©× ××¢××Ö·× ×§ ×€×× ×× ×¢×§××׀֌סע ק×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×××֞ס ××¢× ×¢× ×× ×ס×× ×€×× ×× ××¢×× ×Öž××Öž×××¢ ×€ÖŒ××Ö·××€×֞ך××¢ ×€Ö¿×ַך ×× "× ××Ö· ק×Öž× ×€×××ך×Ö·××֞ך" 1C: ×¢× ×עך׀֌ך×××.
×ק××× ×Š× ×¢×§××׀֌סע ×ַך×ש××עק××ךע
××× ×¡ עךש×עך ק×ק ××× ×¢×××¢××¢ ××¢× ×¢×š×Ö·× ×ַס׀֌עקץ ×€×× ×× ×¢×§××׀֌סע ×ַךק×Ö·×עק×שעך × ××Š× ××¢× ×××ַש׀֌××
עךש×עך ×€×× ×Ö·××¢, עס ××Öž× ×××× ××××¢×š×§× ×Ö·× ×¢×§××׀֌סע ××× ×§×¢×š×ַק×עך×××× ×××š× ×Ö· ׀עך×× ×§××֞ך ×ַךק×Ö·×עק×שעך×Ö·× ×××עך×× ×, ××× ×× ×Š×¢×©××××× × ×€×× ×©×€ÖŒ×š×Ö·×-׀ך××Ö· ×€×Ö·× ×קש×Ö·× ×Ö·×××× ×€×× ×€×Ö·× ×קש×Ö·× ×Ö·×××× ×××××× × ×Š× ×©×××Š× ×¡×€ÖŒ×¢×Š××€×ש ׀֌ך×Öž×ך×Ö·×××× × ×©×€ÖŒ×š×Ö·××, ××× ×× ×Š×¢×©××××× × ×€×× UI-׀ך××Ö· "××ַךץ" ק×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×€×× ×§×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×€Ö¿×ַך××× ××. ××× ×©×××Š× ××Ö·× ×׊עך ׊×××× ×.
××××, ×× Eclipse ×€ÖŒ××Ö·××€×Öž×š× ×××€××× × ×Ö· ׀֌ך×֞ס×, ש׀֌ך×Ö·×-׀ך××Ö· ×× ×€×š×ַס×ך×ַק×שעך, ××× ×× Java ×Ö·× ××××ק××× × ××ש×ך×× ××××× ×Ö· ×€××-×€×××©×¢×š× Java IDE ×Š× Eclipse. ×××××¢ ×× ×¢×§××׀֌סע ×€ÖŒ××Ö·××€×Öž×š× ××× ×× JDT ׊×× ××׀ש××¢×× ××× ×€×× ×¢×××¢××¢ ק×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥, ××¢×עך ×€×× ×××֞ס ××¢××¢×š× ×Š× ×Ö· ××-׀ך××Ö· "××ַךץ" ×Öž×עך ×Ö· ×× ×©××××¢ (×€×××ךע 1).
ך××ס. 1. עק××׀֌סע ×€ÖŒ××Ö·××€×Öž×š× ××× ××ש××
××Öž××ך ךש××× ×× ××××€ÖŒ× ×§×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×€×× ×× Eclipse Platform:
- ך×× ××××¢ - ×××€××× × ×× ×€ÖŒ××××× ×× ×€×š×ַס×ך×ַק×שעך. עק××׀֌סע ××× ×§×¢×š×ַק×עך×××× ×××š× ×Ö· ××Ö·××ש×Ö·×עך ×ַךק×Ö·×עק×שעך. ××¡×¢× ×©×Ö·××, Eclipse ××× ×Ö· ××Ö·×××× × ×€×× "×€×ַך××¢× ×עך×× × ×€×× ×§××" ××× "עקס××¢× ×¡××Öž× ×¡".
- ×××֞ךקס׀֌×ַסע - ××Ö·× ×××ש×× ×××× ×¢×š ×Öž×עך ×עך ׀֌ך×Ö·××שעקס. × ×€ÖŒ×š×××¢×§× ××ש×××× ×€×× ×€×Öž××עךס ××× ×עקעס ×××֞ס ××¢× ×¢× ××Ö·×€ÖŒ× ××××Ö·× ×Š× ×× ×עקע ס×ס××¢×.
- × ×֞ך××Ö·× ×××××ש×× ××ש×ך×× (SWT) - ׀֌ך×Öž××××עס ×קעך××ק ××Ö·× ×׊עך ׊×××× × ×¢××¢××¢× ×× ×× ×Ö·×ך××××× ××× ×× ×֞׀֌עך××××× × ×¡×ס××¢×.
- JFace - ׀֌ך×Öž××××עס ×Ö· × ××עך ×€×× ×× ×€×š×Ö·××¢×××֞ךקס ××¢×××× ××××£ ש׀֌××¥ ×€×× SWT.
- ×××֞ךק××¢× ×ש - ×××€××× × ×× Eclipse UI ×€ÖŒ×ַך×Ö·××××: ךע××ק׊××¢, ק×ק×, ׀֌עךס׀֌עק×××××.
עס ×××× ×××× ××¢××Öž×× ×Ö·× ×× ×¢×§××׀֌סע ×€ÖŒ××Ö·××€×Öž×š× ×××× ××× ×€×××¢ ×× ×עךע × ×׊×ק ק×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×€Ö¿×ַך ×× ×× ×× ×Ö·×ך××××× ×Ö·× ××××ק××× × ××ש×ך××, ×ַך××Ö·× ×עךע×× × ××¢×××, ×€×ַך××××Ö·××, ×××× ××× ××Ö·× ×©×Ö·×€Ö¿×. ס׀֌ע׊××¢××¢ ×עך××Öž× ×¢× ××Öž× ×××× ××¢×××× ×€×× JFace ××¢×§×¡× - ×× ×קעך ×€Ö¿×ַך ×× ×× "ק××× ×š×¢××ק׊××¢" ×€×× ×ק×ך ק×Öž×. ׊×× ××Ö·×××עך×, ××€××× ×Ö· ××עך×××ק ××ך×ק×ק ×€×× ×× ×§×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥, ××× ××¢××× × ××× ×× UI ש××××¢ ק×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥, ××× × ×× ××¢×××¢× ××× ××¢× ×€×Ö·×š× ×¢× ×€×× ××¢× ×ַך××ק×, ×Ö·××× ××× ×× ×š×¢×©× ×€×× ××¢× ×Öž×€ÖŒ×××××× × ××ך ××Ö·××š×¢× ×¢×Š× ××× ×Š× ×Ö·× ×××עך×××ק ×€×× ×× ××××€ÖŒ× "××ַךץ" ק×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×€×× ×× Eclipse Platform ××× JDT.
Core Runtime
×× Eclipse ×€ÖŒ××××× ×× ×€×š×ַס×ך×ַק×שעך ××× ×××××š× ××××£
Core Workspace
×ÖŒ××¢× ×§××× ×× ×Ö·×ך××××× ×Ö·× ××××ק××× × ×¡××××××¢ ××¢×××× ××××£ ש׀֌××¥ ×€×× ×× Eclipse Platform ×ַך××¢× ××× Eclipse ×××֞ךקס׀֌×ַסע. עס ××× ×עך ×××֞ךקס׀֌×ַסע ×××֞ס ×××ש×Ö·×××Ö·×× ×ÖŒ××× ×× ×ק×ך ק×Öž× ×€×× ×× ×Ö·×€ÖŒ××ַק××ש×Ö·× ××¢×××¢××Öž×€ÖŒ×¢× ××× ×× IDE. ×××֞ךקס׀֌×ַסע ××ַ׀֌ס ××××Ö·× ×Š× ×עך ×עקע ס×ס××¢× ××× ××ש×××× ×€×× ×€ÖŒ×š×Ö·××שעקס ×××֞ס ×Ö·× ×××Ö·××× ×€×Öž××עךס ××× ×עקעס. ×× ×€ÖŒ×š×Ö·××שעקס, ×€×Öž××עךס ××× ×עקעס ××¢× ×¢× ×עך××€× ×š×¢×¡××š×¡× ×××֞ךקס׀֌×ַסע. ×× ×××֞ךקס׀֌×ַסע ×××€ÖŒ××Ö·××¢× ×××ש×Ö·× ××× Eclipse סעך××עס ××× ×Ö· ק×ַש ××× ××ַ׊××× × ×Š× ×× ×עקע ס×ס××¢×, ×××֞ס ×××× ×¢×¡ ××¢×××¢× ×Š× ×××××××ק ×€×ַך××××¢×š× ×× ××ך××€×֞ך ×€×× ×× ×××× ××××. ××× ×Ö·××ש×Ö·×, ×××֞ךקס׀֌×ַסע ××× ×Ö· × ××עך ×€×× × ×Öž× ××Ö·××× ×× ×ס, ×ַך××Ö·× ×עךע×× ×
×× ×§×֞ך ךעס×Öž×ךסעס ק×Öž××€ÖŒ×Öž× ×¢× × (org.eclipse.core.resources ×€ÖŒ×××××) ××× ×€×ַך×Ö·× ××××֞ך×××¢× ×€Ö¿×ַך ש×××Š× ×× ×××֞ךקס׀֌×ַסע ××× ×××Ö·× ×š×¢×¡×ךס×. ××× ××Ö·××× ×עך, ××¢× ×§×Öž××€ÖŒ×Öž× ×¢× × ××× ×€ÖŒ×š×Öž×ך×Ö·×××Ö·××ק ×ַקסעס ×Š× ×× ×××֞ךקס׀֌×ַסע ××× ×× ×€×Öž×š×¢× ×××× ××Öž××¢×ס. ×Š× ×ַך××¢×× ×׀עק×××××× ××× ××¢× ××Öž××¢×, ק××××Ö·× ×¥ ××Ö·×š×€Ö¿× ×Ö· ׀֌ש×× ×××¢× ×Š× ×€×֞ךש××¢×× ×Ö· ××× ×§ ×Š× ×Ö· ××××. ××× ××¢× ×€×Ö·×, עס ×××Öž×× ×××× ×××××ך×Ö·××Ö·× ×Š× ××Ö·××Ö·××× ×× ××××€×¢×¥ ×Ö·× ××××Ö·× ×¡××Öž×š× ×× ×©××Ö·× ×€×× ×× ×××× ××× ×× ××Öž××¢× ×€Ö¿×× ×עך ק×××¢× × ×ַקסעס. ×Ö·× ×עךש, ××× ××¢× ×€×Ö·× ×€××, ××ש×, ××ס××¢×§× ×Ö· ×עקע, ×עך ק×××¢× × ×§×¢× ×€×֞ך××¢×Š× ×Š× ××Ö·××× ×Ö· ××××€×¢×¥ ×××֞ס ××× × ×× ×עך ××× ×× ××Öž××¢×, ××× ×× ×€××××¢× ××¢ ׀֌ך×Öž×××¢×ס. Eclipse ס×Ö·×××× ××¢× ×€ÖŒ×š×Öž×××¢× × ××Š× ×¢×€ÖŒ×¢×¡ ×עך××€× ××¢× ×× ××××. ×©×¢×€ÖŒ× ×ק×× ××× ×Ö· ש×××¡× (עס × ×֞ך ×××××¡× ×× ×××¢× ×Š× ×× ×××× ××× ×× ×××֞ךקס׀֌×ַסע) ××× ××֞ך ק×Öž× ×ך×Öž×ס ×ַקסעס ×Š× ×× ×× ×¢×š××¢× ××Öž××¢× ××××€×¢×¥, ×××֞ס ××××Ö·× ×¡××Öž×š× ××× ×€Ö¿×֞ך××ַ׊××¢ ×××¢×× ×× ×©××Ö·× ×€×× ×× ××××. ××¢× ×€ÖŒ××Ö·× ××× ×Ö· ××עך×××ש×Ö·× ×€×× ××¢× ××ס×עך
ך××ס. ×€×××ך 2 ×××ַס×ך×××¥ ×× ×©×¢×€ÖŒ× / ×××£ ××××Öž× ××× ××¢×××¢× ×× ×Š× ×× ×××× ××Öž××¢×. ×× IResource ׊×××× × ×š×¢×€ÖŒ×š×Ö·××¢× ×¥ ×× ×©×¢×€ÖŒ× ×€×× ×Ö· ×××× ××× ××× ×Ö·× ×Ö·×€ÖŒ×, × ×× ×¢× ××¢× ×× ×š×ס×֞ךס ק××ַס, ×××֞ס ×××€ÖŒ××Ö·××Ö·× ×¥ ××¢× ×Š×××× ×, ××× ×× ResourceInfo ק××ַס, ×××֞ס ךע׀֌ך×Ö·××¢× ×¥ ××¢× ×××£, ×××֞ס ××¢× ×¢× × ××©× ×Ö·×€ÖŒ×ס. ××ך ×× ×עךש×ך××Ö·×× ×Ö·× ×©×¢×€ÖŒ× ××××× ×××××¡× ××¢× ×××¢× ×Š× ×× ×××× ×§×֞ךע×× ×Š× ×× ×××Öž×š×Š× ×××Öž×š×Š× ××× ××× × ××©× ×Ö·× ×××Ö·××× ×Ö· ××× ×§ ×Š× ×××× ××× ×€Ö¿×֞ך××ַ׊××¢. ×××× ××× ×€Ö¿×֞ך××ַ׊××¢ ×Ö·×××שעקץ ×€×Öž×š×¢× ×Ö· ×Ö·××× ×עך××€×¢× ×¢ "×¢××¢××¢× × ××××". ×× ××Ö·×× ×¡×ך×ק××ך ××× ××֞ך ××Ö·××ך××Ö·××××× ××× ××֌ך××. ×Š× ××¢×€Ö¿×× ×¢× ×× ×××× ××× ×€Ö¿×֞ך××ַ׊××¢ ×××ַש׀֌×× ×§×֞ך×ַס׀֌×Ö·× ××× × ×Š× ×Ö· שע׀֌×, ×× ×¢××¢××¢× × ×××× ××× ××ך×××¢××× ××¢× ×××× ×× ×××¢× ×¡××Öž×š× ××× ××¢× ×©×¢×€ÖŒ×.
ך××ס. 2. ×ךעס×֞ךס ××× ×š×ס×֞ךס×× ×€×Öž
××× ××ך ×××¢×× ××¢× ×©×€ÖŒ×¢×עך, ×× ×קעך××ק ×€ÖŒ××Ö·× ×€×× ×× ×××× ××Öž××¢× (××ך ×§×¢× ×š××€× ×¢×¡ שע׀֌×-××××ך×) ××× ×××× ××¢× ××Š× ××× Eclipse ×€Ö¿×ַך ×× ×עךע ××Öž××¢×ס. ××׊×, ××Öž×× ××× ×× ×š×©××× ×¢×××¢××¢ ×€×× ââ×× ×֞׀֌ש×××× ××ק ׀֌ך×֞׀֌עך××עס ×€×× ××¢× ×€ÖŒ××Ö·×:
- ×©×¢×€ÖŒ× ××× ×Ö· ×××¢×š× ××××€×¢×¥. ×××¢×š× ×Ö·×××שעקץ ××¢× ×¢× ××××××××Ö·××Ö·× ×Ö·×××שעקץ ×××¢××¢× ×¡ ×ק×××Ö·××Ö·×× ××× × ××©× ×××××š× ××××£ ××××¢× ××××¢×. ×Ö·××Ö· ×Ö·×××שעקץ ×§×¢× ×¢× ×××× ×עש×Öž××¢× ××¢× ××Š× ××× ×Ö· ש×××¡× ××× ××Ö·×©× ×§×Ö·× ×××× ×¢×š×. ק×××€× ×× ×¡××Ö·× ×¡×× ×€×× ×©×¢×€ÖŒ× ×§×¢× ×¢× ×עך××Öž× ×¢× ×× ××¢×××¢ ××××. ×Š× ×€×ַך××××Ö·×× ×××, ××ך ××Ö·×š×€Ö¿× ×Š× × ××Š× ×× ×ק×××Ö·×× (×Öž×××שעק×) ×××€Ö¿×.
- ××Ö·× ×××¢ ×××€××× × ×× × ×Ö·××ך ×€×× ×Ö· ××××, ×Öž×עך ××× × ××©× ×Ö·× ×××Ö·××× ××× ×€Ö¿×֞ך××ַ׊××¢ ×××¢×× ×× ×©××Ö·× ×€×× ×× ×××× (×× ××××× ××Ö·×× ×¢×¡ ס××Öž×š× ××× ×עך "ש××ס×", ×עך ××š× ×Š× ×× ××××).
- ××Ö·× ×××¢ ×§×¢× ×֞׀֌ש××§× ×Š× ×Ö· ×××× ×××֞ס ××× × ××©× ×¢×§×¡×ס×××š× (×Öž×עך ×Ö· ×××× ×××֞ס ××× × ×Öž× × ××©× ××ש××€× ×Öž×עך ×Ö· ×××× ×××֞ס ××× ×©××× ×××ס××¢×עק×). ×× ×¢×§××ס××¢× ×¥ ×€×× ×Ö· ×××× ×§×¢× ×¢× ×××× ×Öž×€ÖŒ×עש××¢×× ××× ×× IResource.exists () ×××€Ö¿×.
- ×¢×××¢××¢ ×ַ׀֌עך××ש×Ö·× × ×§×¢× ×¢× ×××× ×××€ÖŒ××Ö·××¢× ×Ö·× ××××× ×××××š× ××××£ ××× ×€Ö¿×֞ך××ַ׊××¢ ס××Öž×š× ××× ×× ×©×¢×€ÖŒ× ××× (×Ö·××× ×עך××€×¢× ×¢ שע׀֌×-××××× ×ַ׀֌עך××ש×Ö·× ×). ×××ש׀××× ××¢× ×¢× IResource.getParent(), getFullPath(), ×××"× ×. ×עך ×××× ××ַךף × ××©× ×¢×§×¡×ס×××š× ×€Ö¿×ַך ×Ö·××Ö· ×Ö· ×֞׀֌עך×ַ׊××¢ ×Š× ×××× ×עך×Öž××. ×ַ׀֌עך××ש×Ö·× × ×××֞ס ××Ö·×š×€× ×Ö· ×××× ×Š× ×¢×§×¡×ס×××š× ×Š× ×××× ×עך×Öž×× ×××Ö·×š×€× ×Ö· CoreException ×××× ×× ×××× ××× × ××©× ×¢×§×¡×ס××ך×.
עק××׀֌סע ××× ×Ö·× ×¢×€×¢×§×××× ×עק×Ö·× ×××Ö·× ×€Ö¿×ַך × ×Öž×××Ö·×€×ַק××ש×Ö·× ×€×× ×××֞ךקס׀֌×ַסע ×××× ×¢× ×עך×× ××¢× (×€×××ךע 3). ךעס×Öž×ךסעס ×§×¢× ×¢× ××××©× ×Öž×עך ××× ×Ö· ךע×××××Ö·× ×€×× ×ַקש×Ö·× × ××¢××× ××× ×× Eclipse IDE ××× ×Öž×עך ××× ×Ö· ךע×××××Ö·× ×€×× ×¡×× ×קך×Ö·× ×Ö·×××ש×Ö·× ××× ×× ×עקע ס×ס××¢×. ××× ×××××¢ ק×ַסעס, ק××××Ö·× ×¥ ×××֞ס ×Ö·××Öž× ××š× ×Š× × ×Öž×××Ö·×€×ַק××ש×Ö·× × ××¢× ×¢× ×Š××עש××¢×× ××× ××××××× ××× ×€Ö¿×֞ך××ַ׊××¢ ×××¢×× ×× ×¢× ×עך×× ××¢× ××× ×× ×€×Öž×š×¢× ×€×× "×××× ××¢×××ַס". × ××¢×××¢ ××שך×××× ×¢× ×עך×× ××¢× ×Š××××©× ×Š×××× ×©××Ö·×× ×€×× ×Ö· ×××֞ךקס׀֌×ַסע ×××× (ס×Ö·×-) ×××× ××× ××× ××× ×Ö· ××××, ××¢×עך × ×Öž××¢ ×€×× ââ×××֞ס ××שך×××× ×Ö· ×¢× ×עך×× × ×Š× ×Ö· ×××× ××× ×ÖŒ××× ×Ö· ךש××× ×€×× ××¢×××ַס ××× ×עך ××××Ö·×עך ××ך×× ×××֞ס ××ַשך××Ö·×× ×¢× ×עך×× ××¢× ×Š× ×§×× × ×š×¢×¡×ךס×.
ך××ס. 3. IResourceChangeEvent ××× IResourceDelta
×עך ×Öž× ××Öž× ×עק×Ö·× ×××Ö·× ×××××š× ××××£ ×××× ××¢×××ַס ××× ×× ×€××××¢× ××¢ קעך×ַק×עך×ס××קס:
- × ×××× ×¢× ×עך×× × ××× ×€×××¢ ×¢× ×עך×× ××¢× ××¢× ×¢× ××סקך×××× × ××Š× ×× ××¢×××¢ ס×ך×ק××ך, ××× × ×× ××¢×××Ö· ××× ××¢×××× ××× ××¢× ×€ÖŒ×š×× ×Š××€ÖŒ ×€×× ×š×¢×§×ךס××××¢ ××Ö·×¥. ×Ö·××Öž× ×¢× × ×§××××Ö·× ×¥ ×§×¢× ×¢× ×€ÖŒ×š×֞׊עס ×××× ×¢× ×עך×× × × ×Öž×××Ö·×€×ַק××ש×Ö·× × × ××Š× ×š×¢×§×ךס××××¢ ×ַך×Öž×€ÖŒ××Ö·× × ×××š× ×Ö· ×××× ×€×× ××¢×××ַס.
- ×× ××¢×××Ö· ×ÖŒ××× ×€××ש××¢× ××ק ××× ×€Ö¿×֞ך××ַ׊××¢ ×××¢×× ×¢× ×עך×× ××¢× ×Š× ×× ××××, ×ַך××Ö·× ×עךע×× × ×× ××Ö·×××¢××× × ××× / ×Öž×עך ×¢× ×עך×× ××¢× ××× ×× "××ַךקעךס" ×€Ö¿×ַך××× ×× ××× ××× (×€Ö¿×ַך ×××ַש׀֌××, ××Ö·×××× × ×¢×š×š×֞ךס ××¢× ×¢× ×š×¢×€ÖŒ×š×××¢× ××× ××× ××ַךקעךס).
- ××× × ×××× ×š×¢×€×¢×š×¢× ×Š× ××¢× ×¢× ××¢×××× ×××š× ×× ×©×¢×€ÖŒ×, ××¢×××Ö· ×§×¢× ×¢× ××¢××××× ×××¢× ×עך××Öž× ×¢× ×Ö· ××××Ö·× ××××.
××× ××ך ×××¢×× ××Ö·×× ××¢×, ×× ××××€ÖŒ× ×§×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×€×× ×× ×€ÖŒ××Ö·× ×€×× ×× ×××× ××Öž××¢× ×¢× ×עך×× × ×Öž× ××Öž× ×עק×Ö·× ×××Ö·× ××¢× ×¢× ×××× ××Ö·×××Ö·××ק ×€Ö¿×ַך ×× ×עךע שע׀֌×-×××××š× ××Öž××¢×ס.
JDT ק×֞ך
×× Eclipse ×××֞ךקס׀֌×ַסע ×××× ××Öž××¢× ××× ×Ö· ×€×× ××Ö·××¢× ××Ö·× ×©×€ÖŒ×š×Ö·×-×Ö·×× ×֞ס××ק ××Öž××¢×. ×× JDT Core ק×Öž××€ÖŒ×Öž× ×¢× × (plugin org.eclipse.jdt.core) ××× ×Ö·× ×Ö·×€ÖŒ× ×€Ö¿×ַך × ×Ö·×××Ö·×××××× × ××× ×Ö·× ×Ö·×××××× × ×× ×××֞ךקס׀֌×ַסע ס×ך×ק××ך ×€Ö¿×× ×Ö· ×'××× ×€ÖŒ×¢×š×¡×€ÖŒ×¢×§××××, ×× ×Ö·××× ×עך××€×¢× ×¢ "××ש×Ö·×××Ö· ××Öž××¢×" (Java ××Öž××¢×). ×עך ×Ö·×€ÖŒ× ××× ×××€××× × ××× ×עך××× ×¢× ×€×× Java ×¢××¢××¢× ××, ××× ×§×¢×× ×Š× ×× ×Ö·× ×עך××××× × ×××× ××Öž××¢× ×Ö·×€ÖŒ×, ×××֞ס ××× ×××€××× × ××× ×עך××× ×¢× ×€×× ×€×Öž××עךס ××× ×עקעס. ×× ××××€ÖŒ× ×× ×עך׀××ס×× ×€×× ×× Java ×¢××¢××¢× × ×××× ××¢× ×¢× ××¢××××× ××× Fig. 4.
ך××ס. 4. ×'××× ××Öž××¢× ×¢××¢××¢× ×¥
×× Java ××Öž××¢× × ××Š× ×× ××¢×××¢ ×©×¢×€ÖŒ× / ×××£ ××××Öž× ××× ×× ×××× ××Öž××¢× (×€×××ךע 5). IJavaElement ××× ×× ×©×¢×€ÖŒ×, ××× JavaElementInfo ×€×עסעס ×× ×š×Öž××¢ ×€×× ââ×××£. ×× IJavaElement ׊×××× × ×××€××× × ×Ö· ׀֌ך×Öž××֞ק×Öž× ×€ÖŒ×š×Öž×¡× ×€Ö¿×ַך ×Ö·××¢ Java ×¢××¢××¢× ××. ×¢×××¢××¢ ×€×× ââ×××Ö·× ××¢×××Öž×ס ××¢× ×¢× ×©×¢×€ÖŒ×-×××××: getElementName (), getParent (), ×¢×ק. ×× JavaElementInfo ××××€×¢×¥ ס××Öž×š× ×× ×©××Ö·× ×€×× ×× ×§×֞ך×ַס׀֌×Ö·× ××× × ×¢××¢××¢× ×: ×××Ö·× ×¡×ך×ק××ך ××× ×Ö·×ך×××××¥.
ך××ס. 5. IJavaElement ××× JavaElementInfo
×× Java ××Öž××¢× ××× ×¢×××¢××¢ ××׀עך×Ö·× ×¡×× ××× ×× ×××€ÖŒ××Ö·××¢× ×××ש×Ö·× ×€×× ×× ×קעך××ק ×©×¢×€ÖŒ× / ×××£ ×€ÖŒ××Ö·× ×§×Ö·××€ÖŒ×¢×š× ××× ×× ×××× ××Öž××¢×. ××× ×עך××× × ×××××, ××× ×× ×××× ××Öž××¢×, ×עך ×¢××¢××¢× × ××××, ×××¢××¢× ×¡ × ×Öž××× ××¢× ×¢× ×××× ××× ×€Ö¿×֞ך××ַ׊××¢ ×Ö·×××שעקץ, ××× ××¢××Ö·×ךע ק×Ö·× ×××× × ××× ××֌ך××. ××עך ×× ××ש×Ö·×××Ö· ××Öž××¢× ×§×¢× ×¢× ××Öž×× ×Ö· ×××××××ק ×ךעסעךע × ××עך ×€×× ×¢××¢××¢× ×× ××× ×× ×××× ××××, ××××Ö·× ×¢×¡ ×××× ×š×¢×€ÖŒ×š×Ö·××¢× ×¥ ×× ×× ×¢×š××¢× ×¡×ך×ק××ך ×€×× .××ש×Ö·×××Ö· ××× .ק××ַס ×עקעס: ×××׀֌ס, ×€×¢××עך ××× ××¢×××Öž×ס.
×Š× ××ס××××× ××֞ך ××Ö·××ך××Ö·×××× ×× ××× ×Š×¢ ×××× ×€×× ×¢××¢××¢× ×× ××× ××֌ך××, ×× Java ××Öž××¢× ×××€ÖŒ××Ö·××¢× ×××ש×Ö·× × ××Š× ×Ö· ××××××¢× ×ך××ס LRU ק×ַש ×€×× ×¢××¢××¢× × ××× ×€Ö¿×֞ך××ַ׊××¢, ××× ×עך ש×××¡× ××× ×©×¢×€ÖŒ× IJavaElement. ×¢××¢××¢× × ××× ×€Ö¿×֞ך××ַ׊××¢ ×Ö·×××שעקץ ××¢× ×¢× ××ש××€× ××××£ ×€×Öž×עך×× × ××× ×עך ×¢××¢××¢× × ×××× ××× × ×Ö·×××Ö·××××××. ××× ××¢× ×€×Ö·×, ×× ××× ×ס×עך ×Öž×€× ××¢××××× × ×××× ××¢× ×¢× ××××ק××× ×€×× ×× ×§×ַש, ××× ×× ××֌ך×× ×§×Ö·× ×¡×Ö·×ש×Ö·× ×€×× ×× ××Öž××¢× ×××××× ××××××¢× ×Š× ×× ×¡×€ÖŒ×¢×¡××€××¢× ×§×ַש ×ך××ס. ××֞ס ××× ×× ×× ×עך ×××Ö·××¢ ×€×× ââשע׀֌×-×××××š× ×€ÖŒ××Ö·×, ×××֞ס ××֞ך ××××× ×Ö·××Ö· ×××€ÖŒ××Ö·××¢× ×××ש×Ö·× ××¢××Ö·××ס ×€×× ××¢× ×§×××¢× × ×§×Öž×.
×עך ×עק×Ö·× ×××Ö·× ×€Ö¿×ַך ×Öž× ××Öž× ×¢× ×עך×× ××¢× ×Š× Java ×¢××¢××¢× ×× ××× ××× ×Ö·×××¢×××× ×¢× ××¢× ×Š× ×× ×עק×Ö·× ×××Ö·× ×€Ö¿×ַך ×ך×ַק×× × ×¢× ×עך×× ××¢× ×Š× ×××֞ךקס׀֌×ַסע ךעס××š×¡× ××סק×Ö·×¡× ×××××. × ×§×××¢× × ×××֞ס ×××× ×Š× ××Öž× ×××֞ך ×¢× ×עך×× ××¢× ××× ×× Java ××Öž××¢× ×Ö·××Öž× ××š× ×Š× × ×Öž×××Ö·×€×ַק××ש×Ö·× ×, ×××֞ס ××¢× ×¢× ×š×¢×€ÖŒ×š×××¢× ××× ××× ×Ö·× ElementChangedEvent ××××€×¢×¥ ×××֞ס ×ÖŒ××× ×Ö·× IJavaElementDelta (×€×××ךע 6).
ך××ס. 6. ElementChangedEvent ××× IJavaElementDelta
×× Java ××Öž××¢× ××× × ××©× ×Ö·× ×××Ö·××× ××× ×€Ö¿×֞ך××ַ׊××¢ ×××¢×× ××¢××Öž× ×××עך ×Öž×עך × ×Öž××¢× ××Ö·×××Öž××¢, ×Ö·××× ×€Ö¿×ַך ××××××× ×Ö·× ×Ö·××ס×ס ×€×× ×§×Öž× ×עשך××× ××× Java, JDT Core ××× ×Ö·× × ×Öž× (× ××-שע׀֌×-××××ך×) ××Öž××¢×:
××××Ö·× ×¡×× ××ַקס ××××עך ×§×¢× ×¢× ×€×Ö·×š× ××Š× ×Ö· ××Ö·×××××ק ס×××¢ ×€×× ââ××֌ך××, JDT ק×ַש ××××× ×××× AST ×€Ö¿×ַך ×× ×ַק×××× ×š×¢××ַק××֞ך. × ×× ×¢× ××¢× ×× Java ××Öž××¢×, ×× AST ××× ×××€ÖŒ×ק×× ××× ×Ö· "×× ×עך××××××," "׊××Ö·×××××Ö·××ק" ××Öž××¢× ×××¢××¢× ×¡ ×××××××עך ××Öž× × ×× ×××× ×š×¢×€×¢×š×š×¢× ×××š× ×§××××Ö·× ×¥ ×ַך××ס ××¢× ×§×Öž× ××¢×§×¡× ×€×× ×× ×֞׀֌עך×ַ׊××¢ ×××֞ס ××¢×€Ö¿××š× ×Š× ×× ×©×Ö·×€×× × ×€×× ×× AST.
×× ××ס××¢× ×ך×× ××Öž××¢×ס (××ש×Ö·×××Ö· ××Öž××¢×, AST, ×××× ××× ××) ׊×××Ö·××¢× ×€×Öž×š×¢× ×× ×קעך ×€Ö¿×ַך ×× ×× "×× ××¢××××¢× × ×Ö·× ××××ק××× × ××ש×ך××" ××× JDT, ×ַך××Ö·× ×עךע×× × ×Ö· ש××ַךק Java ךע××ַק××֞ך ××× ×€×ַךש××× "××¢×׀֌עךס", ×€×ַךש××× ×ַקש×Ö·× × ×€Ö¿×ַך ׀֌ך×ַסעס×× × ×ק×ך ק×Öž× (×ַך××Ö·× ×עךע×× × ×֞ך××Ö·× ××××× × ×Ö· ךש××× ×€×× ×ַך××Ö·× ×€×ך. × ×¢××¢× ××× ×€×֞ך××Ö·×××× × ×××× ×× ×§×ַס××Ö·××××× ×¡×××), ×××× ××× ×š×¢×€×ַק××֞ך×× × ××ש×ך××. ××× ××¢× ×€×Ö·×, ×× Java ××Öž××¢× ×€×עסעס ×Ö· ס׀֌ע׊××¢× ×š×Öž××¢, ××××Ö·× ×¢×¡ ××× ××¢× ××Š× ××× ×× ×קעך ×€Ö¿×ַך ×Ö· ××××ש×Ö·×××Ö·× ×€×ַך×ךע××× × ×€×× ×× ×¡×ך×ק××ך ×€×× ×× ×Ö·×€ÖŒ××ַק××ש×Ö·× ×××֞ס ××× ××¢×××¢××Öž×€ÖŒ×¢× (××ש×, ××× ×€ÖŒ×ַקק×Ö·××¢ Explorer, ×Ö·××××××, ××××, ך××€× ×××עך×ַךק×, ××× ×××€ÖŒ ×××עך×ַךק×).
עק××׀֌סע ק×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ××¢× ××Š× ××× 1C: ×¢× ×עך׀֌ך××× ×××××¢××Ö·×€ÖŒ××Ö·× ×¥ ××ש×ך××
××× Fig. ×€×××ךע 7 ×××××× ×× ×¢×§××׀֌סע ק×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×××֞ס ××¢× ×¢× ×× ×ס×× ×€×× ×× ××¢×× ×Öž××Öž×××¢ ×€ÖŒ××Ö·××€×֞ך××¢ ×€Ö¿×ַך 1C: ×¢× ×עך׀֌ך××× ×× ××××ק××× × ××ש×ך××.
ך××ס. 7. עק××׀֌סע ××× ×Ö· ×€ÖŒ××Ö·××€×֞ך××¢ ×€Ö¿×ַך 1C: ×¢× ×עך׀֌ך××× ×× ××××ק××× × ××ש×ך××
Eclipse Platform ××× ×קעך××ק ×× ×€×š×ַס×ך×ַק×שעך. ××ך ××Öž×× ×עק××§× ××××£ ×¢×××¢××¢ ×ַס׀֌עקץ ×€×× ××¢× ×× ×€×š×ַס×ך×ַק×שעך ××× ×× ×€×š×עך××קע ×Öž×€ÖŒ×××××× ×.
××× ×§××× ×××ת ××¢× ×¢×š×Ö·×-׊×× ×ע׊××Ö·×, EMF ××× ×€ÖŒ×ַס×ק ×€Ö¿×ַך ס×Ö·××××× × ×Ö· ×ך××× ×§××× ×€×× ××Öž××¢××× × ×€ÖŒ×š×Öž×××¢×ס, ×Öž×עך ×¢×××¢××¢ ק×××¡× ×€×× ××Öž××¢×ס (××ש×, ×× ×©×¢×€ÖŒ×-×××××š× ××Öž××¢×ס ××סק×Ö·×¡× ×××××) ×§×¢× ××Ö·×š×€× ×עך ס׀֌עש×Ö·××××× ××Öž××¢××× × ××ש×ך××. ×Š× ×š×¢×× ×××¢×× EMF ××× ×Ö· ××× ××××ק ×ַך××¢×, ס׀֌ע׊××¢× ××× ×× ××××××¢× ×§×Ö·× ×€××× × ×€×× ×××× ×ַך××ק×, ××××Ö·× ××֞ס ××× ×× ××¢××¢ ×€×× ââ×Ö· ××Ö·××× ×עך ×××, ××× ×Ö· ××Ö·× ×¥ ××ק. ××× ××× ×× × ×֞ך ××Öž× ×Ö·× ×× ××××-ק×××Ö·××××¢× ×¡×ס××¢× ×€×× ××¢× ×¢×š×Ö·××××Ö·×××Öž× ×¡ ×Ö·× ×עך××××× × ×× ×¢××£ עך××××× ×× ××¢×××š× ×€×× ×Ö· ××Ö·× ×¥ ק××× ×€×× ×€ÖŒ×š×Ö·××שעקס ××¢××ַק××××Ö·× ×Š× ××Öž××¢××× ×, ×××֞ס ××¢× ×¢× ×ַך××Ö·× ×עךע×× × ××× ×× ×©×€ÖŒ××¥-××ך×× ×€ÖŒ×š××עק×
1C: ×¢× ×עך׀֌ך××× ×× ××××ק××× × ××ש×ך×× ×ַק×××××× × ××Š× ×××××¢ EMF ××× ××× ×Ö· × ××עך ×€×× ×× ×עךע עק××׀֌סע ××Öž××¢××× × ×€ÖŒ×š×Ö·××שעקס. ××× ××Ö·××× ×עך, Xtext ××× ×××× ×¢×š ×€×× ×× ×ס×××ת ×€×× ×Ö·× ××××ק××× × ××ש×ך×× ×€Ö¿×ַך ×Ö·××Ö· 1C: ×¢× ×עך׀֌ך××× ×©×€ÖŒ×š×Ö·×× ××× ×× ××¢××××-××× ×€ÖŒ×š×Öž×ך×Ö·×××× × ×©×€ÖŒ×š×Ö·× ××× ×Öž× ×€Ö¿×š×¢× ×©×€ÖŒ×š×Ö·×. ×× ×× ×עך ×קעך ×€Ö¿×ַך ×× ×Ö·× ××××ק××× × ××ש×ך×× ××× ×× Eclipse Handly ׀֌ך××עק×, ×××֞ס ××ך ×××¢×× ××סק××××š× ××× ×עך ××¢××Ö·× (×€×× ×× ××ס××¢× ×¢×§××׀֌סע ק×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥, עס ××× × ×Öž× ×עך ק××¢× ×¡×עך ××Ö·×××ס×).
×× ×ך×× × ×ַךק×Ö·×עק×שעך×Ö·× ×€ÖŒ×š×× ×¡×Ö·×€ÖŒ×Ö·×× ×€×× ×©×¢×€ÖŒ×-×××××š× ××Öž××¢×ס, ×Ö·××Ö· ××× ×× ×©×¢×€ÖŒ× / ×××£ ××××Öž×, ××¢× ×¢× ××סק×Ö·×¡× ××××× × ××Š× ×× ×××× ××Öž××¢× ××× ×× Java ××Öž××¢× ××× ×××ש׀×××. עס ×××× ××××¢×š×§× ×Ö·× ×××××¢ ×× ×××× ××Öž××¢× ××× ×× Java ××Öž××¢× ××¢× ×¢× ××××××ק ×ס×××ת ×€Ö¿×ַך ×× Eclipse Java ×Ö·× ××××ק××× × ××ש×ך×× (JDT). ××× ××× × ×ÖŒ××¢× ×Ö·××¢ *DT Eclipse ׀֌ך×Ö·××שעקס ××Öž×× ×Ö·× ×ַךק×Ö·×עק×שעך ×¢× ××¢× ×Š× JDT, עס ×××Öž×× × ××©× ×××× ×Ö· ×ך××ס ××××Ö·××שעך××ש×Ö·× ×Š× ××Öž×× ×Ö·× ×©×¢×€ÖŒ×-×××××š× ××Öž××¢×ס ×Ö·× ×עך××××× × ×€×××¢, ×××× × ×× ×Ö·××¢ IDEs ××¢×××× ××××£ ש׀֌××¥ ×€×× ×× Eclipse ×€ÖŒ××Ö·××€×֞ך×. ×€Ö¿×ַך ×××ַש׀֌××, ×× Eclipse C / C ++ ×× ××××ק××× × ××Öž×Öž××× × (CDT) ××× ×Ö· שע׀֌×-×××××š× C / C ++ ××Öž××¢× ×××֞ס ×€×עסעס ×× ××¢×××¢ ך×Öž××¢ ××× ×× CDT ×ַךק×Ö·×עק×שעך ××× ×× Java ××Öž××¢× ××× ×× JDT.
××××עך Handly, Eclipse ××× × ××©× ×€×֞ךש××Öž×× ×¡×€ÖŒ×¢×©×Ö·××××× ××××ךעך×× ×€Ö¿×ַך ×× ×× ×©×¢×€ÖŒ×-×××××š× ×©×€ÖŒ×š×Ö·× ××Öž××¢×ס. ×× ××Öž××¢×ס ×××֞ס ×עך××××Ö·× ×¢×§×¡×ס×××š× ××¢× ×¢× ××ש××€× ×עך ××××€ÖŒ× ×××š× ××××Ö·× ×Ö·××Ö·×€ÖŒ××× × ×× Java ××Öž××¢× ×§×Öž× (×ַק×Ö· ק×Öž×€ÖŒ××¢ / ×€ÖŒ×Ö·×€ÖŒ), ××× ×§×ַסעס ××× ×¢×¡ ×Ö·××Ö·×× Eclipse Public License (EPL). (××Öž×, ××֞ס ××× ×××ש×Ö·×××Ö·×× × ××©× ×Ö· ××¢××Ö·× ×ַך××ס××¢×× ×€Ö¿×ַך, ××Öž××, Eclipse ׀֌ך×Ö·××שעקס ×××, ×Öž×עך × ××©× ×€Ö¿×ַך ×€×ך×××× ×ק×ך ׀֌ך×Öž××ק××.) ××× ×Ö·××ש×Ö·× ×Š× ×××× ××Öž××ק ××Ö·×€ÖŒ×Ö·××ַך×× ×ַס, ×× ××¢×× ×ק ×× ×ך×Ö·××ס×× ××¢××× ×-××ק×× × ×€ÖŒ×š×Öž×××¢×ס: ק×Öž× ×××€ÖŒ××ק×Ö·×××Öž× ×× ×ך×Öž××××¡× ×××š× ×××¢× ×Ö·××Ö·×€ÖŒ××× × ×Š× ×¢×š×š×֞ךס, ×××"× × ×××֞ס עך×עך ××× ×Ö·× ×× ×š×××Ö·×××× × ××Öž××¢×ס ×××××× "××× ×× ××× ×××" ××× ××Öž× × ×× × ××Š× ×× ×€ÖŒ×Öž××¢× ×Š××¢× ×€Ö¿×ַך ××× ×Ö·×€×ַק××ש×Ö·×. ×Öž×עך ×××Öž×××š× ×€ÖŒ×š×Öž×¡× ×§×Ö·× ×¡×¢×€ÖŒ×¡ ××× ×€ÖŒ×š×Öž××֞ק×Öž×ס ×€Ö¿×ַך שע׀֌×-×××××š× ×©×€ÖŒ×š×Ö·× ××Öž××¢×ס ×§×¢× ×€××š× ×Š× ×× ×©×Ö·×€×× × ×€×× ×š××××Ö·××Ö·× ×§×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×€Ö¿×ַך ×ך××¢×× ××× ×××, ×¢× ××¢× ×Š× ×××֞ס ××¢×ך××€× ××× ××¢× ×€×Ö·× ×€×× EMF.
עס ××× × ××©× ×Ö·× Eclipse ××× × ××©× ×€Ö¿×ַךש×××× ×× ×ש××. ׊×ך×ק ××× 2005
××× ×Ö· ×××עך ××× ×¢×, ×× ××Ö·× ××× ×€ÖŒ×š×××¢×§× ××× ×××××× × ×Š× ×¡×Öž××××¢ ××¢×¢×š×¢× ×× ××¢×××¢ ׀ך××××¢××¢× ××× EMF, ×Öž×עך ×€Ö¿×ַך שע׀֌×-×××××š× ××Öž××¢×ס, ××× ××€Ö¿×š× ×©×€ÖŒ×š×Ö·× ×Öž× ×¢×¡ (×"× ×š×¢×€ÖŒ×š×××¢× ××× × ×¢××¢××¢× ×× ×€×× ×× ×¡×ך×ק××ך ×€×× ×¢×××¢××¢ ׀֌ך×Öž×ך×Ö·×××× × ×©×€ÖŒ×š×Ö·×). ×× ××××€ÖŒ× ××Öž××× ×©××¢×× ×××¢× ×××××× ×× × ××Ö·× ××× ××¢× ×¢× ××ס××¢× ××× ××:
- ××¢××××××ַ׊××¢ ×€×× ââ×× ××××€ÖŒ× ×Ö·×ס×ך×ַק׊×עס ×€×× ×× ×× ×עך××¢× ×ק ××¢×× ×.
- ך×××ס×× × ×× ××× ××׀֌ך××××× × ×× ×§×××Ö·××××¢× ×€×× ×××€ÖŒ××Ö·××¢× ×××ש×Ö·× ×€×× ×©×¢×€ÖŒ×-×××××š× ×©×€ÖŒ×š×Ö·× ××Öž××¢×ס ×××š× ×§×Öž× ×š×××ס.
- ׀֌ך×Ö·××××××× × ×Ö· ××× ×Ö·×€××× ××¢××Ö·-××ך×× API ×Š× ×× ×š×××Ö·×××× × ××Öž××¢×ס, ×××× ×¢×¡ ××¢×××¢× ×Š× ×©×Ö·×€Ö¿× ×€ÖŒ×š×Öž×¡× IDE ק×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×××֞ס ×ַך××¢× ××× ×©×€ÖŒ×š×Ö·× ×©×¢×€ÖŒ×-×××××š× ××Öž××¢×ס.
- ×××××ק××× ××× ×¡×§×Ö·××Ö·××××××.
- ×× ××¢×ך×Ö·×××Öž× ××× Xtext (××× ×Ö· ××Ö·××× ×עך ש××××¢).
×Š× ×××××€ÖŒ×× ×§× ×€ÖŒ×š×Öž×¡× ×§×Ö·× ×¡×¢×€ÖŒ×¡ ××× ×€ÖŒ×š×Öž××֞ק×Öž×ס, ××××ס××× × ×××€ÖŒ××Ö·××Ö·× ×¥ ×€×× ×©×€ÖŒ×š×Ö·× ×©×¢×€ÖŒ×-×××××š× ××Öž××¢×ס ××¢× ×¢× ×Ö·× ×Ö·×××××. ×× ××××€ÖŒ× ×× ×עך׀××ס×× ××× ×קעך××ק ×××€ÖŒ××Ö·××Ö·× ×¥ ׊××עש××¢×× ×××š× Handly ××¢× ×¢× ××¢××××× ××× Fig. 8.
ך××ס. 8. ׀֌ך×Öž×¡× ×× ×עך׀××ס×× ××× ×קעך××ק ×××€ÖŒ××Ö·××Ö·× ×¥ ×€×× ××Ö·× ××× ×¢××¢××¢× ××
×× IElement ׊×××× × ×š×¢×€ÖŒ×š×Ö·××¢× ×¥ ×× ×©×¢×€ÖŒ× ×€×× ×Ö·× ×¢××¢××¢× × ××× ××× ×€ÖŒ×š×Öž×¡× ×Š× ×¢××¢××¢× ×× ×€×× ×Ö·××¢ ××Ö·× ×××-×××××š× ××Öž××¢×ס. ×× ×Ö·×ס×ך×Ö·×§× ×§××ַס ×¢××¢××¢× × ×××€ÖŒ××Ö·××Ö·× ×¥ ×× ××¢× ×¢×š×Ö·××××¢× ×©×¢×€ÖŒ× / ×××£ ×עק×Ö·× ×××Ö·× (Fig. 9).
ך××ס. 9. ××¢××¢××¢× × ××× ××ש×Ö·× ×¢×š×ק ×©×¢×€ÖŒ× / ×××£ ×××€ÖŒ××Ö·××¢× ×××ש×Ö·×
××× ×עך׊×, ××Ö·× ××× ××× ×Ö· ××¢× ×¢×š×Ö·××××¢× ×עק×Ö·× ×××Ö·× ×€Ö¿×ַך × ×Öž×××Ö·×€×ַק××ש×Ö·× ×××¢×× ×¢× ×עך×× ××¢× ××× ××Öž××¢× ×¢××¢××¢× ×× (Fig. 10). ××× ××ך ×§×¢× ×¢× ××¢×, עס ××× ×ך××× ×¢× ××¢× ×Š× ×× ×Öž× ××Öž× ×עק×Ö·× ×××Ö·×× ×××€ÖŒ××Ö·××¢× ×Ö·× ××× ×× ×××× ××Öž××¢× ××× ×× Java ××Öž××¢×, ××× × ××Š× IElementDelta ×Š× ×Š×ש××¢×× ×Ö· ××× ×Ö·×€××× ×€×ַך×ךע××× × ×€×× ×¢××¢××¢× × ×¢× ×עך×× ××¢× ××× ×€Ö¿×֞ך××ַ׊××¢.
ך××ס. 10. ×Ö·×××¢×××× ×¢ ×× ×עך׀××ס×× ××× ×קעך××ק ×××€ÖŒ××Ö·××Ö·× ×¥ ×€×× ×× ××Ö·× ××× ×Öž× ××Öž× ×עק×Ö·× ×××Ö·×
×× ××Ö·× ××× ×××× ××סק×Ö·×¡× ××××× (×€××. 9 ××× 10) ×§×¢× ×¢× ×××× ××¢× ××Š× ×Š× ×€×֞ךש××¢×× ×ÖŒ××¢× ×§××× ×©×¢×€ÖŒ×-×××××š× ××Öž××¢×ס. ×€Ö¿×ַך קך×××××× × ××× ××××ס××ש ××Öž××¢×ס, ×× ×€ÖŒ×š×××¢×§× ×֞׀׀עךס × ×Öž× ×€×Ö·× ×קש×Ö·× ×Ö·×××× - ××× ××Ö·××× ×עך, ׀֌ך×Öž×¡× ×× ×עך׀××ס×× ××× ×קעך××ק ×××€ÖŒ××Ö·××Ö·× ×¥ ×€Ö¿×ַך ×¢××¢××¢× ×× ×€×× ×× ×ק×ך ××¢×§×¡× ×¡×ך×ק××ך, ×× ×Ö·××× ×עך××€×¢× ×¢. ×ק×ך ×¢××¢××¢× ×× (×€××. 8). ×× ISourceFile ׊×××× × ×š×¢×€ÖŒ×š×Ö·××¢× ×¥ ×Ö· ×ק×ך ×עקע, ××× ISourceConstruct ךע׀֌ך×Ö·××¢× ×¥ ×Ö·× ×¢××¢××¢× × ××× ×עך ×ק×ך ×עקע. ×× ×Ö·×ס×ך×Ö·×§× ×§×××¡× SourceFile ××× SourceConstruct ×× ×¡×ך×××¢× × ××¢× ×¢×š×Ö·××××¢× ×עק×Ö·× ×××Ö·×× ×Š× ×©×××Š× ×ך××¢×× ××× ×ק×ך ×עקעס ××× ×××עך ×¢××¢××¢× ××, ××ש×, ×ך××¢×× ××× ××¢×§×¡× ××ַ׀עך×, ×××× ××× × ×Š× ×× ×§×Öž××֞ך××Ö·× ×Ö·×¥ ×€×× ×Ö·× ×¢××¢××¢× × ××× ×× ×ק×ך ×עקס×, ××ס××××Ö·×× ××Öž××¢×ס ××× ×× ×§×š×Ö·× × ××× ××Ö·×× ×€×× ×Ö· ×ַך××¢× ×§×Öž×€ÖŒ××¢ ××ַ׀עך. ×××"× × ×××€ÖŒ××Ö·××¢× ××× × ×× ×עק×Ö·× ×××Ö·×× ××× ×××ש×Ö·×××Ö·×× ××Ö·× ×¥ ×Ö· ×ַך××סך××€×, ××× ××Ö·× ××× ×§×¢× ×¢× ×××××××ק ךע××׊××š× ×× ×× ×€×× ××¢×××¢××Öž×€ÖŒ×× × ×©×¢×€ÖŒ×-×××××š× ×©×€ÖŒ×š×Ö·× ××Öž××¢×ס ×××š× ×Š×ש××¢×× ××××-ק×××Ö·××××¢× ××Ö·××¢ ×××€ÖŒ××Ö·××Ö·× ×¥.
××× ×Ö·××ש×Ö·× ×Š× ×× ××ַךץ ×עק×Ö·× ×××Ö·×× ××ס××¢× ×××××, Handly ׀֌ך×Öž××××עס ×Ö·× ×× ×€×š×ַס×ך×ַק×שעך ×€Ö¿×ַך ××¢×§×¡× ××Ö·×€×¢×š× ××× ×¡× ×ַ׀֌ש×Ö·×¥, ש×××Š× ×€Ö¿×ַך ×× ×Ö·×ך××ש×Ö·× ××× ×ק×ך ק×Öž× ×š×¢××ק׊××¢ (×ַך××Ö·× ×עךע×× × ×××ס-×€××-××¢×-קעס×× ×× ×Ö·×ך××ש×Ö·× ××× ×× Xtext ךע××ַק××֞ך), ××× ××¢××× × ××× ×¢×××¢××¢ ׀֌ך×Öž×¡× ×× ×§×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×Ö·× ×ַך××¢× ××× ×ק×ך ק×Öž× ×¢××××֞ך. ××Ö·× ××ק ××Öž××¢×ס ×Ö·××Ö· ××× ×Ö·×××××× ×€×š×××××עךק. ×Š× ××××ס×ך××š× ×××× ×§×××€ÖŒ×Ö·××××Ö·×××, ×× ×€ÖŒ×š×××¢×§× ××× ×¢×××¢××¢ ×××ש׀×××, ×ַך××Ö·× ×עךע×× × ×Ö· ×××€ÖŒ××Ö·××¢× ×××ש×Ö·× ×€×× ×× Java ××Öž××¢× ××× Handly. (ק×Ö·××€ÖŒ×¢×š× ×Š× ×× ×€×× ×××€ÖŒ××Ö·××¢× ×××ש×Ö·× ×€×× ×× Java ××Öž××¢× ××× JDT, ××¢× ××Öž××¢× ××× ×עק×××× ×Ö· ×××¡× ×¡×××€ÖŒ××Ö·×€××× ×€Ö¿×ַך ×ךעסעךע ק×עך×××.)
××× ×€×š×עך ×××עךק×, ×Ö· ××××€ÖŒ× ×€×֞ק×ס ×עש×ַס ××Ö·× ××× ×¡ ×¢×š×©× ×€ÖŒ××Ö·× ××× ×¡×Ö·×ס×ַק×××Ö·× × ×Ö·× ××××ק××× × ××× ××¢×××¢× ××× ×××× ×Š× ×××× ××××£ סק×Ö·××Ö·×××××× ××× ×××××ק××Ö·×.
××× ×€ÖŒ×š×× ×Š××€ÖŒ, שע׀֌×-×××××š× ××Öž××¢×ס ×××Öž× ××Ö·× ×¥ ××¢××× × "×××š× ×€ÖŒ××Ö·×". ×€Ö¿×ַך ×××ַש׀֌××, ×× ×©×¢×€ÖŒ× / ×××£ ××××Öž× ×Ö·××Ö·×× ××ך ×Š× ××Ö·××š×¢× ×¢×Š× ×× ×¡×××¢ ×€×× ââââ××ק×Öž×š× ×§×Ö·× ×¡××× ×××š× ×Ö· ××Öž××¢×. ××עך עס ××¢× ×¢× ×××× × ××Ö·× ×¡××. ××××, ×××¢× ×עס××× × ××Ö·× ××× ×€Ö¿×ַך סק×Ö·××Ö·××××××, ×Ö· ׀֌ך×Öž×××¢× ××× ××סק×Ö·×××¢×š× ××× ×× ×××€ÖŒ××Ö·××¢× ×××ש×Ö·× ×€×× ×× ×Öž× ××Öž× ×עק×Ö·× ×××Ö·× - ×××¢× ×Ö· ×ך××ס × ××עך ×€×× ×¢××¢××¢× ×× ××¢× ×¢× ×€××š×¢× ×עך×, ק×Ö·× ×¡×ך×ַק××× × ××¢×××ַס ××¢× ×××¢× ×Š× ×€×× ×Š×××. עס ×€××š×§×¢×š× ×××ס ×Ö·× ×עך ××¢×××קעך ׀֌ך×Öž×××¢× ××× ××¢×××¢× ×€×֞ךש××¢×× ××× ×× JDT Java ××Öž××¢×, ×€Ö¿×× ×××֞ס ×× ×§×֞ך×ַס׀֌×Ö·× ××× × ×§×Öž× ××× ×Ö·××Öž× ×Ö·××Ö·×€ÖŒ×××. ××ך ×€×ַך׀עס×××§× ××¢× ×ש×ק ××× ××Ö·× ××× ××× ×Š×××¢×ך××× ×Ö· ×¢× ××¢× ××Ö·××¢ ×€Ö¿×ַך JDT, ×××֞ס ××× ××¢×××¢× ××Ö·× ×§××ַך ××ק×××¢×. ××֞ס ××× ××××× ×××× ×××ש׀֌×× ××× ×× ×ך×Öž×××ס×× × ××Ö·× ××× ××× ××××ס××× × ××Öž××¢× ×××€ÖŒ××Ö·××Ö·× ×¥ ×§×¢× ×××× ×€ÖŒ×Ö·××¢× ×ש×Ö·×× × ×׊×ק, ××××Ö·× ××× ××¢× ×€×Ö·× ×Ö·××Ö· ×Ö· ×ש×ק ×§×¢× ×××× ×€×ַך׀עס×××§× ××× ××××× ×××× ×֞ך×.
×Š× ××Ö·×× ×××€ÖŒ××Ö·××¢× ×× × ××Ö·× ××× ××× ××××ס××× × ××Öž××¢× ×××€ÖŒ××Ö·××Ö·× ×¥ ××¢×§× ×ק×× ×€×××Ö·××Ö·×, ×× ××××××Öž×עק ×××× ××Öž×× ××Ö·×××××ק ×××××ק×××. ×עך ××××€ÖŒ× ×€ÖŒ×š×Öž×××¢× ××× ×Š× ××Ö·××× ×Š×ך×ק ק×Ö·××€ÖŒ×Ö·××Ö·××××Ö·×× ×ַך××עך ×× ×Ö·×€ÖŒ× ××Öž××¢×. ××¢× ×€ÖŒ×š×Öž×××¢× ××× ×¡×Ö·×××× ×××
×€×עקס××××××× ××× ×××× ×× ×עךע ×ַס׀֌עקץ. ×€Ö¿×ַך ×××ַש׀֌××, ××Ö·× ××× ×××€ÖŒ×Öž×××Ö·× ×ÖŒ××¢× ×§××× ×š×ס×ך×קש×Ö·× × ××××£ ×× ×¡×ך×ק××ך ×€×× ×× ××Öž××¢× ××× ×§×¢× ×¢× ×××× ××¢××××× × ×××××¢ ×€Ö¿×ַך ××Öž××¢××× × ×Ö·×××¢××××-׊××עק ש׀֌ך×Ö·×× ××× ×€×¢××-ס׀֌ע׊××€×ש ש׀֌ך×Ö·××. ×××¢× ×§×Ö·× ×¡×ך×ַק××× × ×× ×¡×ך×ק××ך ×€×× ×× ×ק×ך ×עקע, ××Ö·× ××× ××× × ××©× ×€×֞ךשך××Ö·×× ×§××× ××Ö·××× ×עך ×€×Öž×š×¢× ×€×× AST ×€×ַך×ךע××× × ×××, ××× ×€ÖŒ×š×× ×Š××€ÖŒ, ××× × ××©× ××€××× ××Ö·×š×€× ×× ×××Ö·×××Ö·× ×€×× ×Ö·× AST, ×Ö·××× ×× ×©×ך×× × ×§×Ö·××€ÖŒ×Ö·××Ö·××××Ö·×× ××× ×ÖŒ××¢× ×§××× ×€ÖŒ×ַךס×× × ×עק×Ö·× ×××Ö·×. ׊×× ×¡××£, Handly ש×××Š× ×€×× ×× ×Ö·×ך××ש×Ö·× ××× Eclipse ×××֞ךקס׀֌×ַסע, ×Öž×עך ×§×¢× ×¢× ×××× ×ַך××¢×× ××××Ö·× ××× ×עקע ס×ס××¢××¢× ××Ö·× ×§ ×Š× ×××× ×× ××Ö·×ך××ש×Ö·× ×××
××׊××קע ××עךס××¢
××× ×עך××× × ×××××, ×××× ×¢×š ×€×× ×× ×€ÖŒ×š×Öž××ק×× ××× 1C: ×¢× ×עך׀֌ך××× ×× ××××ק××× × ××ש×ך××, ××× ××Ö·× ××× ××× ××¢× ××Š× ×€Ö¿×× ×× ×Öž× ×××× ×Š× ××Öž××¢× ×¢××¢××¢× ×× ×€×× ×× ××××-××ך×× ×¡×ך×ק××ך ×€×× ×Ö·××Ö· 1C: ×¢× ×עך׀֌ך××× ×©×€ÖŒ×š×Ö·×× ××× ×× ××¢××××-××× ×€ÖŒ×š×Öž×ך×Ö·×××× × ×©×€ÖŒ×š×Ö·× ××× ×Öž× ×€Ö¿×š×¢× ×©×€ÖŒ×š×Ö·× . ×× ×× ×עך ׀֌ך×Öž×××§× ××× ××××× ×קעך ××ק×× × ×Š× ×× ×Ö·×××¢×××× ×¢ ׊×××ך. ××ס
××ך ××Öž×€× ×Ö·× × ×Öž× ×× ××¢×××× × ×€×× ××עךס××¢ 1.0 ××× ×Ö· ××ַך×Ö·× ×××š× ×€×× ×Ö·×€ÖŒ× ×€×¢×¡×ק××Ö·× ××× ×× ×€ÖŒ×š×××¢×§× ××Öž×× ×× ×× ×ק×××××ש×Ö·× ×©××Ö·×, Handly ×××¢× ××Öž×× × ××Ö·×¢ ×Ö·××Ö·×€ÖŒ×עך×. ××× ×עך ×עך×××××, ×× ×€ÖŒ×š×××¢×§× ×××× ×Š× ×€ÖŒ×š××××š× ××× ××××Ö·×עך ×€Ö¿×ַך××¢×¡×¢×š× ×× ×Ö·×€ÖŒ×, ך×××ס×× × ×Š×××× "××××€ÖŒ×" ך×××ס×× ×€ÖŒ×¢×š ××֞ך - ××× ××× × (×× ××¢×××¢ ××Ö·××¢ ××× ×× ×¡××××Ö·××××× ××ַס ××¢×××× × ×€×× Eclipse) ××× ×ע׊ע××עך, ׀֌ך×Ö·××××××× × ×Ö· ׀֌ך×××ק××Ö·××Ö·× ×€ÖŒ××Ö·× ×××֞ס ×Ö·××Ö·×€ÖŒ××¢×š× ×§×¢× ×¢× ×€×ַך××Öž×× ×××. ××ך ×§×¢× ×¢× ×××× ××××× ×Ö·× ×× "×ש×ק ק×ךס" ×€×× ×× ×€ÖŒ×š×××¢×§× ×××××× ××××£ ×Ö· ק×Ö·× ×¡×ס××Ö·× ××× × ××עך×ק ××ך×× ××× ××Ö·× ××× ××× ×ך××¢×× ×š×××××Ö·××× ××× ×× ×€ÖŒ×š×Öž××ק×× ×€×× ×€×š× ×Ö·××Ö·×€ÖŒ××¢×š× ××× × ×× ×¢×š×©×עך ××עךס×עס. ×Š× ××××Ö·×עך ××ס׀×Öž×š×©× Eclipse Handly, ××ך ×§×¢× ×¢× × ×׊×
×ק×ך: www.habr.com