home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _defe2dcbacffa4f6bda4bf63e01673e2 < prev    next >
Text File  |  2000-03-23  |  5KB  |  122 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>B::Xref - Generates cross reference reports for Perl programs</TITLE>
  5. <LINK REL="stylesheet" HREF="../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> B::Xref - Generates cross reference reports for Perl programs</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#options">OPTIONS</A></LI>
  26.     <LI><A HREF="#bugs">BUGS</A></LI>
  27.     <LI><A HREF="#author">AUTHOR</A></LI>
  28. </UL>
  29. <!-- INDEX END -->
  30.  
  31. <HR>
  32. <P>
  33. <H1><A NAME="name">NAME</A></H1>
  34. <P>B::Xref - Generates cross reference reports for Perl programs</P>
  35. <P>
  36. <HR>
  37. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  38. <UL>
  39. <LI>Linux</LI>
  40. <LI>Solaris</LI>
  41. <LI>Windows</LI>
  42. </UL>
  43. <HR>
  44. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  45. <P>perl -MO=Xref[,OPTIONS] foo.pl</P>
  46. <P>
  47. <HR>
  48. <H1><A NAME="description">DESCRIPTION</A></H1>
  49. <P>The B::Xref module is used to generate a cross reference listing of all
  50. definitions and uses of variables, subroutines and formats in a Perl program.
  51. It is implemented as a backend for the Perl compiler.</P>
  52. <P>The report generated is in the following format:</P>
  53. <PRE>
  54.     File filename1
  55.       Subroutine subname1
  56.         Package package1
  57.           object1        C<line numbers>
  58.           object2        C<line numbers>
  59.           ...
  60.         Package package2
  61.         ...</PRE>
  62. <P>Each <STRONG>File</STRONG> section reports on a single file. Each <STRONG>Subroutine</STRONG> section
  63. reports on a single subroutine apart from the special cases
  64. ``(definitions)'' and ``(main)''. These report, respectively, on subroutine
  65. definitions found by the initial symbol table walk and on the main part of
  66. the program or module external to all subroutines.</P>
  67. <P>The report is then grouped by the <STRONG>Package</STRONG> of each variable,
  68. subroutine or format with the special case ``(lexicals)'' meaning
  69. lexical variables. Each <STRONG>object</STRONG> name (implicitly qualified by its
  70. containing <STRONG>Package</STRONG>) includes its type <CODE>character(s)</CODE> at the beginning
  71. where possible. Lexical variables are easier to track and even
  72. included dereferencing information where possible.</P>
  73. <P>The <CODE>line numbers</CODE> are a comma separated list of line numbers (some
  74. preceded by code letters) where that object is used in some way.
  75. Simple uses aren't preceded by a code letter. Introductions (such as
  76. where a lexical is first defined with <A HREF="../../lib/Pod/perlfunc.html#item_my"><CODE>my</CODE></A>) are indicated with the
  77. letter ``i''. Subroutine and method calls are indicated by the character
  78. ``&''.  Subroutine definitions are indicated by ``s'' and format
  79. definitions by ``f''.</P>
  80. <P>
  81. <HR>
  82. <H1><A NAME="options">OPTIONS</A></H1>
  83. <P>Option words are separated by commas (not whitespace) and follow the
  84. usual conventions of compiler backend options.</P>
  85. <DL>
  86. <DT><STRONG><A NAME="item_%2DoFILENAME"><CODE>-oFILENAME</CODE></A></STRONG><BR>
  87. <DD>
  88. Directs output to <CODE>FILENAME</CODE> instead of standard output.
  89. <P></P>
  90. <DT><STRONG><A NAME="item_%2Dr"><CODE>-r</CODE></A></STRONG><BR>
  91. <DD>
  92. Raw output. Instead of producing a human-readable report, outputs a line
  93. in machine-readable form for each definition/use of a variable/sub/format.
  94. <P></P>
  95. <DT><STRONG><A NAME="item_%2DD%5BtO%5D"><CODE>-D[tO]</CODE></A></STRONG><BR>
  96. <DD>
  97. (Internal) debug options, probably only useful if <A HREF="#item_%2Dr"><CODE>-r</CODE></A> included.
  98. The <CODE>t</CODE> option prints the object on the top of the stack as it's
  99. being tracked. The <CODE>O</CODE> option prints each operator as it's being
  100. processed in the execution order of the program.
  101. <P></P></DL>
  102. <P>
  103. <HR>
  104. <H1><A NAME="bugs">BUGS</A></H1>
  105. <P>Non-lexical variables are quite difficult to track through a program.
  106. Sometimes the type of a non-lexical variable's use is impossible to
  107. determine. Introductions of non-lexical non-scalars don't seem to be
  108. reported properly.</P>
  109. <P>
  110. <HR>
  111. <H1><A NAME="author">AUTHOR</A></H1>
  112. <P>Malcolm Beattie, <A HREF="mailto:mbeattie@sable.ox.ac.uk.">mbeattie@sable.ox.ac.uk.</A></P>
  113. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  114. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  115. <STRONG><P CLASS=block> B::Xref - Generates cross reference reports for Perl programs</P></STRONG>
  116. </TD></TR>
  117. </TABLE>
  118.  
  119. </BODY>
  120.  
  121. </HTML>
  122.