LXR Cross Referencer - LXR Cross Referencer
![]() | Tento článek má několik problémů. Prosím pomozte zlepšit to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
![]() | |
První vydání | C. 1994[1] |
---|---|
Stabilní uvolnění | 2.3.5 / 20. března 2019 |
Úložiště | ![]() |
Napsáno | Perl |
Typ | Indexer a křížový odkazovač |
Licence | GNU GPL 2 |
webová stránka | lxr![]() |
LXR Cross Referencer, obvykle známý jako LXR, je univerzální zdrojový kód indexer a křížový odkazovač pro porozumění kódu který poskytuje web - procházení zdrojového kódu na základě odkazů s definicí a použitím jakéhokoli identifikátor.
Dějiny
LXR se zrodil z potřeby nástroje, který by udržoval syntetické oko na Linuxové jádro během svého vývoje (odkud jeho původní název: LXR znamená „Linux Cross-Referencer“). Takový nástroj je o to nezbytnější, že dokumentace je vzácná a počet přispěvatelů vysoký.
Byli zvědaví dva norští studenti, Arne Georg Gleditsch a Per Kristian Gjermshus Linuxová architektura, začal psát malý program zobrazující své soubory prostřednictvím webového prohlížeče a zobrazující použití proměnných po kliknutí na jméno. Vědomi si obecného zájmu to rychle zveřejnili SourceForge (již v roce 1994?[1]).
Uplynulý čas, fanoušci se připojili k vývojovému týmu, aby dodali kódu větší zralost; jejich počet však nikdy nepřekročil deset.[2] S těmito vlastnostmi je typický LXR SourceForge -hostovaný projekt, ale vykazuje výjimečnou životnost mezi malými projekty.
Jeden z počátečních tvůrců prozkoumal nové technologie poskytující LXRng spin-off. Tento experimentální vývoj neobsahuje všechny funkce přítomné v tradiční verzi a odchyluje se zejména od základních principů LXR.
Ačkoli se kolem nástroje ve skutečnosti nikdy neuskutečnila žádná komunikace, LXR si prošel některými papírovými sloupy, např. Linux Journal.[3] Při shromažďování odkazů na LXR na internetu však existuje nejednoznačnost mezi samotným nástrojem a instancemi LXR, které zobrazují indexovaný zdrojový kód (protože mnoho webů používá „LXR“ v původním smyslu „Linux Cross-Referencer“).
Po přijetí LXR k indexování zdrojového kódu pro Sada aplikací Mozilla, Mozilla rozeklaný LXR do MXR (Mozilla Cross Reference). MXR bylo rozdvojeno, aby splňovalo potřeby vývoje Mozilly, jmenovitě navigace v kódu smíšeného C ++ a JavaScript kódová základna. Po letech používání MXR začala Mozilla pracovat na novém nástroji se zaměřením na lepší statická analýza a dynamický Ajax UI. Výsledek je DXR (Křížový odkaz Dehydra[4]). Poté, co DXR dosáhlo dospělosti, byla instance MXR na mxr.mozilla.org vyřazena z provozu.
Technologie
LXR je minimalistický a dodržuje zásadu nejmenšího úsilí.
Záměrná zaujatost vůči minimalismus nepoužívá příliš mnoho různých technologií. Omezuje tedy závislosti a software může být podporován mnoha konfiguracemi bez speciální úpravy.
- Možnosti designu zahrnují tlumočené jazyky (např Jáva nebo JavaScript ) blokování nebo přísné HTML 4.01 shoda.
Princip nejmenšího úsilí zakazuje programování nástroje, pokud již existuje (alespoň jako otevřený zdroj ).
- Výsledkem je webový prohlížeč použití pro zobrazení (HTML a CSS umožňují vymyšlené rozložení stránky), definice a odkazy uložené v dostupném formátu relační databáze a analýza souborů s Bujaré ctagy nástroj.
LXR je zapsán Perl, šikovná volba pro CGI skripty, ale nevhodné pro lexikální nebo syntaktickou analýzu.[5]
LXR se snaží uvalit co nejméně omezení, jak je to možné:
- několik možností databáze: MySQL, PostgreSQL, SQLite nebo Věštec,
- možnosti pro fulltextové vyhledávání mezi Záblesk a SWISH-E,
- svobodná volba pro HTTP server za předpokladu, že může spouštět CGI skripty (pokyny jsou uvedeny pro Apache, Čerokee, lighttpd, Nginx a thttpd ),
- zdrojový soubor uložený v reálném adresář nebo v systém správy verzí úložiště (výběr[6] mezi CVS, Git,[7] Mercurial a Podvracení ).
Používání
Po instalaci softwaru, která není triviální úlohou, ale nevyžaduje odborné znalosti, musí být zdrojový kód předem zpracován a nakonfigurován pro jeho zobrazení LXR.
- Různé verze zdrojového kódu jsou implementovány jako podadresáře.
- Alternativa ukládá zdrojový kód do systému správy verzí.
Kód je indexován během druhé fáze: identifikátory se shromažďují a jejich umístění se zadávají do databáze. Reindexace je nutná, pouze když je změněn zdrojový kód nebo přidána nová verze.
Poté už jen stačí spustit a webový prohlížeč s URL odpovídající zdrojovému kódu a procházet soubory přes hypertextové odkazy přidružené k identifikátorům.
Schopnosti a omezení
Zdrojový kód lze napsat v jakémkoli jazyce, který Bujaré ctagy zvládne, ale analyzátory nejsou stejně jemnozrnné.
Dvě verze stejného souboru lze porovnávat vedle sebe s vizuálně vylepšenými rozdíly (prostřednictvím rozdíl příkaz spuštěný LXR).
Kromě hypertextových odkazů pod proměnné, formulář umožňuje vyhledávat identifikátor zadaný uživatelem.
Chcete-li obejít omezení fáze indexování, lze libovolnou sekvenci znaků (fulltext) prohledávat za cenu rozsáhlého procházení zdrojovými soubory.
Omezení LXR jsou omezení podpůrných nástrojů, zejména bujných ctagů. Ale hlavní příčina potíží pochází v zásadě z nesprávného přístupová oprávnění do souborů.
Další omezení vychází z výběru designu, kde se na rozdíl od provádí pouze statická analýza kódu další řešení které provádějí sémantickou analýzu jako krok kompilace,
Pokročilý uživatel může změnit rozložení a vykreslování LXR pomocí stránky přizpůsobení šablony (napsáno v HTML) a kaskádový styl (CSS).
LXR sbírky
- Samotné LXR
- Procházení jádra Linuxu
- [1] (spuštění experimentální vidlice LXRng poskytnuté lxr.linux.no)
- Prohlížení linuxových jader (provozovala velmi starou verzi LXR do roku 2017)
- Glibc 2.3.2
- (archiv zobrazuje pouze adresářovou strukturu - březen 2016)
- (archiv zobrazuje pouze adresářovou strukturu - březen 2016)
- (archiv není k dispozici - březen 2016)
Viz také
Reference
- ^ A b Podle dat v úložišti CVS SourceForge
- ^ „LXR Cross Referencer Open Source Project on Open Hub: Contributors“.
- ^ Kamran Soomro (1. června 2007). „Přečtěte si zdrojový kód způsobem HTML“.
- ^ "Dehydra". Webové dokumenty MDN. Citováno 2020-11-13.
- ^ A konečný stavový automat obvykle skenuje text (nebo zdrojový kód) zleva doprava bez zpětného sledování. Použitím regulární výrazy v Perlu vznikají šance na vícenásobné skenování textu s falešnou náhradou na již zpracovaných fragmentech.
- ^ Zpočátku to bylo možné použít BitKeeper, ale podpora se zastavila (kolem roku 2005), když se licence stala vlastnictvím.
- ^ Podpora Git byla opravena ve verzi 1.0.
externí odkazy
LXRng (vidlice)