% This LaTeX file generated by cxref
% cxref program (c) Andrew M. Bishop 1995,96,97.

\markboth{File parse-lex.c}{File parse-lex.c}
\section{File parse-lex.c}
\label{file_parse-lex.c}

{\bf RCS Header: /home/amb/cxref/RCS/parse.l 1.28 1998/10/23 10:41:57 amb Exp }

\smallskip

  C Cross Referencing \& Documentation tool. Version 1.4c.

  C lexical analyser
  CPP processing, including GNU extensions, using yylval as a string.


\subsection*{Included Files}

\begin{cxreftabi}
{\stt \#include <stdio.h>} &\\
\end{cxreftabi}

\medskip
\begin{cxreftabi}
{\stt \#include "parse-yy.h"} &\cxreffile{parse-yy.h}\\
\hspace*{0.2in}{\stt \#include <stdio.h>} &\\
\hspace*{0.2in}{\stt \#include <stdlib.h>} &\\
\end{cxreftabi}

\medskip
\begin{cxreftabi}
{\stt \#include "parse-yacc.h"} &\cxreffile{parse-yacc.h}\\
\end{cxreftabi}

\medskip
\begin{cxreftabi}
{\stt \#include "cxref.h"} &\cxreffile{cxref.h}\\
\hspace*{0.2in}{\stt \#include "datatype.h"} &\cxreffile{datatype.h}\\
\end{cxreftabi}

\medskip
\begin{cxreftabi}
{\stt \#include "memory.h"} &\cxreffile{memory.h}\\
\end{cxreftabi}

\medskip
\begin{cxreftabi}
{\stt \#include <stdlib.h>} &\\
\end{cxreftabi}


\subsection*{Preprocessor definitions}

{\stt \#define FLEX\_SCANNER}

\medskip
{\stt \#define YY\_FLEX\_MAJOR\_VERSION 2}

\medskip
{\stt \#define YY\_FLEX\_MINOR\_VERSION 5}

\medskip
{\stt \#define YY\_USE\_PROTOS}

\medskip
{\stt \#define YY\_USE\_CONST}

\medskip
{\stt \#define yyconst const}

\medskip
{\stt \#define YY\_PROTO( proto )}

\medskip
{\stt \#define YY\_NULL 0}

\medskip
{\stt \#define YY\_SC\_TO\_UI( c )}

\medskip
{\stt \#define BEGIN}

\medskip
{\stt \#define YY\_START}

\medskip
{\stt \#define YYSTATE YY\_START}

\medskip
{\stt \#define YY\_STATE\_EOF( state )}

\medskip
{\stt \#define YY\_NEW\_FILE}

\medskip
{\stt \#define YY\_END\_OF\_BUFFER\_CHAR 0}

\medskip
{\stt \#define YY\_BUF\_SIZE 16384}

\medskip
{\stt \#define EOB\_ACT\_CONTINUE\_SCAN 0}

\medskip
{\stt \#define EOB\_ACT\_END\_OF\_FILE 1}

\medskip
{\stt \#define EOB\_ACT\_LAST\_MATCH 2}

\medskip
{\stt \#define yyless( n )}

\medskip
{\stt \#define unput( c )}

\medskip
{\stt \#define YY\_BUFFER\_NEW 0}

\medskip
{\stt \#define YY\_BUFFER\_NORMAL 1}

\medskip
{\stt \#define YY\_BUFFER\_EOF\_PENDING 2}

\medskip
{\stt \#define YY\_CURRENT\_BUFFER yy\_current\_buffer}

\medskip
{\stt \#define YY\_FLUSH\_BUFFER}

\medskip
{\stt \#define yy\_new\_buffer yy\_create\_buffer}

\medskip
{\stt \#define yy\_set\_interactive( is\_interactive )}

\medskip
{\stt \#define yy\_set\_bol( at\_bol )}

\medskip
{\stt \#define YY\_AT\_BOL}

\medskip
{\stt \#define YY\_USES\_REJECT}

\medskip
{\stt \#define yytext\_ptr yytext}

\medskip
{\stt \#define YY\_DO\_BEFORE\_ACTION}

\medskip
{\stt \#define YY\_NUM\_RULES 194}

\medskip
{\stt \#define YY\_END\_OF\_BUFFER 195}

\medskip
{\stt \#define YY\_TRAILING\_MASK 0x2000}

\medskip
{\stt \#define YY\_TRAILING\_HEAD\_MASK 0x4000}

\medskip
{\stt \#define REJECT}

\medskip
{\stt \#define yymore}

\medskip
{\stt \#define YY\_MORE\_ADJ 0}

\medskip
{\stt \#define YY\_RESTORE\_YY\_MORE\_OFFSET}

\medskip
{\stt \#define INITIAL 0}

\medskip
{\stt \#define START\_COMMENT 1}

\medskip
{\stt \#define COMMENT 2}

\medskip
{\stt \#define SPECIAL\_COMMENT 3}

\medskip
{\stt \#define START\_COMMENT\_CPP 4}

\medskip
{\stt \#define COMMENT\_CPP 5}

\medskip
{\stt \#define SPECIAL\_COMMENT\_CPP 6}

\medskip
{\stt \#define CPP 7}

\medskip
{\stt \#define CPP\_START 8}

\medskip
{\stt \#define CPP\_INCLUDE 9}

\medskip
{\stt \#define CPP\_INC\_FILE 10}

\medskip
{\stt \#define CPP\_INC\_FLAGS 11}

\medskip
{\stt \#define CPP\_DEFINE 12}

\medskip
{\stt \#define CPP\_DEFINE\_ARGP 13}

\medskip
{\stt \#define CPP\_DEFINE\_BODY 14}

\medskip
{\stt \#define CPP\_DEFINE\_ARGS 15}

\medskip
{\stt \#define GNU\_LABEL 16}

\medskip
{\stt \#define GNU\_ATTRIBUTE 17}

\medskip
{\stt \#define GNU\_EXTENSION 18}

\medskip
{\stt \#define GNU\_TYPEOF 19}

\medskip
{\stt \#define CHAR\_VARYING 20}

\medskip
{\stt \#define YY\_NO\_PUSH\_STATE 1}

\medskip
{\stt \#define YY\_NO\_POP\_STATE 1}

\medskip
{\stt \#define YY\_NO\_TOP\_STATE 1}

\medskip
{\stt \#define YY\_READ\_BUF\_SIZE 8192}

\medskip
{\stt \#define ECHO}

\medskip
{\stt \#define YY\_INPUT( buf, result, max\_size )}

\medskip
{\stt \#define yyterminate}

\medskip
{\stt \#define YY\_START\_STACK\_INCR 25}

\medskip
{\stt \#define YY\_FATAL\_ERROR( msg )}

\medskip
{\stt \#define YY\_DECL}

\medskip
{\stt \#define YY\_USER\_ACTION}

\medskip
{\stt \#define YY\_BREAK break}

\medskip
{\stt \#define YY\_RULE\_SETUP YY\_USER\_ACTION}

\medskip
{\stt \#define YY\_EXIT\_FAILURE 2}

\medskip
{\stt \#define yyless( n )}


\subsection{Type definitions}


\subsubsection{Typedef YY\_BUFFER\_STATE}
\label{type_YY_BUFFER_STATE_parse-lex.c}

{\stt typedef struct yy\_buffer\_state* YY\_BUFFER\_STATE}

\smallskip
\begin{cxreftabii}
See:& Type struct yy\_buffer\_state & \cxreftype{struct_yy_buffer_state}{parse-lex.c}\\
\end{cxreftabii}


\subsubsection{Typedef yy\_size\_t}
\label{type_yy_size_t_parse-lex.c}

{\stt typedef unsigned int yy\_size\_t}


\subsubsection{Type struct yy\_buffer\_state}
\label{type_struct_yy_buffer_state_parse-lex.c}

\smallskip
\begin{cxreftabiia}
\hspace*{0.0in}{\stt struct yy\_buffer\_state} &\\
\hspace*{0.1in}{\stt \{} &\\
\hspace*{0.2in}{\stt FILE* yy\_input\_file;} &\\
\hspace*{0.2in}{\stt char* yy\_ch\_buf;} &\\
\hspace*{0.2in}{\stt char* yy\_buf\_pos;} &\\
\cxreftabbreak{cxreftabiia}
\hspace*{0.2in}{\stt yy\_size\_t yy\_buf\_size;} &\\
\hspace*{0.2in}{\stt int yy\_n\_chars;} &\\
\hspace*{0.2in}{\stt int yy\_is\_our\_buffer;} &\\
\hspace*{0.2in}{\stt int yy\_is\_interactive;} &\\
\hspace*{0.2in}{\stt int yy\_at\_bol;} &\\
\hspace*{0.2in}{\stt int yy\_fill\_buffer;} &\\
\hspace*{0.2in}{\stt int yy\_buffer\_status;} &\\
\hspace*{0.1in}{\stt \}} &\\
\end{cxreftabiia}


\subsubsection{Typedef YY\_CHAR}
\label{type_YY_CHAR_parse-lex.c}

{\stt typedef unsigned char YY\_CHAR}


\subsubsection{Typedef yy\_state\_type}
\label{type_yy_state_type_parse-lex.c}

{\stt typedef int yy\_state\_type}


\subsection{Variables}


\subsubsection{Variable yyleng}
\label{var_yyleng_parse-lex.c}

{\stt int yyleng}

\smallskip
\begin{cxreftabiii}
Visible in:\ & parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Used in:\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Variable yyin}
\label{var_yyin_parse-lex.c}

{\stt FILE* yyin}

\smallskip
\begin{cxreftabiii}
Visible in:\ & cxref.c & \ & \cxreffile{cxref.c}\\
\ & func.c & \ & \cxreffile{func.c}\\
\ & parse-lex.c & \ & \cxreffile{parse-lex.c}\\
\ & parse-yacc.c & \ & \cxreffile{parse-yacc.c}\\
\cxreftabbreak{cxreftabiii}
\ & parse-yy.h & \ & \cxreffile{parse-yy.h}\\
\ & preproc.c & \ & \cxreffile{preproc.c}\\
\ & type.c & \ & \cxreffile{type.c}\\
\ & var.c & \ & \cxreffile{var.c}\\
Used in:\ & DocumentTheFile() & cxref.c & \cxreffunc{DocumentTheFile}{cxref.c}\\
\ & input() & parse-lex.c & \cxreffunc{input}{parse-lex.c}\\
\ & yy\_get\_next\_buffer() & parse-lex.c & \cxreffunc{yy_get_next_buffer}{parse-lex.c}\\
\ & yy\_load\_buffer\_state() & parse-lex.c & \cxreffunc{yy_load_buffer_state}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
\ & yyrestart() & parse-lex.c & \cxreffunc{yyrestart}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Variable yyout}
\label{var_yyout_parse-lex.c}

{\stt FILE* yyout}

\smallskip
\begin{cxreftabiii}
Visible in:\ & parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Used in:\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Variable yytext}
\label{var_yytext_parse-lex.c}

{\stt char* yytext}

\smallskip
\begin{cxreftabiii}
Visible in:\ & parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Used in:\ & input() & parse-lex.c & \cxreffunc{input}{parse-lex.c}\\
\ & yy\_get\_next\_buffer() & parse-lex.c & \cxreffunc{yy_get_next_buffer}{parse-lex.c}\\
\ & yy\_get\_previous\_state() & parse-lex.c & \cxreffunc{yy_get_previous_state}{parse-lex.c}\\
\ & yy\_load\_buffer\_state() & parse-lex.c & \cxreffunc{yy_load_buffer_state}{parse-lex.c}\\
\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
\ & yyunput() & parse-lex.c & \cxreffunc{yyunput}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Variable parse\_file}
\label{var_parse_file_parse-lex.c}

 The name of the current file. 

\smallskip
{\stt char* parse\_file}

\smallskip
\begin{cxreftabiii}
Visible in:\ & comment.c & \ & \cxreffile{comment.c}\\
\ & cxref.c & \ & \cxreffile{cxref.c}\\
\ & func.c & \ & \cxreffile{func.c}\\
\ & parse-lex.c & \ & \cxreffile{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & parse-yacc.c & \ & \cxreffile{parse-yacc.c}\\
\ & parse-yy.h & \ & \cxreffile{parse-yy.h}\\
\ & preproc.c & \ & \cxreffile{preproc.c}\\
\ & type.c & \ & \cxreffile{type.c}\\
\ & var.c & \ & \cxreffile{var.c}\\
Used in:\ & ResetLexer() & parse-lex.c & \cxreffunc{ResetLexer}{parse-lex.c}\\
\ & SeenComment() & comment.c & \cxreffunc{SeenComment}{comment.c}\\
\ & SeenFunctionDeclaration() & func.c & \cxreffunc{SeenFunctionDeclaration}{func.c}\\
\ & SeenFunctionProto() & func.c & \cxreffunc{SeenFunctionProto}{func.c}\\
\cxreftabbreak{cxreftabiii}
\ & SeenVariableDefinition() & var.c & \cxreffunc{SeenVariableDefinition}{var.c}\\
\ & yyerror() & parse-yacc.c & \cxreffunc{yyerror}{parse-yacc.c}\\
\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Variable parse\_line}
\label{var_parse_line_parse-lex.c}

 The current line number in the file. 

\smallskip
{\stt int parse\_line}

\smallskip
\begin{cxreftabiii}
Visible in:\ & cxref.c & \ & \cxreffile{cxref.c}\\
\ & func.c & \ & \cxreffile{func.c}\\
\ & parse-lex.c & \ & \cxreffile{parse-lex.c}\\
\ & parse-yacc.c & \ & \cxreffile{parse-yacc.c}\\
\cxreftabbreak{cxreftabiii}
\ & parse-yy.h & \ & \cxreffile{parse-yy.h}\\
\ & preproc.c & \ & \cxreffile{preproc.c}\\
\ & type.c & \ & \cxreffile{type.c}\\
\ & var.c & \ & \cxreffile{var.c}\\
Used in:\ & ResetLexer() & parse-lex.c & \cxreffunc{ResetLexer}{parse-lex.c}\\
\ & SeenDefine() & preproc.c & \cxreffunc{SeenDefine}{preproc.c}\\
\ & SeenFunctionDeclaration() & func.c & \cxreffunc{SeenFunctionDeclaration}{func.c}\\
\ & SeenStructUnionStart() & type.c & \cxreffunc{SeenStructUnionStart}{type.c}\\
\cxreftabbreak{cxreftabiii}
\ & SeenTypedef() & type.c & \cxreffunc{SeenTypedef}{type.c}\\
\ & SeenVariableDefinition() & var.c & \cxreffunc{SeenVariableDefinition}{var.c}\\
\ & yyerror() & parse-yacc.c & \cxreffunc{yyerror}{parse-yacc.c}\\
\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{External Variables}

{\bf in\_header}
\label{var_in_header_parse-lex.c}

 If we are in a header file then ignore the comments. 

\smallskip
{\stt extern int in\_header}

\smallskip
\begin{cxreftabiii}
Defined in:& preproc.c & \ & \cxrefvar{in_header}{preproc.c}\\
\end{cxreftabiii}

\medskip
{\bf option\_all\_comments}
\label{var_option_all_comments_parse-lex.c}

 One of the options controlling how comments are processed,   use all comments not just the specially formattted ones. 

\smallskip
{\stt extern int option\_all\_comments}

\smallskip
\begin{cxreftabiii}
Defined in:& cxref.c & \ & \cxrefvar{option_all_comments}{cxref.c}\\
\end{cxreftabiii}

\medskip
{\bf option\_block\_comments}
\label{var_option_block_comments_parse-lex.c}

 One of the options controlling how comments are processed,   remove the leading block comment marker. 

\smallskip
{\stt extern int option\_block\_comments}

\smallskip
\begin{cxreftabiii}
Defined in:& cxref.c & \ & \cxrefvar{option_block_comments}{cxref.c}\\
\end{cxreftabiii}

\medskip
{\bf option\_no\_comments}
\label{var_option_no_comments_parse-lex.c}

 One of the options controlling how comments are processed,   ignore all comments. 

\smallskip
{\stt extern int option\_no\_comments}

\smallskip
\begin{cxreftabiii}
Defined in:& cxref.c & \ & \cxrefvar{option_no_comments}{cxref.c}\\
\end{cxreftabiii}

\medskip
{\bf option\_warn}
\label{var_option_warn_parse-lex.c}

 Flag that indicates if the comment warnings are to be issued. 

\smallskip
{\stt extern int option\_warn}

\smallskip
\begin{cxreftabiii}
Defined in:& cxref.c & \ & \cxrefvar{option_warn}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Local Variables}

{\bf yy\_current\_buffer}
\label{var_yy_current_buffer_parse-lex.c}

{\stt static YY\_BUFFER\_STATE yy\_current\_buffer}

\smallskip
\begin{cxreftabiii}
Used in:\ & input() & \ & \cxreffunc{input}{parse-lex.c}\\
\ & yy\_delete\_buffer() & \ & \cxreffunc{yy_delete_buffer}{parse-lex.c}\\
\ & yy\_flush\_buffer() & \ & \cxreffunc{yy_flush_buffer}{parse-lex.c}\\
\ & yy\_get\_next\_buffer() & \ & \cxreffunc{yy_get_next_buffer}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yy\_load\_buffer\_state() & \ & \cxreffunc{yy_load_buffer_state}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yy\_switch\_to\_buffer() & \ & \cxreffunc{yy_switch_to_buffer}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\ & yyrestart() & \ & \cxreffunc{yyrestart}{parse-lex.c}\\
\ & yyunput() & \ & \cxreffunc{yyunput}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_hold\_char}
\label{var_yy_hold_char_parse-lex.c}

{\stt static char yy\_hold\_char}

\smallskip
\begin{cxreftabiii}
Used in:\ & input() & \ & \cxreffunc{input}{parse-lex.c}\\
\ & yy\_load\_buffer\_state() & \ & \cxreffunc{yy_load_buffer_state}{parse-lex.c}\\
\ & yy\_switch\_to\_buffer() & \ & \cxreffunc{yy_switch_to_buffer}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\ & yyunput() & \ & \cxreffunc{yyunput}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_n\_chars}
\label{var_yy_n_chars_parse-lex.c}

{\stt static int yy\_n\_chars}

\smallskip
\begin{cxreftabiii}
Used in:\ & input() & \ & \cxreffunc{input}{parse-lex.c}\\
\ & yy\_get\_next\_buffer() & \ & \cxreffunc{yy_get_next_buffer}{parse-lex.c}\\
\ & yy\_load\_buffer\_state() & \ & \cxreffunc{yy_load_buffer_state}{parse-lex.c}\\
\ & yy\_switch\_to\_buffer() & \ & \cxreffunc{yy_switch_to_buffer}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\ & yyunput() & \ & \cxreffunc{yyunput}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_c\_buf\_p}
\label{var_yy_c_buf_p_parse-lex.c}

{\stt static char* yy\_c\_buf\_p}

\smallskip
\begin{cxreftabiii}
Used in:\ & input() & \ & \cxreffunc{input}{parse-lex.c}\\
\ & yy\_get\_next\_buffer() & \ & \cxreffunc{yy_get_next_buffer}{parse-lex.c}\\
\ & yy\_get\_previous\_state() & \ & \cxreffunc{yy_get_previous_state}{parse-lex.c}\\
\ & yy\_load\_buffer\_state() & \ & \cxreffunc{yy_load_buffer_state}{parse-lex.c}\\
\ & yy\_switch\_to\_buffer() & \ & \cxreffunc{yy_switch_to_buffer}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\ & yyunput() & \ & \cxreffunc{yyunput}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_init}
\label{var_yy_init_parse-lex.c}

{\stt static int yy\_init}

\smallskip
\begin{cxreftabiii}
Used in:\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_start}
\label{var_yy_start_parse-lex.c}

{\stt static int yy\_start}

\smallskip
\begin{cxreftabiii}
Used in:\ & yy\_get\_previous\_state() & \ & \cxreffunc{yy_get_previous_state}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_did\_buffer\_switch\_on\_eof}
\label{var_yy_did_buffer_switch_on_eof_parse-lex.c}

{\stt static int yy\_did\_buffer\_switch\_on\_eof}

\smallskip
\begin{cxreftabiii}
Used in:\ & input() & \ & \cxreffunc{input}{parse-lex.c}\\
\ & yy\_switch\_to\_buffer() & \ & \cxreffunc{yy_switch_to_buffer}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_acclist}
\label{var_yy_acclist_parse-lex.c}

{\stt static const short int yy\_acclist[766]}

\smallskip
\begin{cxreftabiii}
Used in:\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_accept}
\label{var_yy_accept_parse-lex.c}

{\stt static const short int yy\_accept[659]}

\smallskip
\begin{cxreftabiii}
Used in:\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_ec}
\label{var_yy_ec_parse-lex.c}

{\stt static const int yy\_ec[256]}

\smallskip
\begin{cxreftabiii}
Used in:\ & yy\_get\_previous\_state() & \ & \cxreffunc{yy_get_previous_state}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_meta}
\label{var_yy_meta_parse-lex.c}

{\stt static const int yy\_meta[73]}

\smallskip
\begin{cxreftabiii}
Used in:\ & yy\_get\_previous\_state() & \ & \cxreffunc{yy_get_previous_state}{parse-lex.c}\\
\ & yy\_try\_NUL\_trans() & \ & \cxreffunc{yy_try_NUL_trans}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_base}
\label{var_yy_base_parse-lex.c}

{\stt static const short int yy\_base[695]}

\smallskip
\begin{cxreftabiii}
Used in:\ & yy\_get\_previous\_state() & \ & \cxreffunc{yy_get_previous_state}{parse-lex.c}\\
\ & yy\_try\_NUL\_trans() & \ & \cxreffunc{yy_try_NUL_trans}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_def}
\label{var_yy_def_parse-lex.c}

{\stt static const short int yy\_def[695]}

\smallskip
\begin{cxreftabiii}
Used in:\ & yy\_get\_previous\_state() & \ & \cxreffunc{yy_get_previous_state}{parse-lex.c}\\
\ & yy\_try\_NUL\_trans() & \ & \cxreffunc{yy_try_NUL_trans}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_nxt}
\label{var_yy_nxt_parse-lex.c}

{\stt static const short int yy\_nxt[1786]}

\smallskip
\begin{cxreftabiii}
Used in:\ & yy\_get\_previous\_state() & \ & \cxreffunc{yy_get_previous_state}{parse-lex.c}\\
\ & yy\_try\_NUL\_trans() & \ & \cxreffunc{yy_try_NUL_trans}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_chk}
\label{var_yy_chk_parse-lex.c}

{\stt static const short int yy\_chk[1786]}

\smallskip
\begin{cxreftabiii}
Used in:\ & yy\_get\_previous\_state() & \ & \cxreffunc{yy_get_previous_state}{parse-lex.c}\\
\ & yy\_try\_NUL\_trans() & \ & \cxreffunc{yy_try_NUL_trans}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_state\_buf}
\label{var_yy_state_buf_parse-lex.c}

{\stt static yy\_state\_type yy\_state\_buf[16384+2]}

\smallskip
\begin{cxreftabiii}
Used in:\ & yy\_get\_previous\_state() & \ & \cxreffunc{yy_get_previous_state}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_state\_ptr}
\label{var_yy_state_ptr_parse-lex.c}

{\stt static yy\_state\_type* yy\_state\_ptr}

\smallskip
\begin{cxreftabiii}
Used in:\ & yy\_get\_previous\_state() & \ & \cxreffunc{yy_get_previous_state}{parse-lex.c}\\
\ & yy\_try\_NUL\_trans() & \ & \cxreffunc{yy_try_NUL_trans}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_full\_match}
\label{var_yy_full_match_parse-lex.c}

{\stt static char* yy\_full\_match}

\smallskip
\begin{cxreftabiii}
Used in:\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_lp}
\label{var_yy_lp_parse-lex.c}

{\stt static int yy\_lp}

\smallskip
\begin{cxreftabiii}
Used in:\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_looking\_for\_trail\_begin}
\label{var_yy_looking_for_trail_begin_parse-lex.c}

{\stt static int yy\_looking\_for\_trail\_begin}

\smallskip
\begin{cxreftabiii}
Used in:\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_full\_lp}
\label{var_yy_full_lp_parse-lex.c}

{\stt static int yy\_full\_lp}

\smallskip
\begin{cxreftabiii}
Used in:\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf yy\_full\_state}
\label{var_yy_full_state_parse-lex.c}

{\stt static int* yy\_full\_state}

\smallskip
\begin{cxreftabiii}
Used in:\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf inc\_file\_flags}
\label{var_inc_file_flags_parse-lex.c}

 The flags that come out of GCC when a file is included. 

\smallskip
{\stt static int inc\_file\_flags}

\smallskip
\begin{cxreftabiii}
Used in:\ & ResetLexer() & \ & \cxreffunc{ResetLexer}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf define\_value}
\label{var_define_value_parse-lex.c}

 The value of the thing that is defined (but only if it is simple). 

\smallskip
{\stt static char* define\_value}

\smallskip
\begin{cxreftabiii}
Used in:\ & ResetLexer() & \ & \cxreffunc{ResetLexer}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf comment\_init\_state}
\label{var_comment_init_state_parse-lex.c}

 The lex state at the time that a comment is seen. 

\smallskip
{\stt static int comment\_init\_state}

\smallskip
\begin{cxreftabiii}
Used in:\ & ResetLexer() & \ & \cxreffunc{ResetLexer}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf gnu\_att\_depth}
\label{var_gnu_att_depth_parse-lex.c}

 To get around the GCC \_\_attribute\_\_ keyword, skip over matched () counted by this. 

\smallskip
{\stt static int gnu\_att\_depth}

\smallskip
\begin{cxreftabiii}
Used in:\ & ResetLexer() & \ & \cxreffunc{ResetLexer}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf gnu\_typ\_depth}
\label{var_gnu_typ_depth_parse-lex.c}

 To get around the GCC \_\_typeof\_\_ keyword, skip over matched () counted by this. 

\smallskip
{\stt static int gnu\_typ\_depth}

\smallskip
\begin{cxreftabiii}
Used in:\ & ResetLexer() & \ & \cxreffunc{ResetLexer}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}

\medskip
{\bf push\_past}
\label{var_push_past_parse-lex.c}

 If we see a comment immediately after a ',', ';', '\};', '\},' or ')' then push it before. 

\smallskip
{\stt static int push\_past}

\smallskip
\begin{cxreftabiii}
Used in:\ & ResetLexer() & \ & \cxreffunc{ResetLexer}{parse-lex.c}\\
\ & yylex() & \ & \cxreffunc{yylex}{parse-lex.c}\\
\end{cxreftabiii}


\subsection{Functions}


\subsubsection{Global Function ResetLexer()}
\label{func_ResetLexer_parse-lex.c}

  Reset the Lexer, ready for the next file.

\smallskip
{\stt void ResetLexer ( void )}

\smallskip
\begin{cxreftabiii}
Prototype:& cxref.h & \ & \cxreffile{cxref.h}\\
Called by:\ & main() & cxref.c & \cxreffunc{main}{cxref.c}\\
Refs Var:\ & comment\_init\_state & parse-lex.c & \cxrefvar{comment_init_state}{parse-lex.c}\\
\ & define\_value & parse-lex.c & \cxrefvar{define_value}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & gnu\_att\_depth & parse-lex.c & \cxrefvar{gnu_att_depth}{parse-lex.c}\\
\ & gnu\_typ\_depth & parse-lex.c & \cxrefvar{gnu_typ_depth}{parse-lex.c}\\
\ & inc\_file\_flags & parse-lex.c & \cxrefvar{inc_file_flags}{parse-lex.c}\\
\ & parse\_file & parse-lex.c & \cxrefvar{parse_file}{parse-lex.c}\\
\ & parse\_line & parse-lex.c & \cxrefvar{parse_line}{parse-lex.c}\\
\ & push\_past & parse-lex.c & \cxrefvar{push_past}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Global Function yy\_create\_buffer()}
\label{func_yy_create_buffer_parse-lex.c}

{\stt YY\_BUFFER\_STATE yy\_create\_buffer ( FILE* file, int size )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & yy\_fatal\_error() & parse-lex.c & \cxreffunc{yy_fatal_error}{parse-lex.c}\\
\ & yy\_flex\_alloc() & parse-lex.c & \cxreffunc{yy_flex_alloc}{parse-lex.c}\\
\ & yy\_init\_buffer() & parse-lex.c & \cxreffunc{yy_init_buffer}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
Called by:\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
\ & yyrestart() & parse-lex.c & \cxreffunc{yyrestart}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Global Function yy\_delete\_buffer()}
\label{func_yy_delete_buffer_parse-lex.c}

{\stt void yy\_delete\_buffer ( YY\_BUFFER\_STATE b )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & yy\_flex\_free() & parse-lex.c & \cxreffunc{yy_flex_free}{parse-lex.c}\\
Refs Var:\ & yy\_current\_buffer & parse-lex.c & \cxrefvar{yy_current_buffer}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Global Function yy\_flush\_buffer()}
\label{func_yy_flush_buffer_parse-lex.c}

{\stt void yy\_flush\_buffer ( YY\_BUFFER\_STATE b )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & yy\_load\_buffer\_state() & parse-lex.c & \cxreffunc{yy_load_buffer_state}{parse-lex.c}\\
Called by:\ & yy\_init\_buffer() & parse-lex.c & \cxreffunc{yy_init_buffer}{parse-lex.c}\\
Refs Var:\ & yy\_current\_buffer & parse-lex.c & \cxrefvar{yy_current_buffer}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\end{cxreftabiii}


\subsubsection{Global Function yy\_init\_buffer()}
\label{func_yy_init_buffer_parse-lex.c}

{\stt void yy\_init\_buffer ( YY\_BUFFER\_STATE b, FILE* file )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & yy\_flush\_buffer() & parse-lex.c & \cxreffunc{yy_flush_buffer}{parse-lex.c}\\
\ & \cxreftabiiispan{ fileno(), isatty()} &\\
Called by:\ & yy\_create\_buffer() & parse-lex.c & \cxreffunc{yy_create_buffer}{parse-lex.c}\\
\ & yyrestart() & parse-lex.c & \cxreffunc{yyrestart}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\end{cxreftabiii}


\subsubsection{Global Function yy\_load\_buffer\_state()}
\label{func_yy_load_buffer_state_parse-lex.c}

{\stt void yy\_load\_buffer\_state ( void )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Called by:\ & yy\_flush\_buffer() & parse-lex.c & \cxreffunc{yy_flush_buffer}{parse-lex.c}\\
\ & yy\_switch\_to\_buffer() & parse-lex.c & \cxreffunc{yy_switch_to_buffer}{parse-lex.c}\\
\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yyrestart() & parse-lex.c & \cxreffunc{yyrestart}{parse-lex.c}\\
Refs Var:\ & yy\_c\_buf\_p & parse-lex.c & \cxrefvar{yy_c_buf_p}{parse-lex.c}\\
\ & yy\_current\_buffer & parse-lex.c & \cxrefvar{yy_current_buffer}{parse-lex.c}\\
\ & yy\_hold\_char & parse-lex.c & \cxrefvar{yy_hold_char}{parse-lex.c}\\
\ & yy\_n\_chars & parse-lex.c & \cxrefvar{yy_n_chars}{parse-lex.c}\\
\ & yyin & parse-lex.c & \cxrefvar{yyin}{parse-lex.c}\\
\ & yytext & parse-lex.c & \cxrefvar{yytext}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Global Function yy\_scan\_buffer()}
\label{func_yy_scan_buffer_parse-lex.c}

{\stt YY\_BUFFER\_STATE yy\_scan\_buffer ( char* base, yy\_size\_t size )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & yy\_fatal\_error() & parse-lex.c & \cxreffunc{yy_fatal_error}{parse-lex.c}\\
\ & yy\_flex\_alloc() & parse-lex.c & \cxreffunc{yy_flex_alloc}{parse-lex.c}\\
\ & yy\_switch\_to\_buffer() & parse-lex.c & \cxreffunc{yy_switch_to_buffer}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
Called by:\ & yy\_scan\_bytes() & parse-lex.c & \cxreffunc{yy_scan_bytes}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Global Function yy\_scan\_bytes()}
\label{func_yy_scan_bytes_parse-lex.c}

{\stt YY\_BUFFER\_STATE yy\_scan\_bytes ( const char* bytes, int len )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & yy\_fatal\_error() & parse-lex.c & \cxreffunc{yy_fatal_error}{parse-lex.c}\\
\ & yy\_flex\_alloc() & parse-lex.c & \cxreffunc{yy_flex_alloc}{parse-lex.c}\\
\ & yy\_scan\_buffer() & parse-lex.c & \cxreffunc{yy_scan_buffer}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
Called by:\ & yy\_scan\_string() & parse-lex.c & \cxreffunc{yy_scan_string}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Global Function yy\_scan\_string()}
\label{func_yy_scan_string_parse-lex.c}

{\stt YY\_BUFFER\_STATE yy\_scan\_string ( const char* yy\_str )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & yy\_scan\_bytes() & parse-lex.c & \cxreffunc{yy_scan_bytes}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Global Function yy\_switch\_to\_buffer()}
\label{func_yy_switch_to_buffer_parse-lex.c}

{\stt void yy\_switch\_to\_buffer ( YY\_BUFFER\_STATE new\_buffer )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & yy\_load\_buffer\_state() & parse-lex.c & \cxreffunc{yy_load_buffer_state}{parse-lex.c}\\
Called by:\ & yy\_scan\_buffer() & parse-lex.c & \cxreffunc{yy_scan_buffer}{parse-lex.c}\\
Refs Var:\ & yy\_c\_buf\_p & parse-lex.c & \cxrefvar{yy_c_buf_p}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yy\_current\_buffer & parse-lex.c & \cxrefvar{yy_current_buffer}{parse-lex.c}\\
\ & yy\_did\_buffer\_switch\_on\_eof & parse-lex.c & \cxrefvar{yy_did_buffer_switch_on_eof}{parse-lex.c}\\
\ & yy\_hold\_char & parse-lex.c & \cxrefvar{yy_hold_char}{parse-lex.c}\\
\ & yy\_n\_chars & parse-lex.c & \cxrefvar{yy_n_chars}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Global Function yylex()}
\label{func_yylex_parse-lex.c}

{\stt int yylex ( void )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-yy.h & \ & \cxreffile{parse-yy.h}\\
Calls:\ & CopyString() & memory.c & \cxreffunc{CopyString}{memory.c}\\
\ & GetCurrentComment() & comment.c & \cxreffunc{GetCurrentComment}{comment.c}\\
\ & IsAScopeVariable() & var.c & \cxreffunc{IsAScopeVariable}{var.c}\\
\cxreftabbreak{cxreftabiii}
\ & IsATypeName() & type.c & \cxreffunc{IsATypeName}{type.c}\\
\ & SeenComment() & comment.c & \cxreffunc{SeenComment}{comment.c}\\
\ & SeenDefine() & preproc.c & \cxreffunc{SeenDefine}{preproc.c}\\
\ & SeenDefineComment() & preproc.c & \cxreffunc{SeenDefineComment}{preproc.c}\\
\ & SeenDefineFuncArgComment() & preproc.c & \cxreffunc{SeenDefineFuncArgComment}{preproc.c}\\
\ & SeenDefineFunctionArg() & preproc.c & \cxreffunc{SeenDefineFunctionArg}{preproc.c}\\
\ & SeenDefineValue() & preproc.c & \cxreffunc{SeenDefineValue}{preproc.c}\\
\ & SeenFileChange() & preproc.c & \cxreffunc{SeenFileChange}{preproc.c}\\
\cxreftabbreak{cxreftabiii}
\ & SeenInclude() & preproc.c & \cxreffunc{SeenInclude}{preproc.c}\\
\ & SeenIncludeComment() & preproc.c & \cxreffunc{SeenIncludeComment}{preproc.c}\\
\ & yy\_create\_buffer() & parse-lex.c & \cxreffunc{yy_create_buffer}{parse-lex.c}\\
\ & yy\_fatal\_error() & parse-lex.c & \cxreffunc{yy_fatal_error}{parse-lex.c}\\
\ & yy\_get\_next\_buffer() & parse-lex.c & \cxreffunc{yy_get_next_buffer}{parse-lex.c}\\
\ & yy\_get\_previous\_state() & parse-lex.c & \cxreffunc{yy_get_previous_state}{parse-lex.c}\\
\ & yy\_load\_buffer\_state() & parse-lex.c & \cxreffunc{yy_load_buffer_state}{parse-lex.c}\\
\ & yy\_try\_NUL\_trans() & parse-lex.c & \cxreffunc{yy_try_NUL_trans}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yyrestart() & parse-lex.c & \cxreffunc{yyrestart}{parse-lex.c}\\
\ & yyunput() & parse-lex.c & \cxreffunc{yyunput}{parse-lex.c}\\
\ & \cxreftabiiispan{ atoi(), fprintf(), fwrite(), strlen()} &\\
Called by:\ & cxref\_yylex() & parse-yacc.c & \cxreffunc{cxref_yylex}{parse-yacc.c}\\
\ & yyerror() & parse-yacc.c & \cxreffunc{yyerror}{parse-yacc.c}\\
Refs Var:\ & comment\_init\_state & parse-lex.c & \cxrefvar{comment_init_state}{parse-lex.c}\\
\ & define\_value & parse-lex.c & \cxrefvar{define_value}{parse-lex.c}\\
\ & gnu\_att\_depth & parse-lex.c & \cxrefvar{gnu_att_depth}{parse-lex.c}\\
\ & gnu\_typ\_depth & parse-lex.c & \cxrefvar{gnu_typ_depth}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & in\_header & preproc.c & \cxrefvar{in_header}{preproc.c}\\
\ & inc\_file\_flags & parse-lex.c & \cxrefvar{inc_file_flags}{parse-lex.c}\\
\ & option\_all\_comments & cxref.c & \cxrefvar{option_all_comments}{cxref.c}\\
\ & option\_block\_comments & cxref.c & \cxrefvar{option_block_comments}{cxref.c}\\
\ & option\_no\_comments & cxref.c & \cxrefvar{option_no_comments}{cxref.c}\\
\ & option\_warn & cxref.c & \cxrefvar{option_warn}{cxref.c}\\
\ & parse\_file & parse-lex.c & \cxrefvar{parse_file}{parse-lex.c}\\
\ & parse\_line & parse-lex.c & \cxrefvar{parse_line}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & push\_past & parse-lex.c & \cxrefvar{push_past}{parse-lex.c}\\
\ & yy\_accept & parse-lex.c & \cxrefvar{yy_accept}{parse-lex.c}\\
\ & yy\_acclist & parse-lex.c & \cxrefvar{yy_acclist}{parse-lex.c}\\
\ & yy\_base & parse-lex.c & \cxrefvar{yy_base}{parse-lex.c}\\
\ & yy\_c\_buf\_p & parse-lex.c & \cxrefvar{yy_c_buf_p}{parse-lex.c}\\
\ & yy\_chk & parse-lex.c & \cxrefvar{yy_chk}{parse-lex.c}\\
\ & yy\_current\_buffer & parse-lex.c & \cxrefvar{yy_current_buffer}{parse-lex.c}\\
\ & yy\_def & parse-lex.c & \cxrefvar{yy_def}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yy\_did\_buffer\_switch\_on\_eof & parse-lex.c & \cxrefvar{yy_did_buffer_switch_on_eof}{parse-lex.c}\\
\ & yy\_ec & parse-lex.c & \cxrefvar{yy_ec}{parse-lex.c}\\
\ & yy\_full\_lp & parse-lex.c & \cxrefvar{yy_full_lp}{parse-lex.c}\\
\ & yy\_full\_match & parse-lex.c & \cxrefvar{yy_full_match}{parse-lex.c}\\
\ & yy\_full\_state & parse-lex.c & \cxrefvar{yy_full_state}{parse-lex.c}\\
\ & yy\_hold\_char & parse-lex.c & \cxrefvar{yy_hold_char}{parse-lex.c}\\
\ & yy\_init & parse-lex.c & \cxrefvar{yy_init}{parse-lex.c}\\
\ & yy\_looking\_for\_trail\_begin & parse-lex.c & \cxrefvar{yy_looking_for_trail_begin}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yy\_lp & parse-lex.c & \cxrefvar{yy_lp}{parse-lex.c}\\
\ & yy\_meta & parse-lex.c & \cxrefvar{yy_meta}{parse-lex.c}\\
\ & yy\_n\_chars & parse-lex.c & \cxrefvar{yy_n_chars}{parse-lex.c}\\
\ & yy\_nxt & parse-lex.c & \cxrefvar{yy_nxt}{parse-lex.c}\\
\ & yy\_start & parse-lex.c & \cxrefvar{yy_start}{parse-lex.c}\\
\ & yy\_state\_buf & parse-lex.c & \cxrefvar{yy_state_buf}{parse-lex.c}\\
\ & yy\_state\_ptr & parse-lex.c & \cxrefvar{yy_state_ptr}{parse-lex.c}\\
\ & yyin & parse-lex.c & \cxrefvar{yyin}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yyleng & parse-lex.c & \cxrefvar{yyleng}{parse-lex.c}\\
\ & yylval & parse-yacc.c & \cxrefvar{yylval}{parse-yacc.c}\\
\ & yyout & parse-lex.c & \cxrefvar{yyout}{parse-lex.c}\\
\ & yytext & parse-lex.c & \cxrefvar{yytext}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Global Function yyrestart()}
\label{func_yyrestart_parse-lex.c}

{\stt void yyrestart ( FILE* input\_file )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & yy\_create\_buffer() & parse-lex.c & \cxreffunc{yy_create_buffer}{parse-lex.c}\\
\ & yy\_init\_buffer() & parse-lex.c & \cxreffunc{yy_init_buffer}{parse-lex.c}\\
\ & yy\_load\_buffer\_state() & parse-lex.c & \cxreffunc{yy_load_buffer_state}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
Called by:\ & DocumentTheFile() & cxref.c & \cxreffunc{DocumentTheFile}{cxref.c}\\
\ & input() & parse-lex.c & \cxreffunc{input}{parse-lex.c}\\
\ & yy\_get\_next\_buffer() & parse-lex.c & \cxreffunc{yy_get_next_buffer}{parse-lex.c}\\
\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
Refs Var:\ & yy\_current\_buffer & parse-lex.c & \cxrefvar{yy_current_buffer}{parse-lex.c}\\
\ & yyin & parse-lex.c & \cxrefvar{yyin}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Local Function input()}
\label{func_input_parse-lex.c}

{\stt static int input ( void )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & input() & parse-lex.c & \cxreffunc{input}{parse-lex.c}\\
\ & yy\_get\_next\_buffer() & parse-lex.c & \cxreffunc{yy_get_next_buffer}{parse-lex.c}\\
\ & yyrestart() & parse-lex.c & \cxreffunc{yyrestart}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
Called by:\ & input() & parse-lex.c & \cxreffunc{input}{parse-lex.c}\\
Refs Var:\ & yy\_c\_buf\_p & parse-lex.c & \cxrefvar{yy_c_buf_p}{parse-lex.c}\\
\ & yy\_current\_buffer & parse-lex.c & \cxrefvar{yy_current_buffer}{parse-lex.c}\\
\ & yy\_did\_buffer\_switch\_on\_eof & parse-lex.c & \cxrefvar{yy_did_buffer_switch_on_eof}{parse-lex.c}\\
\ & yy\_hold\_char & parse-lex.c & \cxrefvar{yy_hold_char}{parse-lex.c}\\
\ & yy\_n\_chars & parse-lex.c & \cxrefvar{yy_n_chars}{parse-lex.c}\\
\ & yyin & parse-lex.c & \cxrefvar{yyin}{parse-lex.c}\\
\ & yytext & parse-lex.c & \cxrefvar{yytext}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\end{cxreftabiii}


\subsubsection{Local Function yy\_fatal\_error()}
\label{func_yy_fatal_error_parse-lex.c}

{\stt static void yy\_fatal\_error ( const char msg[] )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & \cxreftabiiispan{ exit(), fprintf()} &\\
Called by:\ & yy\_create\_buffer() & parse-lex.c & \cxreffunc{yy_create_buffer}{parse-lex.c}\\
\ & yy\_get\_next\_buffer() & parse-lex.c & \cxreffunc{yy_get_next_buffer}{parse-lex.c}\\
\ & yy\_scan\_buffer() & parse-lex.c & \cxreffunc{yy_scan_buffer}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yy\_scan\_bytes() & parse-lex.c & \cxreffunc{yy_scan_bytes}{parse-lex.c}\\
\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
\ & yyunput() & parse-lex.c & \cxreffunc{yyunput}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Local Function yy\_flex\_alloc()}
\label{func_yy_flex_alloc_parse-lex.c}

{\stt static void* yy\_flex\_alloc ( yy\_size\_t size )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & \cxreftabiiispan{ malloc()} &\\
Called by:\ & yy\_create\_buffer() & parse-lex.c & \cxreffunc{yy_create_buffer}{parse-lex.c}\\
\ & yy\_scan\_buffer() & parse-lex.c & \cxreffunc{yy_scan_buffer}{parse-lex.c}\\
\ & yy\_scan\_bytes() & parse-lex.c & \cxreffunc{yy_scan_bytes}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\end{cxreftabiii}


\subsubsection{Local Function yy\_flex\_free()}
\label{func_yy_flex_free_parse-lex.c}

{\stt static void yy\_flex\_free ( void* ptr )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & \cxreftabiiispan{ free()} &\\
Called by:\ & yy\_delete\_buffer() & parse-lex.c & \cxreffunc{yy_delete_buffer}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Local Function yy\_flex\_realloc()}
\label{func_yy_flex_realloc_parse-lex.c}

{\stt static void* yy\_flex\_realloc ( void* ptr, yy\_size\_t size )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & \cxreftabiiispan{ realloc()} &\\
\end{cxreftabiii}


\subsubsection{Local Function yy\_get\_next\_buffer()}
\label{func_yy_get_next_buffer_parse-lex.c}

{\stt static int yy\_get\_next\_buffer ( void )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & yy\_fatal\_error() & parse-lex.c & \cxreffunc{yy_fatal_error}{parse-lex.c}\\
\ & yyrestart() & parse-lex.c & \cxreffunc{yyrestart}{parse-lex.c}\\
\ & \cxreftabiiispan{ \_getc\_inline(), ferror(), fread()} &\\
Called by:\ & input() & parse-lex.c & \cxreffunc{input}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
Refs Var:\ & yy\_c\_buf\_p & parse-lex.c & \cxrefvar{yy_c_buf_p}{parse-lex.c}\\
\ & yy\_current\_buffer & parse-lex.c & \cxrefvar{yy_current_buffer}{parse-lex.c}\\
\ & yy\_n\_chars & parse-lex.c & \cxrefvar{yy_n_chars}{parse-lex.c}\\
\ & yyin & parse-lex.c & \cxrefvar{yyin}{parse-lex.c}\\
\ & yytext & parse-lex.c & \cxrefvar{yytext}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Local Function yy\_get\_previous\_state()}
\label{func_yy_get_previous_state_parse-lex.c}

{\stt static yy\_state\_type yy\_get\_previous\_state ( void )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Called by:\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
Refs Var:\ & yy\_base & parse-lex.c & \cxrefvar{yy_base}{parse-lex.c}\\
\ & yy\_c\_buf\_p & parse-lex.c & \cxrefvar{yy_c_buf_p}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yy\_chk & parse-lex.c & \cxrefvar{yy_chk}{parse-lex.c}\\
\ & yy\_def & parse-lex.c & \cxrefvar{yy_def}{parse-lex.c}\\
\ & yy\_ec & parse-lex.c & \cxrefvar{yy_ec}{parse-lex.c}\\
\ & yy\_meta & parse-lex.c & \cxrefvar{yy_meta}{parse-lex.c}\\
\ & yy\_nxt & parse-lex.c & \cxrefvar{yy_nxt}{parse-lex.c}\\
\ & yy\_start & parse-lex.c & \cxrefvar{yy_start}{parse-lex.c}\\
\ & yy\_state\_buf & parse-lex.c & \cxrefvar{yy_state_buf}{parse-lex.c}\\
\ & yy\_state\_ptr & parse-lex.c & \cxrefvar{yy_state_ptr}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yytext & parse-lex.c & \cxrefvar{yytext}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Local Function yy\_try\_NUL\_trans()}
\label{func_yy_try_NUL_trans_parse-lex.c}

{\stt static yy\_state\_type yy\_try\_NUL\_trans ( yy\_state\_type yy\_current\_state )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Called by:\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
Refs Var:\ & yy\_base & parse-lex.c & \cxrefvar{yy_base}{parse-lex.c}\\
\ & yy\_chk & parse-lex.c & \cxrefvar{yy_chk}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yy\_def & parse-lex.c & \cxrefvar{yy_def}{parse-lex.c}\\
\ & yy\_meta & parse-lex.c & \cxrefvar{yy_meta}{parse-lex.c}\\
\ & yy\_nxt & parse-lex.c & \cxrefvar{yy_nxt}{parse-lex.c}\\
\ & yy\_state\_ptr & parse-lex.c & \cxrefvar{yy_state_ptr}{parse-lex.c}\\
\end{cxreftabiii}


\subsubsection{Local Function yyunput()}
\label{func_yyunput_parse-lex.c}

{\stt static void yyunput ( int c, char* yy\_bp )}

\smallskip
\begin{cxreftabiii}
Prototype:& parse-lex.c & \ & \cxreffile{parse-lex.c}\\
Calls:\ & yy\_fatal\_error() & parse-lex.c & \cxreffunc{yy_fatal_error}{parse-lex.c}\\
Called by:\ & yylex() & parse-lex.c & \cxreffunc{yylex}{parse-lex.c}\\
Refs Var:\ & yy\_c\_buf\_p & parse-lex.c & \cxrefvar{yy_c_buf_p}{parse-lex.c}\\
\cxreftabbreak{cxreftabiii}
\ & yy\_current\_buffer & parse-lex.c & \cxrefvar{yy_current_buffer}{parse-lex.c}\\
\ & yy\_hold\_char & parse-lex.c & \cxrefvar{yy_hold_char}{parse-lex.c}\\
\ & yy\_n\_chars & parse-lex.c & \cxrefvar{yy_n_chars}{parse-lex.c}\\
\ & yytext & parse-lex.c & \cxrefvar{yytext}{parse-lex.c}\\
\end{cxreftabiii}

