Complete figure to table conversion; other cleanups
[dwarf-doc.git] / dwarf5 / latexdoc / compression.tex
index 3730811..9ebccb1 100644 (file)
@@ -190,9 +190,9 @@ Implementations should clearly document their naming conventions.
 
 In the following, it will be helpful to refer to the examples
 in 
-Figure \ref{app:duplicateeliminationexample1csource}
+Figure \ref{fig:duplicateeliminationexample1csource}
 through 
-Figure \ref{app:duplicateeliminationexample2companiondwarf}
+Figure \ref{fig:duplicateeliminationexample2companiondwarf}
 of 
 Section \refersec{app:examples}.
 
@@ -214,7 +214,7 @@ is some string specific to the
 producer, which has a language\dash designation embedded in the
 name when appropriate. (Alternatively, the language name
 could be embedded in the 
-\textless gid\dash number \textgreater).
+\textless gid\dash number\textgreater).
 
 
 \item  [\textless file\dash designator\textgreater]
@@ -293,13 +293,13 @@ In general, every point in the
 \addtoindexx{section group}
 section group 
 \addtoindex{.debug\_info} that
-could be referenced from outside by any compilation unit must
+could be referenced from outside by \emph{any} compilation unit must
 normally have an external name generated for it in the linker
 symbol table, whether the current compilation references all
 those points or not.
 
-The completeness of the set of names generated is a
-quality\dash of\dash implementation issue.
+\textit{The completeness of the set of names generated is a
+quality\dash of\dash implementation issue.}
 
 It is up to the producer to ensure that if 
 \textless die\dash numbers\textgreater\ 
@@ -405,7 +405,7 @@ from another \addtoindex{.debug\_info} (from anywhere), the
 name should be used for an external symbol and a relocation
 generated based on that name.
 
-When referencing into a 
+\textit{When referencing into a 
 \addtoindexx{section group}
 non-section group 
 \addtoindex{.debug\_info},
@@ -414,7 +414,7 @@ from another \addtoindex{.debug\_info} (from anywhere)
 still the form to be used, but a section\dash relative relocation
 generated by use of a non-exported name (often called an
 ``internal name'') may be used for references within the
-same object file.
+same object file.}
 
 \subsection{Examples}
 \label{app:examples}
@@ -453,13 +453,13 @@ is used to illustrate the DWARF
 representation intended to allow duplicate elimination.
 
 \begin{figure}[t]
-\textbf{File wa.h:}
+\textit{File wa.h}
 \begin{lstlisting}[numbers=none]
 struct A {
    int i;
 };
 \end{lstlisting}
-\textbf{File wa.c:}
+\textit{File wa.c}
 \begin{lstlisting}[numbers=none]
 #include "wa.h";
 int
@@ -1242,51 +1242,42 @@ Figure \refersec{fig:typesignatureexampleusage}.
 \subsection{Type Signature Computation Grammar}
 \label{app:typesignaturecomputationgrammar}
 
-This section
+Figure \refersec{fig:typesignaturecomputationgrammar}
 \addtoindexx{type signature!computation grammar}
 presents a semi-formal grammar that may aid in understanding
 how the bytes of the flattened type description are formed
-during the type signature computation algorithm of Section
+during the type signature computation algorithm of
 Section \refersec{datarep:typesignaturecomputation}. 
 
+\begin{figure}[h]
+\begin{dwflisting}
 %FIXME: The index entries here with \addtoindexx are ineffective.
 \begin{alltt}
 signature
     : opt-context debug-entry attributes children
-
 opt-context           // Step 2
     : 'C' tag-code string opt-context
     : empty
-
 debug-entry           // Step 3
     : 'D' tag-code
-
 attributes            // Steps 4, 5, 6
     : attribute attributes
     : empty
-
 attribute
     : 'A' at-code form-encoded-value     // Normal attributes
-    : 'N' at-code opt-context 'E' string // Reference to type
-                                         // by name
-    : 'R' at-code back-ref               // Back-reference 
-                                         // to visited type
+    : 'N' at-code opt-context 'E' string // Reference to type by name
+    : 'R' at-code back-ref               // Back-reference to visited type
     : 'T' at-code signature              // Recursive type
-    
 children             //  Step 7
     : child children
     : '0'
-
 child
     : 'S' tag-code string
     : signature
-
 tag-code
     : <ULEB128>
-
 at-code
     : <ULEB128>
-    
 form-encoded-value
     : \livelink{chap:DWFORMsdata}{DW\-\_FORM\-\_sdata} value \addtoindexx{constant class}
     : \livelink{chap:DWFORMflag}{DW\-\_FORM\-\_flag} value \addtoindexx{flag class}
@@ -1300,23 +1291,21 @@ form-encoded-value
     : 'x0c'
 \livelink{chap:DWFORMsdata}{DW\-\_FORM\-\_sdata} \addtoindexx{constant class}
     : 'x0d'
-    
 value
     : <SLEB128>
-    
 \nolink{block}
-    : <ULEB128> <fixed-length-block>
-                      // The ULEB128 gives the length of the \nolink{block}
+    : <ULEB128> <fixed-length-block> // The ULEB128 gives the length of the \nolink{block}
 back-ref
     : <ULEB128>
-    
 string
     : <null-terminated-string>
-    
 empty
     :
 \end{alltt}
-
+\end{dwflisting}
+\caption{Type signature computation grammar}
+\label{fig:typesignaturecomputationgrammar}
+\end{figure}
 
 \section{Summary of Compression Techniques}
 \label{app:summaryofcompressiontechniques}
@@ -1365,16 +1354,9 @@ by the static linker are simply discarded.
 
 References to other 
 \addtoindex{.debug\_info} sections follow the approach
-suggested above, but the naming rule might be slightly
-different in that the 
-\begin{alltt}
-<file-designator> 
-\end{alltt}
-should be interpreted
-as a 
-\begin{alltt}
-<function-designator>.
-\end{alltt}
+suggested above, but the naming rule is slightly
+different in that the \texttt{\textless file-designator\textgreater} 
+should be interpreted as a \texttt{\textless file-designator\textgreater}.