⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blurb.html

📁 项目源码察看工具lxr-0.3.tar.gz
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML><HEAD><TITLE>Linux Cross-Reference</TITLE></HEAD><BODY BGCOLOR=WHITE><H1 ALIGN=CENTER>Cross-Referencing Linux<BR><A HREF="http:source/"><I>Browse the code</I></A></H1><HR><H2>Motivation</H2>The Linux Cross-Reference project is the testbed application of ageneral hypertext cross-referencing tool.  (Or the other way around.)<P>The main goal of the project is to create a versatilecross-referencing tool for relatively large code repositories.  Theproject is based on stock web technology, so the codeview client maybe chosen from the full range of available web browsers.  On theserver side, any Unix-based web server with cgi-script capabilityshould do nicely.<P>The main feature of the indexer is of course the ability to jumpeasily to the declaration of any global identifier.  Indeed, even all<I>references</I> to global identifiers are indexed.  Quick access tofunction declarations, data (type) definitions and preprocessor macrosmakes code browsing just that tad more convenient.  At-a-glanceoverview of e.g. which code areas that will be affected by changing afunction or type definition should also come in useful duringdevelopment and debugging.<P>Other bits of hypertextual sugar, such as e-mail and include filelinks, are provided as well, but is on the whole, well, sugar.  Someminimal visual markup is also done.  (Style sheets are considered as away to do this in the future.)<HR><H2>Technicalities</H2>The index generator is written in <A HREF="http://www.perl.org">Perl</A>and relies heavily on Perl's regular expression facilities.  Thealgorithm used is very brute force and extremely sloppy.  Therationale behind the sloppiness is that too little information rendersthe database useless, while too much information simply means theusers have to think and navigate at the same time.<P>The Linux source code, with which the project has initially beenlinked, presents the indexer with some very tough obstacles.Specifically, the heavy use of preprocessor macros makes the parsing avirtual nightmare.  We want to index the information in thepreprocessor directives as well as the actual C code, so we have toparse both at once, which leads to no end of trouble.  (Strict parsingis right out.)  Still, we're pretty satisfied with what the indexermanages to get out of it.<P>There's also the question of actually broken code.  We want toreasonably index all code portions, even if some of it is not entirelysyntactically valid.  This is another reason for the sloppiness.<P>There are obviously disadvantages to this approach.  No scope checkingis done, and the most annoying effect of this is mistaking localidentifers for references to global ones with the same name.  Thisparticular problem (and others) can only be solved by doing (almost)full parsing.  The feasibility of combining this with the fuzzy wayindexing is currently done is being looked into.<P>An identifier is a macro, typedef, struct, enum, union, function,function prototype or variable. For the Linux source code between50000 and 60000 identifiers are collected. The individual files of thesourcecode are formatted on the fly and presented with clickableidentifiers.<P>It is possible to search among the identifiers and the entirekernel source text. The freetext search is implemented using <AHREF="http://glimpse.cs.arizona.edu">Glimpse</A>, so all thecapabilities of Glimpse are available. Especially the regular expressionsearch capabilities are useful. <HR><H2>Availability</H2>The code for the indexer is released under the<A HREF="http://www.gnu.org">GNU</A><A HREF="http://www.gnu.org/copyleft/copyleft.html">Copyleft</A>license. Go to <A HREF="http://lxr.linux.no">LXR main site</A> toget the latest version.<HR><H2>Contacting the authors</H2>We would very much like to receive feedback on this project. If youfind it useful or have suggestions on how to make improvements, feelfree to send us e-mail. We hope that this will be a useful tool, bothfor experienced developers and beginners wanting to explore the Linuxsourcecode.<HR><ADDRESS>  <A HREF="mailto:lxr@linux.no">    Arne Georg Gleditsch and Per Kristian Gjermshus</A></ADDRESS></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -