Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
LXR Cross Referencer, көбінесе LXR деп аталатын, кодты түсінуге арналған, кез келген идентификатордың анықтамасы мен қолданылуына сілтемелермен бастапқы кодты веб-шолу арқылы ұсынатын, жалпы мақсаттағы бастапқы код индекстеуші және кросс-референциатор.
LXR Cross Referencer, usually known as LXR, is a general purpose source code indexer and cross referencer for code comprehension that provides web based browsing of source code, with links to the definition and usage of any identifier.
Тарих
LXR Linux ядросын дамыту барысында синтетикалық түрде бақылау құралының қажеттілігінен туындады (соның салдарынан бастапқы атауы: LXR – «Linux Cross Referencer» дегенді білдірді). Мұндай құралдың қажеттілігі құжаттаманың жеткіліксіздігімен және үлес қосушылардың көп санымен байланысты. Linux архитектурасына қызығушылық танытқан норвегиялық екі студент – Арне Георг Гледич және Пер Кристиан Гьермшус, веб-браузер арқылы файлдарды көрсетіп, атауын басып шығарғанда айнымалылардың қолданылуын көрсететін шағын бағдарлама жазуды бастады. Олар жалпы қызығушылықты ескеріп, оны тез арада SourceForge-ге жариялады (1994 жылдың басында ма?). Осы сипаттамаларымен LXR – SourceForge-те орналасқан әдеттегі жоба, бірақ шағын жобалардың арасында ерекше ұзақ өмір сүруге ие. Алғашқы жасаушылардың бірі LXRng-ді жасап, жаңа технологияларды зерттеді. Бұл тәжірибелік әзірлемеде дәстүрлі нұсқадағы барлық мүмкіндіктер қамтылмаған және LXR-дің негізгі принциптерінен айтарлықтай алшақтайды. Құрал туралы көптеген хабарламалар таралмаса да, LXR кейбір басылымдарда, мысалы Linux Journal-да көрсетілді. Дегенмен, Интернетте LXR туралы сілтемелерді жинағанда, құралдың өзі мен индекстелген бастапқы кодты көрсетуге арналған LXR мысалдары арасында шатасушылық туындайды (өйткені көптеген сайттар «LXR» сөзін «Linux Cross Referencer» деген бастапқы мағынасында қолданады). LXR-ді Mozilla Application Suite-тің бастапқы кодын индекстеу үшін қабылдағаннан кейін, Mozilla оны MXR (Mozilla Cross Reference) деп бұтақтады. MXR Mozilla-ның даму қажеттіліктерін қанағаттандыру үшін жасалды, атап айтқанда, C++ және JavaScript код базасының аралас кодын шарлау үшін. MXR-ді бірнеше жыл қолданғаннан кейін Mozilla жақсырақ статикалық талдауға және динамикалық Ajax интерфейсіне бағытталған жаңа құралды жасауға кірісті. Нәтижесінде DXR (Dehydra Cross Reference) пайда болды. DXR жетілгеннен кейін mxr.mozilla.org мекенжайындағы MXR мысалы тоқтатылды. Кейіннен DXR қолданудан шығарылып, 2020 жылы тоқтатылды.
LXR was born from a need for a tool to keep a synthetic eye on the Linux kernel during its development (whence its original name: LXR stood for "Linux Cross Referencer"). Such a tool is all the more necessary as documentation is scarce and contributor number is high. Two Norwegian students, Arne Georg Gleditsch and Per Kristian Gjermshus, curious about Linux architecture, began writing a small program displaying its files through a web browser and showing variables usages after a click on the name. Aware of general interest, they posted it rapidly on SourceForge (as early as 1994? With these characteristics, LXR is a typical SourceForge hosted project but exhibits an exceptional life duration among small projects. One of the initial creators explored new technologies giving the LXRng spin off. This experimental development does not contain all features present in the traditional version and departs notably from LXR founding principles. Though no communication was really ever done around the tool, LXR made its way through some paper columns, e. g. Linux Journal. However, when collecting references to LXR on the Internet, there is ambiguity between the tool itself and instances of LXR displaying indexed source code (since many sites use "LXR" in its original sense of "Linux Cross Referencer"). After adopting LXR to index the source code for the Mozilla Application Suite, Mozilla forked LXR to into MXR (the Mozilla Cross Reference). MXR was forked in order to meet the needs of Mozilla development, namely code navigation of a mixed C++ and JavaScript codebase. After years of MXR use, Mozilla began work on a new tool with a focus on better static analysis and a dynamic Ajax UI. The result is DXR (the Dehydra Cross Reference). After DXR reached maturity, the MXR instance at mxr. mozilla. org was decommissioned. DXR was subsequently deprecated and abandoned in 2020.
Қолданылуы
Бағдарламалық жасақтаманы орнатудан кейін, бұл оңай емес, бірақ арнайы білімді қажет етпейтін, бастапқы кодты алдын ала өңдеу және оны көрсету үшін LXR конфигурациялау қажет. Бастапқы кодтың әртүрлі нұсқалары қосалқы каталогтар ретінде сақталады. Басқа баламада бастапқы код нұсқаны басқару жүйесінде сақталады. Код екінші кезеңде индекстеледі: идентификаторлар жиналып, олардың орналасқан жерлері деректер базасына енгізіледі. Қайта индекстеу тек бастапқы код өзгертілгенде немесе жаңа нұсқа қосылғанда ғана қажет. Содан кейін, бастапқы кодқа сәйкес URL мекенжайы бар веб-браузерді іске қосып, идентификаторлармен байланысты гиперсілтемелер арқылы файлдарды қарауға болады.
After software installation, which is not a trivial task but does not require expertise, source code must be pre processed and LXR configured to display it. The different source code versions are implemented as sub directories. An alternative stores source code in a version management system. Code is indexed during a second phase: identifiers are gathered and their locations entered in a data base. Reindexing is only necessary when source code is modified or a new version added. Afterwards, all is needed is to launch a web browser with an URL corresponding to the source code and navigate across files through the hyperlinks associated to identifiers.