Classes | Macros | Typedefs | Functions | Variables
vhdlcode.cpp File Reference
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include <assert.h>
#include <ctype.h>
#include <qregexp.h>
#include <qdir.h>
#include <qstringlist.h>
#include "entry.h"
#include "doxygen.h"
#include "message.h"
#include "outputlist.h"
#include "util.h"
#include "membername.h"
#include "searchindex.h"
#include "vhdldocgen.h"
#include "arguments.h"
#include "config.h"
#include "classdef.h"
#include "filedef.h"
#include "tooltip.h"

Go to the source code of this file.

Classes

struct  yy_buffer_state
 
struct  yy_trans_info
 

Macros

#define YY_INT_ALIGNED   short int
 
#define yy_create_buffer   vhdlcodeYY_create_buffer
 
#define yy_delete_buffer   vhdlcodeYY_delete_buffer
 
#define yy_flex_debug   vhdlcodeYY_flex_debug
 
#define yy_init_buffer   vhdlcodeYY_init_buffer
 
#define yy_flush_buffer   vhdlcodeYY_flush_buffer
 
#define yy_load_buffer_state   vhdlcodeYY_load_buffer_state
 
#define yy_switch_to_buffer   vhdlcodeYY_switch_to_buffer
 
#define yyin   vhdlcodeYYin
 
#define yyleng   vhdlcodeYYleng
 
#define yylex   vhdlcodeYYlex
 
#define yylineno   vhdlcodeYYlineno
 
#define yyout   vhdlcodeYYout
 
#define yyrestart   vhdlcodeYYrestart
 
#define yytext   vhdlcodeYYtext
 
#define yywrap   vhdlcodeYYwrap
 
#define yyalloc   vhdlcodeYYalloc
 
#define yyrealloc   vhdlcodeYYrealloc
 
#define yyfree   vhdlcodeYYfree
 
#define FLEX_SCANNER
 
#define YY_FLEX_MAJOR_VERSION   2
 
#define YY_FLEX_MINOR_VERSION   5
 
#define YY_FLEX_SUBMINOR_VERSION   35
 
#define FLEX_BETA
 
#define FLEXINT_H
 
#define INT8_MIN   (-128)
 
#define INT16_MIN   (-32767-1)
 
#define INT32_MIN   (-2147483647-1)
 
#define INT8_MAX   (127)
 
#define INT16_MAX   (32767)
 
#define INT32_MAX   (2147483647)
 
#define UINT8_MAX   (255U)
 
#define UINT16_MAX   (65535U)
 
#define UINT32_MAX   (4294967295U)
 
#define yyconst
 
#define YY_NULL   0
 
#define YY_SC_TO_UI(c)   ((unsigned int) (unsigned char) c)
 
#define BEGIN   (yy_start) = 1 + 2 *
 
#define YY_START   (((yy_start) - 1) / 2)
 
#define YYSTATE   YY_START
 
#define YY_STATE_EOF(state)   (YY_END_OF_BUFFER + state + 1)
 
#define YY_NEW_FILE   vhdlcodeYYrestart(vhdlcodeYYin )
 
#define YY_END_OF_BUFFER_CHAR   0
 
#define YY_BUF_SIZE   16384
 
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
 
#define YY_TYPEDEF_YY_BUFFER_STATE
 
#define EOB_ACT_CONTINUE_SCAN   0
 
#define EOB_ACT_END_OF_FILE   1
 
#define EOB_ACT_LAST_MATCH   2
 
#define YY_LESS_LINENO(n)
 
#define yyless(n)
 
#define unput(c)   yyunput( c, (yytext_ptr) )
 
#define YY_TYPEDEF_YY_SIZE_T
 
#define YY_STRUCT_YY_BUFFER_STATE
 
#define YY_BUFFER_NEW   0
 
#define YY_BUFFER_NORMAL   1
 
#define YY_BUFFER_EOF_PENDING   2
 
#define YY_CURRENT_BUFFER
 
#define YY_CURRENT_BUFFER_LVALUE   (yy_buffer_stack)[(yy_buffer_stack_top)]
 
#define YY_FLUSH_BUFFER   vhdlcodeYY_flush_buffer(YY_CURRENT_BUFFER )
 
#define yy_new_buffer   vhdlcodeYY_create_buffer
 
#define yy_set_interactive(is_interactive)
 
#define yy_set_bol(at_bol)
 
#define YY_AT_BOL()   (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
 
#define vhdlcodeYYwrap(n)   1
 
#define YY_SKIP_YYWRAP
 
#define yytext_ptr   vhdlcodeYYtext
 
#define YY_DO_BEFORE_ACTION
 
#define YY_NUM_RULES   58
 
#define YY_END_OF_BUFFER   59
 
#define REJECT   reject_used_but_not_detected
 
#define yymore()   yymore_used_but_not_detected
 
#define YY_MORE_ADJ   0
 
#define YY_RESTORE_YY_MORE_OFFSET
 
#define YY_NO_INPUT   1
 
#define YY_NO_UNISTD_H   1
 
#define DBG_CTX(x)   do { } while(0)
 
#define YY_INPUT(buf, result, max_size)   result=yyread(buf,max_size);
 
#define INITIAL   0
 
#define Bases   1
 
#define ParseType   2
 
#define ParseFuncProto   3
 
#define ParseComponent   4
 
#define ParsePackage   5
 
#define ParseProcessProto   6
 
#define ClassName   7
 
#define PackageName   8
 
#define ClassVar   9
 
#define ClassesName   10
 
#define Map   11
 
#define Body   12
 
#define YY_EXTRA_TYPE   void *
 
#define YY_READ_BUF_SIZE   8192
 
#define ECHO   do { if (fwrite( vhdlcodeYYtext, vhdlcodeYYleng, 1, vhdlcodeYYout )) {} } while (0)
 
#define yyterminate()   return YY_NULL
 
#define YY_START_STACK_INCR   25
 
#define YY_FATAL_ERROR(msg)   yy_fatal_error( msg )
 
#define YY_DECL_IS_OURS   1
 
#define YY_DECL   int vhdlcodeYYlex (void)
 
#define YY_USER_ACTION
 
#define YY_BREAK   break;
 
#define YY_RULE_SETUP
 
#define YY_EXIT_FAILURE   2
 
#define yyless(n)
 
#define YYTABLES_NAME   "yytables"
 

Typedefs

typedef signed char flex_int8_t
 
typedef short int flex_int16_t
 
typedef int flex_int32_t
 
typedef unsigned char flex_uint8_t
 
typedef unsigned short int flex_uint16_t
 
typedef unsigned int flex_uint32_t
 
typedef struct yy_buffer_stateYY_BUFFER_STATE
 
typedef size_t yy_size_t
 
typedef unsigned char YY_CHAR
 
typedef int yy_state_type
 

Functions

void vhdlcodeYYrestart (FILE *input_file)
 
void vhdlcodeYY_switch_to_buffer (YY_BUFFER_STATE new_buffer)
 
YY_BUFFER_STATE vhdlcodeYY_create_buffer (FILE *file, int size)
 
void vhdlcodeYY_delete_buffer (YY_BUFFER_STATE b)
 
void vhdlcodeYY_flush_buffer (YY_BUFFER_STATE b)
 
void vhdlcodeYYpush_buffer_state (YY_BUFFER_STATE new_buffer)
 
void vhdlcodeYYpop_buffer_state (void)
 
static void vhdlcodeYYensure_buffer_stack (void)
 
static void vhdlcodeYY_load_buffer_state (void)
 
static void vhdlcodeYY_init_buffer (YY_BUFFER_STATE b, FILE *file)
 
YY_BUFFER_STATE vhdlcodeYY_scan_buffer (char *base, yy_size_t size)
 
YY_BUFFER_STATE vhdlcodeYY_scan_string (yyconst char *yy_str)
 
YY_BUFFER_STATE vhdlcodeYY_scan_bytes (yyconst char *bytes, int len)
 
void * vhdlcodeYYalloc (yy_size_t)
 
void * vhdlcodeYYrealloc (void *, yy_size_t)
 
void vhdlcodeYYfree (void *)
 
static yy_state_type yy_get_previous_state (void)
 
static yy_state_type yy_try_NUL_trans (yy_state_type current_state)
 
static int yy_get_next_buffer (void)
 
static void yy_fatal_error (yyconst char msg[])
 
static void writeFont (const char *s, const char *text)
 
static void generateMemLink (CodeOutputInterface &ol, QCString &clName, QCString &memberName)
 
static bool writeColoredWord (QCString &word)
 
static void generateClassOrGlobalLink (CodeOutputInterface &ol, const char *clName, bool typeOnly=FALSE)
 
static void endFontClass ()
 
static void startFontClass (const char *s)
 
static void setCurrentDoc (const QCString &anchor)
 
static bool checkVhdlString (QCString &name)
 
static void addToSearchIndex (const char *text)
 
static void startCodeLine ()
 
static void endCodeLine ()
 
static void nextCodeLine ()
 
static void writeWord (const char *word, const char *curr_class=0, bool classLink=FALSE)
 
static void codifyLines (const char *text, const char *cl=0, bool classlink=FALSE, bool comment=FALSE)
 
static void writeMultiLineCodeLink (CodeOutputInterface &ol, Definition *d, const char *text)
 
static void setParameterList (MemberDef *md)
 
static void generateFuncLink (CodeOutputInterface &ol, MemberDef *mdef)
 
static int countLines ()
 
static void appStringLower (QCString &qcs, const char *text)
 
static void codifyMapLines (const char *text)
 
static void writeFuncProto ()
 
static void writeProcessProto ()
 
static int yyread (char *buf, int max_size)
 
static int yy_init_globals (void)
 
int vhdlcodeYYlex_destroy (void)
 
int vhdlcodeYYget_debug (void)
 
void vhdlcodeYYset_debug (int debug_flag)
 
YY_EXTRA_TYPE vhdlcodeYYget_extra (void)
 
void vhdlcodeYYset_extra (YY_EXTRA_TYPE user_defined)
 
FILE * vhdlcodeYYget_in (void)
 
void vhdlcodeYYset_in (FILE *in_str)
 
FILE * vhdlcodeYYget_out (void)
 
void vhdlcodeYYset_out (FILE *out_str)
 
int vhdlcodeYYget_leng (void)
 
char * vhdlcodeYYget_text (void)
 
int vhdlcodeYYget_lineno (void)
 
void vhdlcodeYYset_lineno (int line_number)
 
int vhdlcodeYYlex (void)
 
 if (!(yy_init))
 
 while (1)
 
static void yy_fatal_error (yyconst char *msg)
 
void resetVhdlCodeParserState ()
 
void parseVhdlCode (CodeOutputInterface &od, const char *className, const QCString &s, bool, const char *exName, FileDef *fd, int startLine, int endLine, bool inlineFragment, MemberDef *memberDef, bool, Definition *searchCtx, bool)
 
void codeFreeVhdlScanner ()
 

Variables

int vhdlcodeYYleng
 
FILE * vhdlcodeYYin = (FILE *) 0
 
FILE * vhdlcodeYYout = (FILE *) 0
 
static size_t yy_buffer_stack_top = 0
 
static size_t yy_buffer_stack_max = 0
 
static YY_BUFFER_STATEyy_buffer_stack = 0
 
static char yy_hold_char
 
static int yy_n_chars
 
static char * yy_c_buf_p = (char *) 0
 
static int yy_init = 0
 
static int yy_start = 0
 
static int yy_did_buffer_switch_on_eof
 
int vhdlcodeYYlineno = 1
 
char * vhdlcodeYYtext
 
static yyconst flex_int16_t yy_accept [4944]
 
static yyconst flex_int32_t yy_ec [256]
 
static yyconst flex_int32_t yy_meta [82]
 
static yyconst flex_int32_t yy_base [5628]
 
static yyconst flex_int16_t yy_def [5628]
 
static yyconst flex_int16_t yy_nxt [76541]
 
static yyconst flex_int16_t yy_chk [76541]
 
static yy_state_type yy_last_accepting_state
 
static char * yy_last_accepting_cpos
 
int vhdlcodeYY_flex_debug = 0
 
static bool isFuncProto =FALSE
 
static bool isComponent =FALSE
 
static bool isPackageBody =FALSE
 
static bool isProto = FALSE
 
static bool g_startCode = FALSE
 
static QCString g_PrevString
 
static QCString g_CurrClass
 
static QDict< QCStringg_vhdlKeyDict
 
static QCString g_tempComp
 
static QCString g_PortMapComp
 
static MemberDefg_vhdlMember
 
static QCString g_FuncProto
 
static CodeOutputInterfaceg_code
 
static QCString g_parmType
 
static QCString g_parmName
 
static const char * g_inputString
 the code fragment as text More...
 
static int g_inputPosition
 read offset during parsing More...
 
static int g_inputLines
 number of line in the code fragment More...
 
static int g_yyLineNr
 current line number More...
 
static bool g_needsTermination
 
static Definitiong_searchCtx
 
static QCString g_exampleName
 
static QCString g_exampleFile
 
static QCString g_classScope
 
static QCString g_CurrScope
 
static FileDefg_sourceFileDef
 
static Definitiong_currentDefinition
 
static MemberDefg_currentMemberDef
 
static bool g_includeCodeFragment
 
static const char * g_currentFontClass
 
static bool g_lexInit = FALSE
 
static int g_braceCount =0
 
static QCString g_temp
 
 YY_DECL
 
register char * yy_cp
 
register char * yy_bp
 
register int yy_act
 

Macro Definition Documentation

#define Bases   1

Definition at line 19852 of file vhdlcode.cpp.

#define BEGIN   (yy_start) = 1 + 2 *

Definition at line 144 of file vhdlcode.cpp.

#define Body   12

Definition at line 19863 of file vhdlcode.cpp.

#define ClassesName   10

Definition at line 19861 of file vhdlcode.cpp.

#define ClassName   7

Definition at line 19858 of file vhdlcode.cpp.

#define ClassVar   9

Definition at line 19860 of file vhdlcode.cpp.

#define DBG_CTX (   x)    do { } while(0)

Definition at line 19144 of file vhdlcode.cpp.

#define ECHO   do { if (fwrite( vhdlcodeYYtext, vhdlcodeYYleng, 1, vhdlcodeYYout )) {} } while (0)

Definition at line 19948 of file vhdlcode.cpp.

#define EOB_ACT_CONTINUE_SCAN   0

Definition at line 179 of file vhdlcode.cpp.

#define EOB_ACT_END_OF_FILE   1

Definition at line 180 of file vhdlcode.cpp.

#define EOB_ACT_LAST_MATCH   2

Definition at line 181 of file vhdlcode.cpp.

#define FLEX_BETA

Definition at line 33 of file vhdlcode.cpp.

#define FLEX_SCANNER

Definition at line 28 of file vhdlcode.cpp.

#define FLEXINT_H

Definition at line 49 of file vhdlcode.cpp.

#define INITIAL   0

Definition at line 19851 of file vhdlcode.cpp.

#define INT16_MAX   (32767)

Definition at line 92 of file vhdlcode.cpp.

#define INT16_MIN   (-32767-1)

Definition at line 83 of file vhdlcode.cpp.

#define INT32_MAX   (2147483647)

Definition at line 95 of file vhdlcode.cpp.

#define INT32_MIN   (-2147483647-1)

Definition at line 86 of file vhdlcode.cpp.

#define INT8_MAX   (127)

Definition at line 89 of file vhdlcode.cpp.

#define INT8_MIN   (-128)

Definition at line 80 of file vhdlcode.cpp.

#define Map   11

Definition at line 19862 of file vhdlcode.cpp.

#define PackageName   8

Definition at line 19859 of file vhdlcode.cpp.

#define ParseComponent   4

Definition at line 19855 of file vhdlcode.cpp.

#define ParseFuncProto   3

Definition at line 19854 of file vhdlcode.cpp.

#define ParsePackage   5

Definition at line 19856 of file vhdlcode.cpp.

#define ParseProcessProto   6

Definition at line 19857 of file vhdlcode.cpp.

#define ParseType   2

Definition at line 19853 of file vhdlcode.cpp.

#define REJECT   reject_used_but_not_detected

Definition at line 19088 of file vhdlcode.cpp.

#define UINT16_MAX   (65535U)

Definition at line 101 of file vhdlcode.cpp.

#define UINT32_MAX   (4294967295U)

Definition at line 104 of file vhdlcode.cpp.

#define UINT8_MAX   (255U)

Definition at line 98 of file vhdlcode.cpp.

#define unput (   c)    yyunput( c, (yytext_ptr) )

Definition at line 199 of file vhdlcode.cpp.

#define vhdlcodeYYwrap (   n)    1

Definition at line 354 of file vhdlcode.cpp.

#define YY_AT_BOL ( )    (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)

Definition at line 350 of file vhdlcode.cpp.

#define YY_BREAK   break;

Definition at line 20027 of file vhdlcode.cpp.

#define YY_BUF_SIZE   16384

Definition at line 163 of file vhdlcode.cpp.

#define YY_BUFFER_EOF_PENDING   2

Definition at line 266 of file vhdlcode.cpp.

#define YY_BUFFER_NEW   0

Definition at line 254 of file vhdlcode.cpp.

#define YY_BUFFER_NORMAL   1

Definition at line 255 of file vhdlcode.cpp.

#define yy_create_buffer   vhdlcodeYY_create_buffer

Definition at line 9 of file vhdlcode.cpp.

#define YY_CURRENT_BUFFER
Value:
: NULL)
static YY_BUFFER_STATE * yy_buffer_stack
Definition: vhdlcode.cpp:274
static size_t yy_buffer_stack_top
Definition: vhdlcode.cpp:272

Definition at line 282 of file vhdlcode.cpp.

#define YY_CURRENT_BUFFER_LVALUE   (yy_buffer_stack)[(yy_buffer_stack_top)]

Definition at line 289 of file vhdlcode.cpp.

#define YY_DECL   int vhdlcodeYYlex (void)

Definition at line 20015 of file vhdlcode.cpp.

#define YY_DECL_IS_OURS   1

Definition at line 20011 of file vhdlcode.cpp.

#define yy_delete_buffer   vhdlcodeYY_delete_buffer

Definition at line 10 of file vhdlcode.cpp.

#define YY_DO_BEFORE_ACTION
Value:
vhdlcodeYYleng = (size_t) (yy_cp - yy_bp); \
*yy_cp = '\0'; \
register char * yy_bp
Definition: vhdlcode.cpp:20041
register char * yy_cp
Definition: vhdlcode.cpp:20041
#define yytext_ptr
Definition: vhdlcode.cpp:368
static char yy_hold_char
Definition: vhdlcode.cpp:292
static char * yy_c_buf_p
Definition: vhdlcode.cpp:297
int vhdlcodeYYleng
Definition: vhdlcode.cpp:294

Definition at line 378 of file vhdlcode.cpp.

#define YY_END_OF_BUFFER   59

Definition at line 386 of file vhdlcode.cpp.

#define YY_END_OF_BUFFER_CHAR   0

Definition at line 159 of file vhdlcode.cpp.

#define YY_EXIT_FAILURE   2

Definition at line 21757 of file vhdlcode.cpp.

#define YY_EXTRA_TYPE   void *

Definition at line 19874 of file vhdlcode.cpp.

#define YY_FATAL_ERROR (   msg)    yy_fatal_error( msg )

Definition at line 20002 of file vhdlcode.cpp.

#define yy_flex_debug   vhdlcodeYY_flex_debug

Definition at line 11 of file vhdlcode.cpp.

#define YY_FLEX_MAJOR_VERSION   2

Definition at line 29 of file vhdlcode.cpp.

#define YY_FLEX_MINOR_VERSION   5

Definition at line 30 of file vhdlcode.cpp.

#define YY_FLEX_SUBMINOR_VERSION   35

Definition at line 31 of file vhdlcode.cpp.

#define yy_flush_buffer   vhdlcodeYY_flush_buffer

Definition at line 13 of file vhdlcode.cpp.

#define YY_FLUSH_BUFFER   vhdlcodeYY_flush_buffer(YY_CURRENT_BUFFER )

Definition at line 318 of file vhdlcode.cpp.

#define yy_init_buffer   vhdlcodeYY_init_buffer

Definition at line 12 of file vhdlcode.cpp.

#define YY_INPUT (   buf,
  result,
  max_size 
)    result=yyread(buf,max_size);

Definition at line 19824 of file vhdlcode.cpp.

#define YY_INT_ALIGNED   short int

Definition at line 5 of file vhdlcode.cpp.

#define YY_LESS_LINENO (   n)

Definition at line 183 of file vhdlcode.cpp.

#define yy_load_buffer_state   vhdlcodeYY_load_buffer_state

Definition at line 14 of file vhdlcode.cpp.

#define YY_MORE_ADJ   0

Definition at line 19090 of file vhdlcode.cpp.

#define yy_new_buffer   vhdlcodeYY_create_buffer

Definition at line 328 of file vhdlcode.cpp.

#define YY_NEW_FILE   vhdlcodeYYrestart(vhdlcodeYYin )

Definition at line 157 of file vhdlcode.cpp.

#define YY_NO_INPUT   1

Definition at line 19139 of file vhdlcode.cpp.

#define YY_NO_UNISTD_H   1

Definition at line 19140 of file vhdlcode.cpp.

#define YY_NULL   0

Definition at line 131 of file vhdlcode.cpp.

#define YY_NUM_RULES   58

Definition at line 385 of file vhdlcode.cpp.

#define YY_READ_BUF_SIZE   8192

Definition at line 19940 of file vhdlcode.cpp.

#define YY_RESTORE_YY_MORE_OFFSET

Definition at line 19091 of file vhdlcode.cpp.

#define YY_RULE_SETUP
Value:
if ( vhdlcodeYYleng > 0 ) \
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
#define YY_USER_ACTION
Definition: vhdlcode.cpp:20022
char * vhdlcodeYYtext
Definition: vhdlcode.cpp:19092
int vhdlcodeYYleng
Definition: vhdlcode.cpp:294

Definition at line 20030 of file vhdlcode.cpp.

#define YY_SC_TO_UI (   c)    ((unsigned int) (unsigned char) c)

Definition at line 138 of file vhdlcode.cpp.

#define yy_set_bol (   at_bol)
Value:
{ \
vhdlcodeYYensure_buffer_stack (); \
vhdlcodeYY_create_buffer(vhdlcodeYYin,YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
if(!(yy_init))
Definition: vhdlcode.cpp:20049
#define YY_BUF_SIZE
Definition: vhdlcode.cpp:163
FILE * vhdlcodeYYin
Definition: vhdlcode.cpp:359
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
#define YY_CURRENT_BUFFER
Definition: vhdlcode.cpp:282

Definition at line 340 of file vhdlcode.cpp.

#define yy_set_interactive (   is_interactive)
Value:
{ \
vhdlcodeYYensure_buffer_stack (); \
vhdlcodeYY_create_buffer(vhdlcodeYYin,YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
if(!(yy_init))
Definition: vhdlcode.cpp:20049
#define YY_BUF_SIZE
Definition: vhdlcode.cpp:163
FILE * vhdlcodeYYin
Definition: vhdlcode.cpp:359
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
#define YY_CURRENT_BUFFER
Definition: vhdlcode.cpp:282

Definition at line 330 of file vhdlcode.cpp.

#define YY_SKIP_YYWRAP

Definition at line 355 of file vhdlcode.cpp.

#define YY_START   (((yy_start) - 1) / 2)

Definition at line 150 of file vhdlcode.cpp.

#define YY_START_STACK_INCR   25

Definition at line 19997 of file vhdlcode.cpp.

#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))

Definition at line 168 of file vhdlcode.cpp.

#define YY_STATE_EOF (   state)    (YY_END_OF_BUFFER + state + 1)

Definition at line 154 of file vhdlcode.cpp.

#define YY_STRUCT_YY_BUFFER_STATE

Definition at line 207 of file vhdlcode.cpp.

#define yy_switch_to_buffer   vhdlcodeYY_switch_to_buffer

Definition at line 15 of file vhdlcode.cpp.

#define YY_TYPEDEF_YY_BUFFER_STATE

Definition at line 171 of file vhdlcode.cpp.

#define YY_TYPEDEF_YY_SIZE_T

Definition at line 202 of file vhdlcode.cpp.

#define YY_USER_ACTION

Definition at line 20022 of file vhdlcode.cpp.

#define yyalloc   vhdlcodeYYalloc

Definition at line 24 of file vhdlcode.cpp.

#define yyconst

Definition at line 127 of file vhdlcode.cpp.

#define yyfree   vhdlcodeYYfree

Definition at line 26 of file vhdlcode.cpp.

#define yyin   vhdlcodeYYin

Definition at line 16 of file vhdlcode.cpp.

#define yyleng   vhdlcodeYYleng

Definition at line 17 of file vhdlcode.cpp.

#define yyless (   n)
Value:
do \
{ \
/* Undo effects of setting up vhdlcodeYYtext. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
YY_DO_BEFORE_ACTION; /* set up vhdlcodeYYtext again */ \
} \
while ( 0 )
#define YY_RESTORE_YY_MORE_OFFSET
Definition: vhdlcode.cpp:19091
register char * yy_bp
Definition: vhdlcode.cpp:20041
#define YY_DO_BEFORE_ACTION
Definition: vhdlcode.cpp:378
register char * yy_cp
Definition: vhdlcode.cpp:20041
#define YY_MORE_ADJ
Definition: vhdlcode.cpp:19090
std::void_t< T > n
static char yy_hold_char
Definition: vhdlcode.cpp:292
static char * yy_c_buf_p
Definition: vhdlcode.cpp:297
while(1)
Definition: vhdlcode.cpp:20075

Definition at line 21769 of file vhdlcode.cpp.

#define yyless (   n)
Value:
do \
{ \
/* Undo effects of setting up vhdlcodeYYtext. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
(yy_c_buf_p) = vhdlcodeYYtext + yyless_macro_arg; \
*(yy_c_buf_p) = '\0'; \
vhdlcodeYYleng = yyless_macro_arg; \
} \
while ( 0 )
std::void_t< T > n
static char yy_hold_char
Definition: vhdlcode.cpp:292
static char * yy_c_buf_p
Definition: vhdlcode.cpp:297
char * vhdlcodeYYtext
Definition: vhdlcode.cpp:19092
int vhdlcodeYYleng
Definition: vhdlcode.cpp:294
while(1)
Definition: vhdlcode.cpp:20075

Definition at line 21769 of file vhdlcode.cpp.

#define yylex   vhdlcodeYYlex

Definition at line 18 of file vhdlcode.cpp.

#define yylineno   vhdlcodeYYlineno

Definition at line 19 of file vhdlcode.cpp.

#define yymore ( )    yymore_used_but_not_detected

Definition at line 19089 of file vhdlcode.cpp.

#define yyout   vhdlcodeYYout

Definition at line 20 of file vhdlcode.cpp.

#define yyrealloc   vhdlcodeYYrealloc

Definition at line 25 of file vhdlcode.cpp.

#define yyrestart   vhdlcodeYYrestart

Definition at line 21 of file vhdlcode.cpp.

#define YYSTATE   YY_START

Definition at line 151 of file vhdlcode.cpp.

#define YYTABLES_NAME   "yytables"

Definition at line 21959 of file vhdlcode.cpp.

#define yyterminate ( )    return YY_NULL

Definition at line 19992 of file vhdlcode.cpp.

#define yytext   vhdlcodeYYtext

Definition at line 22 of file vhdlcode.cpp.

#define yytext_ptr   vhdlcodeYYtext

Definition at line 368 of file vhdlcode.cpp.

#define yywrap   vhdlcodeYYwrap

Definition at line 23 of file vhdlcode.cpp.

Typedef Documentation

typedef short int flex_int16_t

Definition at line 71 of file vhdlcode.cpp.

typedef int flex_int32_t

Definition at line 72 of file vhdlcode.cpp.

typedef signed char flex_int8_t

Definition at line 70 of file vhdlcode.cpp.

typedef unsigned short int flex_uint16_t

Definition at line 74 of file vhdlcode.cpp.

typedef unsigned int flex_uint32_t

Definition at line 75 of file vhdlcode.cpp.

typedef unsigned char flex_uint8_t

Definition at line 73 of file vhdlcode.cpp.

Definition at line 172 of file vhdlcode.cpp.

typedef unsigned char YY_CHAR

Definition at line 357 of file vhdlcode.cpp.

typedef size_t yy_size_t

Definition at line 203 of file vhdlcode.cpp.

typedef int yy_state_type

Definition at line 361 of file vhdlcode.cpp.

Function Documentation

static void addToSearchIndex ( const char *  text)
static

Definition at line 19258 of file vhdlcode.cpp.

19259 {
19261  {
19263  }
19264 }
const bool FALSE
Definition: qglobal.h:370
static SearchIndexIntf * searchIndex
Definition: doxygen.h:133
virtual void addWord(const char *word, bool hiPriority)=0
static void appStringLower ( QCString qcs,
const char *  text 
)
static

Definition at line 19693 of file vhdlcode.cpp.

19694 {
19695  qcs.resize(0);
19696  qcs.append(text);
19697  //qcs=qcs.lower();
19698  qcs=qcs.stripWhiteSpace();
19699 }
bool resize(uint newlen)
Definition: qcstring.h:225
QCString stripWhiteSpace() const
Definition: qcstring.cpp:295
QCString & append(const char *s)
Definition: qcstring.cpp:383
static bool checkVhdlString ( QCString name)
static

Definition at line 19221 of file vhdlcode.cpp.

19222 {
19223  if (name.isEmpty()) return FALSE;
19224  static QRegExp regg("[\\s\"]");
19225 
19226  int len=name.length();
19227  if (name.at(0)=='"' && name.at(len-1)=='"' && len > 2)
19228  {
19229  QStringList qrl=QStringList::split(regg,name,FALSE);
19230  if (VhdlDocGen::isNumber(qrl[0].utf8()))
19231  {
19232  g_code->codify("\"");
19233  startFontClass("vhdllogic");
19234  QCString mid=name.mid(1,len-2); //" 1223 "
19235  g_code->codify(mid.data());
19236  endFontClass();
19237  g_code->codify("\"");
19238  }
19239  else
19240  {
19241  startFontClass("keyword");
19242  g_code->codify(name.data());
19243  endFontClass();
19244  }
19245  return TRUE;
19246  }
19247 
19248  if (VhdlDocGen::isNumber(name))
19249  {
19250  startFontClass("vhdllogic");
19251  g_code->codify(name.data());
19252  endFontClass();
19253  return TRUE;
19254  }
19255  return FALSE;
19256 }
static bool isNumber(const QCString &s)
bool isEmpty() const
Definition: qcstring.h:189
The QRegExp class provides pattern matching using regular expressions or wildcards.
Definition: qregexp.h:46
uint length() const
Definition: qcstring.h:195
char & at(uint i) const
Definition: qcstring.h:326
static void startFontClass(const char *s)
Definition: vhdlcode.cpp:19674
const bool FALSE
Definition: qglobal.h:370
static CodeOutputInterface * g_code
Definition: vhdlcode.cpp:19170
A list of strings.
Definition: qstringlist.h:51
const char * data() const
Definition: qcstring.h:207
QCString mid(uint index, uint len=0xffffffff) const
Definition: qcstring.cpp:246
virtual void codify(const char *s)=0
static QStringList split(const QString &sep, const QString &str, bool allowEmptyEntries=FALSE)
const bool TRUE
Definition: qglobal.h:371
static void endFontClass()
Definition: vhdlcode.cpp:19665
void codeFreeVhdlScanner ( )

Definition at line 22070 of file vhdlcode.cpp.

22071 {
22072 #if defined(YY_FLEX_SUBMINOR_VERSION)
22073  if (g_lexInit)
22074  {
22076  }
22077 #endif
22078 }
static bool g_lexInit
Definition: vhdlcode.cpp:19193
int vhdlcodeYYlex_destroy(void)
Definition: vhdlcode.cpp:21892
static void codifyLines ( const char *  text,
const char *  cl = 0,
bool  classlink = FALSE,
bool  comment = FALSE 
)
static

write a code fragment `text' that may span multiple lines, inserting line numbers for each line.

Definition at line 19442 of file vhdlcode.cpp.

19443 {
19444  if (text==0) return;
19445  //printf("codifyLines(%d,\"%s\")\n",g_yyLineNr,text);
19446  const char *p=text,*sp=p;
19447  char c;
19448  bool done=FALSE;
19449  while (!done)
19450  {
19451  sp=p;
19452  while ((c=*p++) && c!='\n') {}
19453  if (c=='\n')
19454  {
19455  g_yyLineNr++;
19456  QCString line = sp;
19457  line = line.left((int)(p-sp)-1);
19458  //*(p-1)='\0';
19459  //g_code->codify(sp);
19460  if (comment)
19461  {
19462  writeFont("keyword",line.data());
19463  }
19464  else
19465  {
19466  writeWord(line,cl,classlink);
19467  }
19468  nextCodeLine();
19469  }
19470  else
19471  {
19472  if (comment)
19473  writeFont("keyword",sp);
19474  else
19475  writeWord(sp,cl,classlink);
19476  done=TRUE;
19477  }
19478  }
19479 }
static void writeWord(const char *word, const char *curr_class=0, bool classLink=FALSE)
Definition: vhdlcode.cpp:19356
static int g_yyLineNr
current line number
Definition: vhdlcode.cpp:19176
const bool FALSE
Definition: qglobal.h:370
static void writeFont(const char *s, const char *text)
Definition: vhdlcode.cpp:19682
QCString left(uint len) const
Definition: qcstring.cpp:213
int comment
QAsciiDict< Entry > cl
p
Definition: test.py:223
const char * data() const
Definition: qcstring.h:207
static void nextCodeLine()
Definition: vhdlcode.cpp:19337
void line(double t, double *p, double &x, double &y, double &z)
const bool TRUE
Definition: qglobal.h:371
static void codifyMapLines ( const char *  text)
static

Definition at line 19710 of file vhdlcode.cpp.

19711 {
19712  if (text==0) return;
19713  g_temp.resize(0);
19714  //bool dot=FALSE;
19715  int wordCounter=0;
19716  QCString ctemp;
19717  //printf("codifyLines(%d,\"%s\")\n",g_yyLineNr,text);
19718  const char *p=text; //,*sp=p;
19719  char c;
19720  bool done=FALSE;
19721  while (!done)
19722  {
19723  //sp=p;
19724  while ((c=*p++) && c!='\n' && c!=':' && c != ' ' && c != '(' && c!='\0' && c!='\t')
19725  {
19726  if (c!=0x9)
19727  g_temp+=c;
19728  }
19729  if (c=='\0') return;
19730  if (!g_temp.isEmpty()) wordCounter++;
19731 
19732  if (!g_temp.isEmpty())
19733  {
19734  // different kinds of component instantiations
19735  // xxx:yyy (generic/port) map(
19736  // xxx:(entity/component/configuration) yyy (generic/port) map(
19737  // xxx: entity yyy(zzz) (generic/port) map(
19738  if (wordCounter==2 || wordCounter==3)
19739  {
19740  QCString q=g_temp.lower(); // consider (upper/lower) cases
19741  if (q=="entity" || q=="component" || q=="configuration" || q=="port" || q=="generic")
19742  {
19744  }
19745  else
19746  {
19749  }
19750  }
19751  else
19752  {
19754  }
19755  }
19756  ctemp.fill(c,1);
19757  codifyLines(ctemp.data());
19758  ctemp.resize(0);
19759  g_temp.resize(0);
19760  }//while
19761 }//codifymaplines
bool resize(uint newlen)
Definition: qcstring.h:225
bool isEmpty() const
Definition: qcstring.h:189
const bool FALSE
Definition: qglobal.h:370
static CodeOutputInterface * g_code
Definition: vhdlcode.cpp:19170
static void generateMemLink(CodeOutputInterface &ol, QCString &clName, QCString &memberName)
Definition: vhdlcode.cpp:19564
static QCString g_PortMapComp
Definition: vhdlcode.cpp:19164
static QCString g_CurrClass
Definition: vhdlcode.cpp:19161
p
Definition: test.py:223
const char * data() const
Definition: qcstring.h:207
static QCString g_temp
Definition: vhdlcode.cpp:19707
bool fill(char c, int len=-1)
Definition: qcstring.h:243
static void generateClassOrGlobalLink(CodeOutputInterface &ol, const char *clName, bool typeOnly=FALSE)
Definition: vhdlcode.cpp:19602
QCString lower() const
Definition: qcstring.cpp:263
static void codifyLines(const char *text, const char *cl=0, bool classlink=FALSE, bool comment=FALSE)
Definition: vhdlcode.cpp:19442
static int countLines ( )
static

counts the number of lines in the input

Definition at line 19646 of file vhdlcode.cpp.

19647 {
19648  const char *p=g_inputString;
19649  char c;
19650  int count=1;
19651  while ((c=*p))
19652  {
19653  p++ ;
19654  if (c=='\n') count++;
19655  }
19656  if (p>g_inputString && *(p-1)!='\n')
19657  { // last line does not end with a \n, so we add an extra
19658  // line and explicitly terminate the line after parsing.
19659  count++,
19661  }
19662  return count;
19663 }
p
Definition: test.py:223
static bool g_needsTermination
Definition: vhdlcode.cpp:19177
const bool TRUE
Definition: qglobal.h:371
static const char * g_inputString
the code fragment as text
Definition: vhdlcode.cpp:19173
static void endCodeLine ( )
static

Definition at line 19331 of file vhdlcode.cpp.

19332 {
19333  endFontClass();
19334  g_code->endCodeLine();
19335 }
static CodeOutputInterface * g_code
Definition: vhdlcode.cpp:19170
virtual void endCodeLine()=0
static void endFontClass()
Definition: vhdlcode.cpp:19665
static void endFontClass ( )
static

Definition at line 19665 of file vhdlcode.cpp.

19666 {
19667  if (g_currentFontClass)
19668  {
19669  g_code->endFontClass();
19671  }
19672 }
virtual void endFontClass()=0
static CodeOutputInterface * g_code
Definition: vhdlcode.cpp:19170
static const char * g_currentFontClass
Definition: vhdlcode.cpp:19191
static void generateClassOrGlobalLink ( CodeOutputInterface ol,
const char *  clName,
bool  typeOnly = FALSE 
)
static

Definition at line 19602 of file vhdlcode.cpp.

19603 {
19604  QCString className=clName;
19605 
19606  if (className.isEmpty()) return;
19607 
19608  ClassDef *cd=0;
19609  //MemberDef *md=0;
19610  //bool isLocal=FALSE;
19611  className.stripPrefix("_");
19612  cd = getClass(className.data());
19613  while (cd)
19614  {
19615  //className.stripPrefix("_");
19616  QCString temp(clName);
19617  temp.stripPrefix("_");
19618  if (cd && cd->isLinkable()) // is it a linkable class
19619  {
19620  //if ((VhdlDocGen::VhdlClasses)cd->protection()==VhdlDocGen::ARCHITECTURECLASS)
19621  //{
19622  // temp=VhdlDocGen::getClassName(cd);
19623  //}
19625  addToSearchIndex(className);
19626  return;
19627  }
19628  Definition *d = cd->getOuterScope();
19629  if (d && d->definitionType()==Definition::TypeClass)
19630  {
19631  cd = (ClassDef*)d;
19632  }
19633  else
19634  {
19635  cd = 0;
19636  }
19637  }
19638 
19639  // nothing found, just write out the word
19640  codifyLines(clName);
19641  addToSearchIndex(clName);
19642 }// generateClasss or global link
bool isEmpty() const
Definition: qcstring.h:189
static void writeMultiLineCodeLink(CodeOutputInterface &ol, Definition *d, const char *text)
Definition: vhdlcode.cpp:19485
static QCString className
Definition: declinfo.cpp:669
bool stripPrefix(const char *prefix)
Definition: qcstring.cpp:201
ClassDef * getClass(const char *n)
Definition: util.cpp:472
virtual DefType definitionType() const =0
const char * data() const
Definition: qcstring.h:207
bool isLinkable() const
Definition: classdef.cpp:2729
virtual Definition * getOuterScope() const
static void addToSearchIndex(const char *text)
Definition: vhdlcode.cpp:19258
static void codifyLines(const char *text, const char *cl=0, bool classlink=FALSE, bool comment=FALSE)
Definition: vhdlcode.cpp:19442
static void generateFuncLink ( CodeOutputInterface ol,
MemberDef mdef 
)
static

writes a link to a function or procedure

Definition at line 19547 of file vhdlcode.cpp.

19548 {
19549 
19550  //printf("generateFuncLink(FuncName=%s)\n",mdef->name().data());
19551  QCString memberName=mdef->name();
19552 
19553  if (mdef && mdef->isLinkable()) // is it a linkable class
19554  {
19555  writeMultiLineCodeLink(ol,mdef,mdef->name());
19556  addToSearchIndex(memberName);
19557  return;
19558  }
19559  codifyLines(memberName.data());
19560  addToSearchIndex(memberName);
19561 } // generateFuncLink
static void writeMultiLineCodeLink(CodeOutputInterface &ol, Definition *d, const char *text)
Definition: vhdlcode.cpp:19485
const QCString & name() const
Definition: definition.h:114
const char * data() const
Definition: qcstring.h:207
static void addToSearchIndex(const char *text)
Definition: vhdlcode.cpp:19258
bool isLinkable() const
Definition: memberdef.cpp:1161
static void codifyLines(const char *text, const char *cl=0, bool classlink=FALSE, bool comment=FALSE)
Definition: vhdlcode.cpp:19442
static void generateMemLink ( CodeOutputInterface ol,
QCString clName,
QCString memberName 
)
static

Definition at line 19564 of file vhdlcode.cpp.

19565 {
19566  if (memberName.isEmpty()) return;
19567  if (clName.isEmpty())
19568  {
19569  codifyLines(memberName.data());
19570 
19571  return;
19572  }
19573 
19574  QCString className=clName;
19575 
19576  MemberDef *md=0;
19577  //MemberDef *comp=0;
19578  //bool isLocal=FALSE;
19579 
19580  md=VhdlDocGen::findMember(className,memberName);
19581  ClassDef *po=VhdlDocGen::getClass(className.data());
19582 
19583  if (md==0 && po && (VhdlDocGen::VhdlClasses)po->protection()==VhdlDocGen::PACKBODYCLASS)
19584  {
19585  QCString temp=className;//.stripPrefix("_");
19586  temp.stripPrefix("_");
19587  md=VhdlDocGen::findMember(temp,memberName);
19588  }
19589 
19590  if (md && md->isLinkable()) // is it a linkable class
19591  {
19592  writeMultiLineCodeLink(ol,md,memberName);
19593  addToSearchIndex(memberName);
19594  return;
19595  }
19596  // nothing found, just write out the word
19597  codifyLines(memberName.data());
19598  addToSearchIndex(memberName);
19599 }// generateMemLink
bool isEmpty() const
Definition: qcstring.h:189
static void writeMultiLineCodeLink(CodeOutputInterface &ol, Definition *d, const char *text)
Definition: vhdlcode.cpp:19485
static QCString className
Definition: declinfo.cpp:669
bool stripPrefix(const char *prefix)
Definition: qcstring.cpp:201
static ClassDef * getClass(const char *name)
Definition: vhdldocgen.cpp:693
Protection protection() const
Definition: classdef.cpp:4414
const char * data() const
Definition: qcstring.h:207
static MemberDef * findMember(const QCString &className, const QCString &memName)
Definition: vhdldocgen.cpp:717
static void addToSearchIndex(const char *text)
Definition: vhdlcode.cpp:19258
bool isLinkable() const
Definition: memberdef.cpp:1161
static void codifyLines(const char *text, const char *cl=0, bool classlink=FALSE, bool comment=FALSE)
Definition: vhdlcode.cpp:19442
if ( yy_init)

Definition at line 20049 of file vhdlcode.cpp.

20050  {
20051  (yy_init) = 1;
20052 
20053 #ifdef YY_USER_INIT
20054  YY_USER_INIT;
20055 #endif
20056 
20057  if ( ! (yy_start) )
20058  (yy_start) = 1; /* first start state */
20059 
20060  if ( ! vhdlcodeYYin )
20061  vhdlcodeYYin = stdin;
20062 
20063  if ( ! vhdlcodeYYout )
20065 
20066  if ( ! YY_CURRENT_BUFFER ) {
20070  }
20071 
20073  }
static void vhdlcodeYY_load_buffer_state(void)
Definition: vhdlcode.cpp:21460
#define YY_BUF_SIZE
Definition: vhdlcode.cpp:163
YY_BUFFER_STATE vhdlcodeYY_create_buffer(FILE *file, int size)
Definition: vhdlcode.cpp:21474
static int yy_start
Definition: vhdlcode.cpp:299
FILE * vhdlcodeYYout
Definition: vhdlcode.cpp:359
FILE * vhdlcodeYYin
Definition: vhdlcode.cpp:359
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
static int yy_init
Definition: vhdlcode.cpp:298
#define YY_CURRENT_BUFFER
Definition: vhdlcode.cpp:282
static void vhdlcodeYYensure_buffer_stack(void)
Definition: vhdlcode.cpp:21627
static void nextCodeLine ( )
static

Definition at line 19337 of file vhdlcode.cpp.

19338 {
19339  if (g_startCode)
19340  {
19341  endCodeLine(); // </div>
19342  }
19343  const char *fc = g_currentFontClass;
19344  if (g_yyLineNr<g_inputLines)
19345  {
19346  g_currentFontClass = fc;
19347  startCodeLine(); //<div>
19348  }
19349 }
static bool g_startCode
Definition: vhdlcode.cpp:19159
static void endCodeLine()
Definition: vhdlcode.cpp:19331
static int g_yyLineNr
current line number
Definition: vhdlcode.cpp:19176
static int g_inputLines
number of line in the code fragment
Definition: vhdlcode.cpp:19175
static const char * g_currentFontClass
Definition: vhdlcode.cpp:19191
static void startCodeLine()
Definition: vhdlcode.cpp:19271
void parseVhdlCode ( CodeOutputInterface od,
const char *  className,
const QCString s,
bool  ,
const char *  exName,
FileDef fd,
int  startLine,
int  endLine,
bool  inlineFragment,
MemberDef memberDef,
bool  ,
Definition searchCtx,
bool   
)

Definition at line 21974 of file vhdlcode.cpp.

21979 {
21980  //printf("***parseCode() exBlock=%d exName=%s fd=%p\n",exBlock,exName,fd);
21981  if (s.isEmpty()) return;
21982  printlex(vhdlcodeYY_flex_debug, TRUE, __FILE__, fd ? fd->fileName().data(): NULL);
21984  if (memberDef)
21985  {
21986  ClassDef *dd=memberDef->getClassDef();
21987  if (dd) g_CurrClass=dd->name();
21988  startLine--;
21989  }
21991  g_code = &od;
21992  g_inputString = s;
21993  g_inputPosition = 0;
21994  g_currentFontClass = 0;
21996  g_searchCtx = searchCtx;
21997 
21998  if (endLine!=-1)
21999  g_inputLines = endLine+1;
22000  else
22002 
22003  if (startLine!=-1)
22004  g_yyLineNr = startLine;
22005  else
22006  g_yyLineNr = 1;
22007 
22008 
22009  // g_theCallContext.clear();
22011  g_exampleName = exName;
22012  g_sourceFileDef = fd;
22013  bool cleanupSourceDef = FALSE;
22014  if (fd==0)
22015  {
22016  // create a dummy filedef for the example
22017  g_sourceFileDef = new FileDef("",exName);
22018  cleanupSourceDef = TRUE;
22019  }
22020  if (g_sourceFileDef)
22021  {
22022  setCurrentDoc("l00001");
22023  }
22024  g_currentDefinition = 0;
22025  g_currentMemberDef = 0;
22026  g_vhdlMember=0;
22027  if (!g_exampleName.isEmpty())
22028  {
22030  }
22031  g_includeCodeFragment = inlineFragment;
22032  if (!memberDef)
22033  {
22034  startCodeLine();
22035  }
22036  // g_type.resize(0);
22037  // g_name.resize(0);
22038  // g_args.resize(0);
22039  g_parmName.resize(0);
22040  g_parmType.resize(0);
22041  if(!g_lexInit)
22042  VhdlDocGen::init();
22043  if (memberDef)
22044  {
22045  setParameterList(memberDef);
22046  }
22047  /*int iLine=*/countLines();
22049  BEGIN( Bases );
22050  vhdlcodeYYlex();
22051  g_lexInit=TRUE;
22052  if (g_needsTermination)
22053  {
22054  endCodeLine();
22055  }
22056  if (fd)
22057  {
22059  }
22060  if (cleanupSourceDef)
22061  {
22062  // delete the temporary file definition used for this example
22063  delete g_sourceFileDef;
22064  g_sourceFileDef=0;
22065  }
22067  printlex(vhdlcodeYY_flex_debug, FALSE, __FILE__, fd ? fd->fileName().data(): NULL);
22068 }
static bool g_startCode
Definition: vhdlcode.cpp:19159
void vhdlcodeYYrestart(FILE *input_file)
Definition: vhdlcode.cpp:21412
static void init()
Definition: vhdldocgen.cpp:570
bool resize(uint newlen)
Definition: qcstring.h:225
static bool g_includeCodeFragment
Definition: vhdlcode.cpp:19190
bool isEmpty() const
Definition: qcstring.h:189
void printlex(int dbg, bool enter, const char *lexName, const char *fileName)
Definition: message.cpp:242
static void endCodeLine()
Definition: vhdlcode.cpp:19331
static QCString g_parmName
Definition: vhdlcode.cpp:19172
int vhdlcodeYY_flex_debug
Definition: vhdlcode.cpp:19083
static int g_yyLineNr
current line number
Definition: vhdlcode.cpp:19176
const bool FALSE
Definition: qglobal.h:370
static Definition * g_currentDefinition
Definition: vhdlcode.cpp:19188
static CodeOutputInterface * g_code
Definition: vhdlcode.cpp:19170
static MemberDef * g_currentMemberDef
Definition: vhdlcode.cpp:19189
static QCString className
Definition: declinfo.cpp:669
void clearTooltips()
Definition: tooltip.cpp:54
static QCString g_exampleFile
Definition: vhdlcode.cpp:19181
static QCString g_exampleName
Definition: vhdlcode.cpp:19180
static Definition * g_searchCtx
Definition: vhdlcode.cpp:19178
const QCString & name() const
Definition: definition.h:114
static void setParameterList(MemberDef *md)
Definition: vhdlcode.cpp:19522
static QCString g_CurrClass
Definition: vhdlcode.cpp:19161
static int g_inputLines
number of line in the code fragment
Definition: vhdlcode.cpp:19175
const char * data() const
Definition: qcstring.h:207
int vhdlcodeYYlex(void)
FILE * vhdlcodeYYin
Definition: vhdlcode.cpp:359
ClassDef * getClassDef() const
Definition: memberdef.cpp:4070
static int g_inputPosition
read offset during parsing
Definition: vhdlcode.cpp:19174
static MemberDef * g_vhdlMember
Definition: vhdlcode.cpp:19165
static const char * g_currentFontClass
Definition: vhdlcode.cpp:19191
static QCString g_classScope
Definition: vhdlcode.cpp:19183
#define BEGIN
Definition: vhdlcode.cpp:144
static FileDef * g_sourceFileDef
Definition: vhdlcode.cpp:19187
void writeTooltips(CodeOutputInterface &ol)
Definition: tooltip.cpp:93
#define Bases
Definition: vhdlcode.cpp:19852
static void startCodeLine()
Definition: vhdlcode.cpp:19271
static TooltipManager * instance()
Definition: tooltip.cpp:45
QCString fileName() const
Definition: filedef.h:81
QCString convertNameToFile(const char *name, bool allowDots, bool allowUnderscore)
Definition: util.cpp:5354
void resetVhdlCodeParserState()
Definition: vhdlcode.cpp:21968
static bool g_lexInit
Definition: vhdlcode.cpp:19193
static QCString g_parmType
Definition: vhdlcode.cpp:19171
static bool g_needsTermination
Definition: vhdlcode.cpp:19177
static void setCurrentDoc(const QCString &anchor)
Definition: vhdlcode.cpp:19206
static int countLines()
Definition: vhdlcode.cpp:19646
static QCString * s
Definition: config.cpp:1042
const bool TRUE
Definition: qglobal.h:371
static const char * g_inputString
the code fragment as text
Definition: vhdlcode.cpp:19173
void resetVhdlCodeParserState ( )

Definition at line 21968 of file vhdlcode.cpp.

21969 {
21970  g_vhdlKeyDict.setAutoDelete(TRUE);
21971  g_vhdlKeyDict.clear();
21972 }
static QDict< QCString > g_vhdlKeyDict
Definition: vhdlcode.cpp:19162
const bool TRUE
Definition: qglobal.h:371
static void setCurrentDoc ( const QCString anchor)
static

Definition at line 19206 of file vhdlcode.cpp.

19207 {
19209  {
19210  if (g_searchCtx)
19211  {
19213  }
19214  else
19215  {
19217  }
19218  }
19219 }
const bool FALSE
Definition: qglobal.h:370
static Definition * g_searchCtx
Definition: vhdlcode.cpp:19178
static SearchIndexIntf * searchIndex
Definition: doxygen.h:133
static FileDef * g_sourceFileDef
Definition: vhdlcode.cpp:19187
virtual void setCurrentDoc(Definition *ctx, const char *anchor, bool isSourceFile)=0
const bool TRUE
Definition: qglobal.h:371
virtual QCString anchor() const =0
static void setParameterList ( MemberDef md)
static

Definition at line 19522 of file vhdlcode.cpp.

19523 {
19524  g_classScope = md->getClassDef() ? md->getClassDef()->name().data() : "";
19525  ArgumentList *al = md->argumentList();
19526  if (al==0) return;
19527  ArgumentListIterator ali(*al);
19528  Argument *a;
19529  for (ali.toFirst();(a=ali.current());++ali)
19530  {
19531  g_parmName = a->name.copy();
19532  g_parmType = a->type.copy();
19533  int i = g_parmType.find('*');
19534  if (i!=-1) g_parmType = g_parmType.left(i);
19535  i = g_parmType.find('&');
19536  if (i!=-1) g_parmType = g_parmType.left(i);
19537  g_parmType.stripPrefix("const ");
19539  // g_theVarContext.addVariable(g_parmType,g_parmName);
19540  }
19541 }
QCString type
Definition: arguments.h:67
This class represents an function or template argument list.
Definition: arguments.h:82
QCString stripWhiteSpace() const
Definition: qcstring.cpp:295
static QCString g_parmName
Definition: vhdlcode.cpp:19172
QCString left(uint len) const
Definition: qcstring.cpp:213
bool stripPrefix(const char *prefix)
Definition: qcstring.cpp:201
int find(char c, int index=0, bool cs=TRUE) const
Definition: qcstring.cpp:41
QCString copy() const
Definition: qcstring.h:250
This class contains the information about the argument of a function or template. ...
Definition: arguments.h:28
const QCString & name() const
Definition: definition.h:114
const double a
const char * data() const
Definition: qcstring.h:207
ClassDef * getClassDef() const
Definition: memberdef.cpp:4070
static QCString g_classScope
Definition: vhdlcode.cpp:19183
ArgumentList * argumentList() const
Definition: memberdef.cpp:4512
QCString name
Definition: arguments.h:69
static QCString g_parmType
Definition: vhdlcode.cpp:19171
static void startCodeLine ( )
static

start a new line of code, inserting a line number if g_sourceFileDef is TRUE. If a definition starts at the current line, then the line number is linked to the documentation of that definition.

Definition at line 19271 of file vhdlcode.cpp.

19272 {
19273  //if (g_currentFontClass) { g_code->endFontClass(); }
19274  if (g_sourceFileDef)
19275  {
19276  g_startCode=TRUE;
19277  //QCString lineNumber,lineAnchor;
19278  //lineNumber.sprintf("%05d",g_yyLineNr);
19279  //lineAnchor.sprintf("l%05d",g_yyLineNr);
19280  // if ((g_yyLineNr % 500) == 0)
19281  // fprintf(stderr,"\n starting Line %d:",g_yyLineNr);
19283  //printf("startCodeLine %d d=%s\n", g_yyLineNr,d ? d->name().data() : "<null>");
19284  if (!g_includeCodeFragment && d)
19285  {
19289  {
19290  //ClassDef *cf=VhdlDocGen::getClass(g_tempComp.data());
19293  if (mdeff)
19294  {
19295  g_currentMemberDef=mdeff;
19296  }
19297  }
19298 
19299  g_parmType.resize(0);
19300  g_parmName.resize(0);
19301  QCString lineAnchor;
19302  lineAnchor.sprintf("l%05d",g_yyLineNr);
19303  if (g_currentMemberDef)
19304  {
19308  setCurrentDoc(lineAnchor);
19309  }
19310  else if (d->isLinkableInProject())
19311  {
19313  d->getOutputFileBase(),
19314  0,g_yyLineNr);
19315  setCurrentDoc(lineAnchor);
19316  }
19317  }
19318  else
19319  {
19321  }
19322  }
19324  if (g_currentFontClass)
19325  {
19327  }
19328 }
static bool g_startCode
Definition: vhdlcode.cpp:19159
bool resize(uint newlen)
Definition: qcstring.h:225
static bool g_includeCodeFragment
Definition: vhdlcode.cpp:19190
virtual QCString getReference() const
bool isEmpty() const
Definition: qcstring.h:189
QCString getReference() const
Definition: memberdef.cpp:1001
virtual void writeLineNumber(const char *ref, const char *file, const char *anchor, int lineNumber)=0
MemberDef * getSourceMember(int lineNr) const
Definition: filedef.cpp:1226
virtual bool isLinkableInProject() const =0
static QCString g_parmName
Definition: vhdlcode.cpp:19172
static int g_yyLineNr
current line number
Definition: vhdlcode.cpp:19176
static Definition * g_currentDefinition
Definition: vhdlcode.cpp:19188
virtual void startFontClass(const char *clsName)=0
static CodeOutputInterface * g_code
Definition: vhdlcode.cpp:19170
static MemberDef * g_currentMemberDef
Definition: vhdlcode.cpp:19189
virtual QCString getOutputFileBase() const =0
const QCString & name() const
Definition: definition.h:114
Definition * getSourceDefinition(int lineNr) const
Definition: filedef.cpp:1215
QCString anchor() const
Definition: memberdef.cpp:1031
static const char * g_currentFontClass
Definition: vhdlcode.cpp:19191
static QCString g_tempComp
Definition: vhdlcode.cpp:19163
static FileDef * g_sourceFileDef
Definition: vhdlcode.cpp:19187
QCString & sprintf(const char *format,...)
Definition: qcstring.cpp:27
virtual void startCodeLine(bool hasLineNumbers)=0
QCString getOutputFileBase() const
Definition: memberdef.cpp:941
static MemberDef * findMember(const QCString &className, const QCString &memName)
Definition: vhdldocgen.cpp:717
static QCString g_parmType
Definition: vhdlcode.cpp:19171
static void setCurrentDoc(const QCString &anchor)
Definition: vhdlcode.cpp:19206
const bool TRUE
Definition: qglobal.h:371
static void startFontClass ( const char *  s)
static

Definition at line 19674 of file vhdlcode.cpp.

19675 {
19676  if (s==0) return;
19677  endFontClass();
19680 }
virtual void startFontClass(const char *clsName)=0
static CodeOutputInterface * g_code
Definition: vhdlcode.cpp:19170
static const char * g_currentFontClass
Definition: vhdlcode.cpp:19191
static QCString * s
Definition: config.cpp:1042
static void endFontClass()
Definition: vhdlcode.cpp:19665
YY_BUFFER_STATE vhdlcodeYY_create_buffer ( FILE *  file,
int  size 
)

Allocate and initialize an input buffer state.

Parameters
fileA readable stream.
sizeThe character buffer size in bytes. When in doubt, use YY_BUF_SIZE.
Returns
the allocated buffer state.

Definition at line 21474 of file vhdlcode.cpp.

21475 {
21477 
21478  b = (YY_BUFFER_STATE) vhdlcodeYYalloc(sizeof( struct yy_buffer_state ) );
21479  if ( ! b )
21480  YY_FATAL_ERROR( "out of dynamic memory in vhdlcodeYY_create_buffer()" );
21481 
21482  b->yy_buf_size = size;
21483 
21484  /* yy_ch_buf has to be 2 characters longer than the size given because
21485  * we need to put in 2 end-of-buffer characters.
21486  */
21487  b->yy_ch_buf = (char *) vhdlcodeYYalloc(b->yy_buf_size + 2 );
21488  if ( ! b->yy_ch_buf )
21489  YY_FATAL_ERROR( "out of dynamic memory in vhdlcodeYY_create_buffer()" );
21490 
21491  b->yy_is_our_buffer = 1;
21492 
21494 
21495  return b;
21496 }
#define YY_FATAL_ERROR(msg)
Definition: vhdlcode.cpp:20002
struct yy_buffer_state * YY_BUFFER_STATE
Definition: vhdlcode.cpp:172
void * vhdlcodeYYalloc(yy_size_t)
Definition: vhdlcode.cpp:21937
static void vhdlcodeYY_init_buffer(YY_BUFFER_STATE b, FILE *file)
Definition: vhdlcode.cpp:21521
yy_size_t yy_buf_size
Definition: code.cpp:218
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
Definition: StdUtils.h:92
char * yy_ch_buf
Definition: code.cpp:212
int yy_is_our_buffer
Definition: code.cpp:229
static bool * b
Definition: config.cpp:1043
void vhdlcodeYY_delete_buffer ( YY_BUFFER_STATE  b)

Destroy the buffer.

Parameters
ba buffer created with vhdlcodeYY_create_buffer()

Definition at line 21502 of file vhdlcode.cpp.

21503 {
21504 
21505  if ( ! b )
21506  return;
21507 
21508  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
21510 
21511  if ( b->yy_is_our_buffer )
21512  vhdlcodeYYfree((void *) b->yy_ch_buf );
21513 
21514  vhdlcodeYYfree((void *) b );
21515 }
struct yy_buffer_state * YY_BUFFER_STATE
Definition: vhdlcode.cpp:172
void vhdlcodeYYfree(void *)
Definition: vhdlcode.cpp:21954
char * yy_ch_buf
Definition: code.cpp:212
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
int yy_is_our_buffer
Definition: code.cpp:229
#define YY_CURRENT_BUFFER
Definition: vhdlcode.cpp:282
void vhdlcodeYY_flush_buffer ( YY_BUFFER_STATE  b)

Discard all buffered characters. On the next scan, YY_INPUT will be called.

Parameters
bthe buffer state to be flushed, usually YY_CURRENT_BUFFER.

Definition at line 21549 of file vhdlcode.cpp.

21550 {
21551  if ( ! b )
21552  return;
21553 
21554  b->yy_n_chars = 0;
21555 
21556  /* We always need two end-of-buffer characters. The first causes
21557  * a transition to the end-of-buffer state. The second causes
21558  * a jam in that state.
21559  */
21562 
21563  b->yy_buf_pos = &b->yy_ch_buf[0];
21564 
21565  b->yy_at_bol = 1;
21567 
21568  if ( b == YY_CURRENT_BUFFER )
21570 }
char * yy_buf_pos
Definition: code.cpp:213
int yy_n_chars
Definition: code.cpp:223
static void vhdlcodeYY_load_buffer_state(void)
Definition: vhdlcode.cpp:21460
#define YY_END_OF_BUFFER_CHAR
Definition: vhdlcode.cpp:159
#define YY_BUFFER_NEW
Definition: vhdlcode.cpp:254
char * yy_ch_buf
Definition: code.cpp:212
#define YY_CURRENT_BUFFER
Definition: vhdlcode.cpp:282
int yy_buffer_status
Definition: code.cpp:252
static void vhdlcodeYY_init_buffer ( YY_BUFFER_STATE  b,
FILE *  file 
)
static

Definition at line 21521 of file vhdlcode.cpp.

21523 {
21524  int oerrno = errno;
21525 
21527 
21528  b->yy_input_file = file;
21529  b->yy_fill_buffer = 1;
21530 
21531  /* If b is the current buffer, then vhdlcodeYY_init_buffer was _probably_
21532  * called from vhdlcodeYYrestart() or through yy_get_next_buffer.
21533  * In that case, we don't want to reset the lineno or column.
21534  */
21535  if (b != YY_CURRENT_BUFFER){
21536  b->yy_bs_lineno = 1;
21537  b->yy_bs_column = 0;
21538  }
21539 
21540  b->yy_is_interactive = 0;
21541 
21542  errno = oerrno;
21543 }
FILE * yy_input_file
Definition: code.cpp:210
int yy_fill_buffer
Definition: code.cpp:250
int yy_bs_lineno
Definition: code.cpp:244
int errno
Contains the last error code.
Definition: structcmd.h:53
int yy_bs_column
Definition: code.cpp:245
#define YY_CURRENT_BUFFER
Definition: vhdlcode.cpp:282
int yy_is_interactive
Definition: code.cpp:236
void vhdlcodeYY_flush_buffer(YY_BUFFER_STATE b)
Definition: vhdlcode.cpp:21549
static void vhdlcodeYY_load_buffer_state ( void  )
static

Definition at line 21460 of file vhdlcode.cpp.

21461 {
21462  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
21463  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
21464  vhdlcodeYYin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
21465  (yy_hold_char) = *(yy_c_buf_p);
21466 }
#define yytext_ptr
Definition: vhdlcode.cpp:368
static int yy_n_chars
Definition: vhdlcode.cpp:293
FILE * vhdlcodeYYin
Definition: vhdlcode.cpp:359
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
static char yy_hold_char
Definition: vhdlcode.cpp:292
static char * yy_c_buf_p
Definition: vhdlcode.cpp:297
YY_BUFFER_STATE vhdlcodeYY_scan_buffer ( char *  base,
yy_size_t  size 
)

Setup the input buffer state to scan directly from a user-specified character buffer.

Parameters
basethe character buffer
sizethe size in bytes of the character buffer
Returns
the newly allocated buffer state object.

Definition at line 21676 of file vhdlcode.cpp.

21677 {
21679 
21680  if ( size < 2 ||
21683  /* They forgot to leave room for the EOB's. */
21684  return 0;
21685 
21686  b = (YY_BUFFER_STATE) vhdlcodeYYalloc(sizeof( struct yy_buffer_state ) );
21687  if ( ! b )
21688  YY_FATAL_ERROR( "out of dynamic memory in vhdlcodeYY_scan_buffer()" );
21689 
21690  b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
21691  b->yy_buf_pos = b->yy_ch_buf = base;
21692  b->yy_is_our_buffer = 0;
21693  b->yy_input_file = 0;
21694  b->yy_n_chars = b->yy_buf_size;
21695  b->yy_is_interactive = 0;
21696  b->yy_at_bol = 1;
21697  b->yy_fill_buffer = 0;
21699 
21701 
21702  return b;
21703 }
char * yy_buf_pos
Definition: code.cpp:213
FILE * yy_input_file
Definition: code.cpp:210
int yy_n_chars
Definition: code.cpp:223
#define YY_FATAL_ERROR(msg)
Definition: vhdlcode.cpp:20002
int yy_fill_buffer
Definition: code.cpp:250
struct yy_buffer_state * YY_BUFFER_STATE
Definition: vhdlcode.cpp:172
void * vhdlcodeYYalloc(yy_size_t)
Definition: vhdlcode.cpp:21937
#define YY_END_OF_BUFFER_CHAR
Definition: vhdlcode.cpp:159
yy_size_t yy_buf_size
Definition: code.cpp:218
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
Definition: StdUtils.h:92
#define YY_BUFFER_NEW
Definition: vhdlcode.cpp:254
char * yy_ch_buf
Definition: code.cpp:212
void vhdlcodeYY_switch_to_buffer(YY_BUFFER_STATE new_buffer)
Definition: vhdlcode.cpp:21429
int yy_is_our_buffer
Definition: code.cpp:229
static bool * b
Definition: config.cpp:1043
int yy_is_interactive
Definition: code.cpp:236
int yy_buffer_status
Definition: code.cpp:252
YY_BUFFER_STATE vhdlcodeYY_scan_bytes ( yyconst char *  yybytes,
int  _yybytes_len 
)

Setup the input buffer state to scan the given bytes. The next call to vhdlcodeYYlex() will scan from a copy of bytes.

Parameters
bytesthe byte buffer to scan
lenthe number of bytes in the buffer pointed to by bytes.
Returns
the newly allocated buffer state object.

Definition at line 21726 of file vhdlcode.cpp.

21727 {
21729  char *buf;
21730  yy_size_t n;
21731  int i;
21732 
21733  /* Get memory for full buffer, including space for trailing EOB's. */
21734  n = _yybytes_len + 2;
21735  buf = (char *) vhdlcodeYYalloc(n );
21736  if ( ! buf )
21737  YY_FATAL_ERROR( "out of dynamic memory in vhdlcodeYY_scan_bytes()" );
21738 
21739  for ( i = 0; i < _yybytes_len; ++i )
21740  buf[i] = yybytes[i];
21741 
21742  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
21743 
21744  b = vhdlcodeYY_scan_buffer(buf,n );
21745  if ( ! b )
21746  YY_FATAL_ERROR( "bad buffer in vhdlcodeYY_scan_bytes()" );
21747 
21748  /* It's okay to grow etc. this buffer, and we should throw it
21749  * away when we're done.
21750  */
21751  b->yy_is_our_buffer = 1;
21752 
21753  return b;
21754 }
#define YY_FATAL_ERROR(msg)
Definition: vhdlcode.cpp:20002
void * vhdlcodeYYalloc(yy_size_t)
Definition: vhdlcode.cpp:21937
#define YY_END_OF_BUFFER_CHAR
Definition: vhdlcode.cpp:159
std::void_t< T > n
YY_BUFFER_STATE vhdlcodeYY_scan_buffer(char *base, yy_size_t size)
Definition: vhdlcode.cpp:21676
int yy_is_our_buffer
Definition: code.cpp:229
static bool * b
Definition: config.cpp:1043
size_t yy_size_t
Definition: code.cpp:203
YY_BUFFER_STATE vhdlcodeYY_scan_string ( yyconst char *  yystr)

Setup the input buffer state to scan a string. The next call to vhdlcodeYYlex() will scan from a copy of str.

Parameters
yystra NUL-terminated string to scan
Returns
the newly allocated buffer state object.
Note
If you want to scan bytes that may contain NUL values, then use vhdlcodeYY_scan_bytes() instead.

Definition at line 21713 of file vhdlcode.cpp.

21714 {
21715 
21716  return vhdlcodeYY_scan_bytes(yystr,strlen(yystr) );
21717 }
YY_BUFFER_STATE vhdlcodeYY_scan_bytes(yyconst char *bytes, int len)
Definition: vhdlcode.cpp:21726
void vhdlcodeYY_switch_to_buffer ( YY_BUFFER_STATE  new_buffer)

Switch to a different input buffer.

Parameters
new_bufferThe new input buffer.

Definition at line 21429 of file vhdlcode.cpp.

21430 {
21431 
21432  /* TODO. We should be able to replace this entire function body
21433  * with
21434  * vhdlcodeYYpop_buffer_state();
21435  * vhdlcodeYYpush_buffer_state(new_buffer);
21436  */
21438  if ( YY_CURRENT_BUFFER == new_buffer )
21439  return;
21440 
21441  if ( YY_CURRENT_BUFFER )
21442  {
21443  /* Flush out information for old buffer. */
21444  *(yy_c_buf_p) = (yy_hold_char);
21445  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
21446  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
21447  }
21448 
21449  YY_CURRENT_BUFFER_LVALUE = new_buffer;
21451 
21452  /* We don't actually know whether we did this switch during
21453  * EOF (vhdlcodeYYwrap()) processing, but the only time this flag
21454  * is looked at is after vhdlcodeYYwrap() is called, so it's safe
21455  * to go ahead and always set it.
21456  */
21458 }
static void vhdlcodeYY_load_buffer_state(void)
Definition: vhdlcode.cpp:21460
static int yy_n_chars
Definition: vhdlcode.cpp:293
static int yy_did_buffer_switch_on_eof
Definition: vhdlcode.cpp:304
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
#define YY_CURRENT_BUFFER
Definition: vhdlcode.cpp:282
static char yy_hold_char
Definition: vhdlcode.cpp:292
static void vhdlcodeYYensure_buffer_stack(void)
Definition: vhdlcode.cpp:21627
static char * yy_c_buf_p
Definition: vhdlcode.cpp:297
void * vhdlcodeYYalloc ( yy_size_t  size)

Definition at line 21937 of file vhdlcode.cpp.

21938 {
21939  return (void *) malloc( size );
21940 }
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
Definition: StdUtils.h:92
static void vhdlcodeYYensure_buffer_stack ( void  )
static

Definition at line 21627 of file vhdlcode.cpp.

21628 {
21629  int num_to_alloc;
21630 
21631  if (!(yy_buffer_stack)) {
21632 
21633  /* First allocation is just for 2 elements, since we don't know if this
21634  * scanner will even need a stack. We use 2 instead of 1 to avoid an
21635  * immediate realloc on the next call.
21636  */
21637  num_to_alloc = 1;
21639  (num_to_alloc * sizeof(struct yy_buffer_state*)
21640  );
21641  if ( ! (yy_buffer_stack) )
21642  YY_FATAL_ERROR( "out of dynamic memory in vhdlcodeYYensure_buffer_stack()" );
21643 
21644  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
21645 
21646  (yy_buffer_stack_max) = num_to_alloc;
21647  (yy_buffer_stack_top) = 0;
21648  return;
21649  }
21650 
21651  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
21652 
21653  /* Increase the buffer to prepare for a possible push. */
21654  int grow_size = 8 /* arbitrary grow size */;
21655 
21656  num_to_alloc = (yy_buffer_stack_max) + grow_size;
21658  ((yy_buffer_stack),
21659  num_to_alloc * sizeof(struct yy_buffer_state*)
21660  );
21661  if ( ! (yy_buffer_stack) )
21662  YY_FATAL_ERROR( "out of dynamic memory in vhdlcodeYYensure_buffer_stack()" );
21663 
21664  /* zero only the new slots.*/
21665  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
21666  (yy_buffer_stack_max) = num_to_alloc;
21667  }
21668 }
#define YY_FATAL_ERROR(msg)
Definition: vhdlcode.cpp:20002
static YY_BUFFER_STATE * yy_buffer_stack
Definition: vhdlcode.cpp:274
void * vhdlcodeYYalloc(yy_size_t)
Definition: vhdlcode.cpp:21937
static size_t yy_buffer_stack_top
Definition: vhdlcode.cpp:272
static size_t yy_buffer_stack_max
Definition: vhdlcode.cpp:273
void * vhdlcodeYYrealloc(void *, yy_size_t)
Definition: vhdlcode.cpp:21942
void vhdlcodeYYfree ( void *  ptr)

Definition at line 21954 of file vhdlcode.cpp.

21955 {
21956  free( (char *) ptr ); /* see vhdlcodeYYrealloc() for (char *) cast */
21957 }
int vhdlcodeYYget_debug ( void  )

Definition at line 21853 of file vhdlcode.cpp.

21854 {
21855  return vhdlcodeYY_flex_debug;
21856 }
int vhdlcodeYY_flex_debug
Definition: vhdlcode.cpp:19083
YY_EXTRA_TYPE vhdlcodeYYget_extra ( void  )
FILE * vhdlcodeYYget_in ( void  )

Get the input stream.

Definition at line 21797 of file vhdlcode.cpp.

21798 {
21799  return vhdlcodeYYin;
21800 }
FILE * vhdlcodeYYin
Definition: vhdlcode.cpp:359
int vhdlcodeYYget_leng ( void  )

Get the length of the current token.

Definition at line 21813 of file vhdlcode.cpp.

21814 {
21815  return vhdlcodeYYleng;
21816 }
int vhdlcodeYYleng
Definition: vhdlcode.cpp:294
int vhdlcodeYYget_lineno ( void  )

Get the current line number.

Definition at line 21788 of file vhdlcode.cpp.

21789 {
21790 
21791  return vhdlcodeYYlineno;
21792 }
int vhdlcodeYYlineno
Definition: vhdlcode.cpp:365
FILE * vhdlcodeYYget_out ( void  )

Get the output stream.

Definition at line 21805 of file vhdlcode.cpp.

21806 {
21807  return vhdlcodeYYout;
21808 }
FILE * vhdlcodeYYout
Definition: vhdlcode.cpp:359
char * vhdlcodeYYget_text ( void  )

Get the current token.

Definition at line 21822 of file vhdlcode.cpp.

21823 {
21824  return vhdlcodeYYtext;
21825 }
char * vhdlcodeYYtext
Definition: vhdlcode.cpp:19092
int vhdlcodeYYlex ( void  )
int vhdlcodeYYlex_destroy ( void  )

Definition at line 21892 of file vhdlcode.cpp.

21893 {
21894 
21895  /* Pop the buffer stack, destroying each element. */
21896  while(YY_CURRENT_BUFFER){
21898  YY_CURRENT_BUFFER_LVALUE = NULL;
21900  }
21901 
21902  /* Destroy the stack itself. */
21904  (yy_buffer_stack) = NULL;
21905 
21906  /* Reset the globals. This is important in a non-reentrant scanner so the next time
21907  * vhdlcodeYYlex() is called, initialization will occur. */
21908  yy_init_globals( );
21909 
21910  return 0;
21911 }
static YY_BUFFER_STATE * yy_buffer_stack
Definition: vhdlcode.cpp:274
static int yy_init_globals(void)
Definition: vhdlcode.cpp:21863
void vhdlcodeYYfree(void *)
Definition: vhdlcode.cpp:21954
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
void vhdlcodeYYpop_buffer_state(void)
Definition: vhdlcode.cpp:21608
#define YY_CURRENT_BUFFER
Definition: vhdlcode.cpp:282
void vhdlcodeYY_delete_buffer(YY_BUFFER_STATE b)
Definition: vhdlcode.cpp:21502
void vhdlcodeYYpop_buffer_state ( void  )

Removes and deletes the top of the stack, if present. The next element becomes the new top.

Definition at line 21608 of file vhdlcode.cpp.

21609 {
21610  if (!YY_CURRENT_BUFFER)
21611  return;
21612 
21614  YY_CURRENT_BUFFER_LVALUE = NULL;
21615  if ((yy_buffer_stack_top) > 0)
21616  --(yy_buffer_stack_top);
21617 
21618  if (YY_CURRENT_BUFFER) {
21621  }
21622 }
static void vhdlcodeYY_load_buffer_state(void)
Definition: vhdlcode.cpp:21460
static size_t yy_buffer_stack_top
Definition: vhdlcode.cpp:272
static int yy_did_buffer_switch_on_eof
Definition: vhdlcode.cpp:304
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
#define YY_CURRENT_BUFFER
Definition: vhdlcode.cpp:282
void vhdlcodeYY_delete_buffer(YY_BUFFER_STATE b)
Definition: vhdlcode.cpp:21502
void vhdlcodeYYpush_buffer_state ( YY_BUFFER_STATE  new_buffer)

Pushes the new state onto the stack. The new state becomes the current state. This function will allocate the stack if necessary.

Parameters
new_bufferThe new state.

Definition at line 21578 of file vhdlcode.cpp.

21579 {
21580  if (new_buffer == NULL)
21581  return;
21582 
21584 
21585  /* This block is copied from vhdlcodeYY_switch_to_buffer. */
21586  if ( YY_CURRENT_BUFFER )
21587  {
21588  /* Flush out information for old buffer. */
21589  *(yy_c_buf_p) = (yy_hold_char);
21590  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
21591  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
21592  }
21593 
21594  /* Only push if top exists. Otherwise, replace top. */
21595  if (YY_CURRENT_BUFFER)
21596  (yy_buffer_stack_top)++;
21597  YY_CURRENT_BUFFER_LVALUE = new_buffer;
21598 
21599  /* copied from vhdlcodeYY_switch_to_buffer. */
21602 }
static void vhdlcodeYY_load_buffer_state(void)
Definition: vhdlcode.cpp:21460
static size_t yy_buffer_stack_top
Definition: vhdlcode.cpp:272
static int yy_n_chars
Definition: vhdlcode.cpp:293
static int yy_did_buffer_switch_on_eof
Definition: vhdlcode.cpp:304
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
#define YY_CURRENT_BUFFER
Definition: vhdlcode.cpp:282
static char yy_hold_char
Definition: vhdlcode.cpp:292
static void vhdlcodeYYensure_buffer_stack(void)
Definition: vhdlcode.cpp:21627
static char * yy_c_buf_p
Definition: vhdlcode.cpp:297
void * vhdlcodeYYrealloc ( void *  ptr,
yy_size_t  size 
)

Definition at line 21942 of file vhdlcode.cpp.

21943 {
21944  /* The cast to (char *) in the following accommodates both
21945  * implementations that use char* generic pointers, and those
21946  * that use void* generic pointers. It works with the latter
21947  * because both ANSI C and C++ allow castless assignment from
21948  * any pointer type to void*, and deal with argument conversions
21949  * as though doing an assignment.
21950  */
21951  return (void *) realloc( (char *) ptr, size );
21952 }
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
Definition: StdUtils.h:92
void vhdlcodeYYrestart ( FILE *  input_file)

Immediately switch to a different input stream.

Parameters
input_fileA readable stream.
Note
This function does not reset the start condition to INITIAL .

Definition at line 21412 of file vhdlcode.cpp.

21413 {
21414 
21415  if ( ! YY_CURRENT_BUFFER ){
21419  }
21420 
21423 }
static void vhdlcodeYY_load_buffer_state(void)
Definition: vhdlcode.cpp:21460
#define YY_BUF_SIZE
Definition: vhdlcode.cpp:163
YY_BUFFER_STATE vhdlcodeYY_create_buffer(FILE *file, int size)
Definition: vhdlcode.cpp:21474
static void vhdlcodeYY_init_buffer(YY_BUFFER_STATE b, FILE *file)
Definition: vhdlcode.cpp:21521
FILE * vhdlcodeYYin
Definition: vhdlcode.cpp:359
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
#define YY_CURRENT_BUFFER
Definition: vhdlcode.cpp:282
static void vhdlcodeYYensure_buffer_stack(void)
Definition: vhdlcode.cpp:21627
void vhdlcodeYYset_debug ( int  debug_flag)

Definition at line 21858 of file vhdlcode.cpp.

21859 {
21860  vhdlcodeYY_flex_debug = bdebug ;
21861 }
int vhdlcodeYY_flex_debug
Definition: vhdlcode.cpp:19083
void vhdlcodeYYset_extra ( YY_EXTRA_TYPE  user_defined)
void vhdlcodeYYset_in ( FILE *  in_str)

Set the input stream. This does not discard the current input buffer.

Parameters
in_strA readable stream.
See also
vhdlcodeYY_switch_to_buffer

Definition at line 21843 of file vhdlcode.cpp.

21844 {
21845  vhdlcodeYYin = in_str ;
21846 }
FILE * vhdlcodeYYin
Definition: vhdlcode.cpp:359
void vhdlcodeYYset_lineno ( int  line_number)

Set the current line number.

Parameters
line_number

Definition at line 21831 of file vhdlcode.cpp.

21832 {
21833 
21834  vhdlcodeYYlineno = line_number;
21835 }
int vhdlcodeYYlineno
Definition: vhdlcode.cpp:365
void vhdlcodeYYset_out ( FILE *  out_str)

Definition at line 21848 of file vhdlcode.cpp.

21849 {
21850  vhdlcodeYYout = out_str ;
21851 }
FILE * vhdlcodeYYout
Definition: vhdlcode.cpp:359
while ( )

Definition at line 20075 of file vhdlcode.cpp.

20076  {
20077  yy_cp = (yy_c_buf_p);
20078 
20079  /* Support of vhdlcodeYYtext. */
20080  *yy_cp = (yy_hold_char);
20081 
20082  /* yy_bp points to the position in yy_ch_buf of the start of
20083  * the current run.
20084  */
20085  yy_bp = yy_cp;
20086 
20087  yy_current_state = (yy_start);
20088  yy_current_state += YY_AT_BOL();
20089 yy_match:
20090  do
20091  {
20092  register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
20093  if ( yy_accept[yy_current_state] )
20094  {
20095  (yy_last_accepting_state) = yy_current_state;
20097  }
20098  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
20099  {
20100  yy_current_state = (int) yy_def[yy_current_state];
20101  if ( yy_current_state >= 4944 )
20102  yy_c = yy_meta[(unsigned int) yy_c];
20103  }
20104  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
20105  ++yy_cp;
20106  }
20107  while ( yy_current_state != 4943 );
20109  yy_current_state = (yy_last_accepting_state);
20110 
20111 yy_find_action:
20112  yy_act = yy_accept[yy_current_state];
20113 
20115 
20116 do_action: /* This label is used only to access EOF actions. */
20117 
20118  switch ( yy_act )
20119  { /* beginning of action switch */
20120  case 0: /* must back up */
20121  /* undo the effects of YY_DO_BEFORE_ACTION */
20122  *yy_cp = (yy_hold_char);
20124  yy_current_state = (yy_last_accepting_state);
20125  goto yy_find_action;
20126 
20127 case 1:
20129 #line 811 "vhdlcode.l"
20130 {
20131  BEGIN(Bases);
20132  }
20133  YY_BREAK
20134 case 2:
20136 #line 815 "vhdlcode.l"
20137 {
20138  g_braceCount++;
20139  writeFont("vhdlchar",vhdlcodeYYtext);
20140  BEGIN(Map);
20141  }
20142  YY_BREAK
20143 case 3:
20145 #line 821 "vhdlcode.l"
20146 { /* write and link a port map lines */
20149  QRegExp r("=>");
20151  if (ql.count()>=2)
20152  {
20153  unsigned int index=0;
20154  QCString t1=ql[0].utf8();
20155  char cc=t1.at(index);
20156  while (cc==' ' || cc=='\t')
20157  {
20158  char c2[2];
20159  c2[0]=cc;
20160  c2[1]=0;
20161  g_code->codify(c2);
20162  index++;
20163  if (index>=t1.size()) break;
20164  cc=t1.at(index);
20165  }
20166 
20167  QCString s1=t1;
20168  s1=s1.stripWhiteSpace();
20169 
20170  // if (!g_PortMapComp.isEmpty())
20172  while (index++<t1.size())
20173  {
20174  char cc=t1.at(index);
20175  if (cc==' ' || cc=='\t')
20176  {
20177  char c2[2];
20178  c2[0]=cc;
20179  c2[1]=0;
20180  g_code->codify(c2);
20181  }
20182  }
20183  codifyLines("=>");
20184  index=0;
20185  QCString s2=ql[1].utf8();
20186  t1=s2;
20187  cc=t1.at(index);
20188  while (cc==' ' || cc=='\t')
20189  {
20190  char c2[2];
20191  c2[0]=cc;
20192  c2[1]=0;
20193  g_code->codify(c2);
20194  index++;
20195  if (index>=t1.size()) break;
20196  cc=t1.at(index);
20197  }
20198  s2=s2.stripWhiteSpace();
20199  if (!checkVhdlString(s2))
20201  while (index++<t1.size())
20202  {
20203  if (t1.at(index)==' ')
20204  {
20205  g_code->codify(" ");
20206  }
20207  }
20208  }
20209  else
20210  {
20212  }
20213  BEGIN(Map);
20214  }
20215  YY_BREAK
20216 case 4:
20217 /* rule 4 can match eol */
20219 #line 891 "vhdlcode.l"
20220 {
20222  BEGIN(Map);
20223  }
20224  YY_BREAK
20225 case 5:
20227 #line 896 "vhdlcode.l"
20228 {
20229  g_braceCount--;
20230  writeFont("vhdlchar",vhdlcodeYYtext);
20231  if (g_braceCount==0)
20232  {
20233  BEGIN(Bases);
20234  }
20235  }
20236  YY_BREAK
20237 case 6:
20239 #line 905 "vhdlcode.l"
20240 {
20242  tmp=tmp.stripWhiteSpace();
20245  if (!writeColoredWord(tmp))
20246  {
20248  }
20249  BEGIN(Bases);
20250  }
20251  YY_BREAK
20252 case 7:
20254 #line 917 "vhdlcode.l"
20255 {
20256  QCString qcs(vhdlcodeYYtext);
20257  VhdlDocGen::deleteAllChars(qcs,'"');
20258  VhdlDocGen::deleteAllChars(qcs,' ');
20259  if (VhdlDocGen::isNumber(qcs))
20260  writeFont("vhdllogic",vhdlcodeYYtext);
20261  else
20262  writeFont("keyword",vhdlcodeYYtext);
20263  }
20264  YY_BREAK
20265 case 8:
20266 /* rule 8 can match eol */
20268 #line 927 "vhdlcode.l"
20269 {
20271  if (isProto)
20272  {
20274  }
20275  BEGIN(ParseType);
20276  }
20277  YY_BREAK
20278 case 9:
20280 #line 937 "vhdlcode.l"
20281 {
20283  if (isProto)
20284  {
20285  writeFont("keyword",vhdlcodeYYtext);
20286  }
20287  BEGIN(ParseType);
20288  }
20289  YY_BREAK
20290 case 10:
20291 /* rule 10 can match eol */
20293 #line 946 "vhdlcode.l"
20294 {
20295  QRegExp regg("[\\s]");
20298  tt=tt.lower();
20300  tt.stripWhiteSpace();
20301  QStringList ql=QStringList::split(regg,tt,FALSE);
20302  int index=ql.findIndex(QCString("if"))+1;
20303  index+=ql.findIndex(QCString("case"))+1;
20304  index+=ql.findIndex(QCString("loop"))+1;
20305  index+=ql.findIndex(QCString("generate"))+1;
20306  if (index==0)
20307  {
20308  BEGIN(Bases);
20309  }
20310  else
20311  {
20312  BEGIN(ParseType);
20313  }
20314  }
20315  YY_BREAK
20316 case 11:
20317 /* rule 11 can match eol */
20319 #line 968 "vhdlcode.l"
20320 {
20322  g_vhdlKeyDict.clear();
20323  }
20324  YY_BREAK
20325 case 12:
20327 #line 973 "vhdlcode.l"
20328 {
20331  }
20332  YY_BREAK
20333 case 13:
20335 #line 978 "vhdlcode.l"
20336 {
20338  if (isProto)
20339  {
20341  }
20342  }
20343  YY_BREAK
20344 case 14:
20346 #line 986 "vhdlcode.l"
20347 {
20351 
20352  if (isFuncProto && g_braceCount==0)
20353  {
20355  }
20356 
20357  if (isProto)
20358  {
20359  if (!writeColoredWord(val))
20360  {
20361  if (!isFuncProto && !g_vhdlKeyDict.find(g_PrevString))
20362  {
20363  val=val.stripWhiteSpace();
20365  {
20366  startFontClass("vhdllogic");
20368  endFontClass();
20369  }
20370  else
20372  }
20373  else
20374  {
20376  }
20377  }
20378  }
20379  BEGIN(ParseType);
20380  }
20381  YY_BREAK
20382 case 15:
20384 #line 1021 "vhdlcode.l"
20385 {
20386  g_braceCount++;
20387  g_FuncProto+='(';
20388  if (isProto)
20389  {
20390  writeFont("vhdlchar",vhdlcodeYYtext);
20391  }
20392  BEGIN(ParseType);
20393  }
20394  YY_BREAK
20395 case 16:
20397 #line 1031 "vhdlcode.l"
20398 {
20399  g_braceCount--;
20400  g_FuncProto+=')';
20401  if (isProto)
20402  {
20403  writeFont("vhdlchar",vhdlcodeYYtext);
20404  }
20405  if (g_braceCount==0 && !isProto)// && !isPackageBody)
20406  {
20407  isProto=TRUE;
20409  writeFuncProto();
20410  BEGIN(Bases);
20411  }
20412  if (isPackageBody)
20413  {
20414  BEGIN(ParseType);
20415  }
20416  }
20417  YY_BREAK
20418 case 17:
20420 #line 1052 "vhdlcode.l"
20421 {
20423  g_CurrClass.resize(0);
20426 
20428  {
20430  }
20431  else
20432  {
20434  }
20435  BEGIN(Bases);
20436  }
20437  YY_BREAK
20438 case 18:
20440 #line 1070 "vhdlcode.l"
20441 {
20442  g_braceCount++;
20444  }
20445  YY_BREAK
20446 case 19:
20448 #line 1076 "vhdlcode.l"
20449 {
20450  g_braceCount--;
20452  if (g_braceCount==0 && !isComponent)
20453  {
20454  g_tempComp.resize(0);
20455  BEGIN(Bases);
20456  }
20457  else
20458  {
20460  }
20461  }
20462  YY_BREAK
20463 case 20:
20465 #line 1090 "vhdlcode.l"
20466 {
20467  if (strlen(vhdlcodeYYtext)>=2) // found text ?
20468  {
20469  writeFont("keyword",vhdlcodeYYtext);
20470  }
20471  else
20472  {
20473  writeFont("vhdlchar",vhdlcodeYYtext);
20474  }
20475  }
20476  YY_BREAK
20477 case 21:
20479 #line 1101 "vhdlcode.l"
20480 {
20482  }
20483  YY_BREAK
20484 case 22:
20485 /* rule 22 can match eol */
20487 #line 1107 "vhdlcode.l"
20488 {
20490  }
20491  YY_BREAK
20492 case 23:
20494 #line 1111 "vhdlcode.l"
20495 {
20496  startFontClass("vhdllogic");
20498  endFontClass();
20499  }
20500  YY_BREAK
20501 case 24:
20502 /* rule 24 can match eol */
20504 #line 1117 "vhdlcode.l"
20505 {
20507  g_braceCount=1;
20509  }
20510  YY_BREAK
20511 case 25:
20512 /* rule 25 can match eol */
20514 #line 1123 "vhdlcode.l"
20515 {
20517  g_braceCount=1;
20518  }
20519  YY_BREAK
20520 case 26:
20522 #line 1128 "vhdlcode.l"
20523 {
20526  if (!checkVhdlString(temp)){
20528  {
20530  }
20531  }
20532  }
20533  YY_BREAK
20534 case 27:
20536 #line 1139 "vhdlcode.l"
20537 {
20539  if (!checkVhdlString(temp))
20541  }
20542  YY_BREAK
20543 case 28:
20544 /* rule 28 can match eol */
20546 #line 1146 "vhdlcode.l"
20547 {
20549  }
20550  YY_BREAK
20551 case 29:
20553 #line 1152 "vhdlcode.l"
20554 {
20556  g_braceCount++;
20557  }
20558  YY_BREAK
20559 case 30:
20561 #line 1157 "vhdlcode.l"
20562 {
20564  g_braceCount--;
20565  if (g_braceCount==0)
20566  {
20568  BEGIN(Bases);
20569  }
20570  }
20571  YY_BREAK
20572 case 31:
20573 /* rule 31 can match eol */
20575 #line 1167 "vhdlcode.l"
20576 { //found package
20579 
20580  if (strl.count()>2)
20581  {
20582  QCString s1=strl[0].utf8();
20583  QCString s2=strl[1].utf8();
20584  QCString s3=strl[2].utf8();
20585  s1.append(".");
20586  s3.prepend(".");
20587  codifyLines(s1.data(),g_CurrClass.data());
20589  if (cd)
20590  {
20592  }
20593  else
20594  {
20595  codifyLines(s2.data());
20596  }
20597  codifyLines(s3.data());
20598  }
20599  else
20600  {
20601  writeFont("keywordflow",vhdlcodeYYtext);
20602  }
20603  BEGIN(Bases);
20604  }
20605  YY_BREAK
20606 case 32:
20607 /* rule 32 can match eol */
20609 #line 1197 "vhdlcode.l"
20610 { // found port or generic map
20612  /*
20613  if (tt.contains(':',FALSE))
20614  {
20615  isStartMap=TRUE;
20616  }
20617  else
20618  {
20619  isStartMap=FALSE;
20620  }
20621  */
20622  int j=tt.find('.');
20623 
20624  if (j>0)
20625  {
20626  QCString left=tt.left(j+1);
20627  codifyLines(left.data());
20628  tt=tt.right(tt.length()-j-1);
20629  left=VhdlDocGen::getIndexWord(tt.data(),0);
20630  if (!left.isEmpty())
20631  {
20632  if (left.contains('('))
20633  {
20634  j=left.find('(',FALSE);
20635  QCString name=left.left(j);
20638  name=tt.right(tt.length()-name.length());
20639  codifyLines(name.data());
20640  }
20641  else
20642  {
20644  tt.stripPrefix(left.data()); //=tt.right(tt.length()-left.length()-1);
20645 
20646  g_PortMapComp=left;
20647  codifyLines(tt.data());
20648  }
20649  }
20650  }
20651  else
20652  {
20653  if (tt.contains(':',FALSE))
20654  codifyMapLines(tt.data());
20655  else
20656  codifyLines(tt.data());
20657  }
20658  g_braceCount=1;
20659  BEGIN(Map);
20660  }
20661  YY_BREAK
20662 case 33:
20663 /* rule 33 can match eol */
20665 #line 1249 "vhdlcode.l"
20666 { // found component
20668  // writeFont("keywordflow",VhdlDocGen::getIndexWord(vhdlcodeYYtext,0).data());
20669  // writeFont("vhdlkeyword"," ");
20671  temp=temp.stripWhiteSpace();
20672  VhdlDocGen::deleteAllChars(temp,'\n');
20673  g_tempComp=temp;
20675  g_braceCount=0;
20676 
20677  //if (getClass(temp.data()))
20678  // generateClassOrGlobalLink(*g_code,temp.data());
20679  //else
20680  // generateMemLink(*g_code,g_CurrClass,temp);
20681 
20682  isComponent=TRUE;
20684  }
20685  YY_BREAK
20686 case 34:
20687 /* rule 34 can match eol */
20689 #line 1271 "vhdlcode.l"
20690 { // found architecture
20691  g_PortMapComp.resize(0);
20692  // writeFont("vhdlkeyword",VhdlDocGen::getIndexWord(vhdlcodeYYtext,0).data());
20693  // writeFont("vhdlkeyword"," ");
20694  // writeFont("vhdlchar",VhdlDocGen::getIndexWord(vhdlcodeYYtext,1).data());
20695  // writeFont("vhdlkeyword"," ");
20696  // writeFont("vhdlkeyword",VhdlDocGen::getIndexWord(vhdlcodeYYtext,2).data());
20697  // writeFont("vhdlkeyword"," ");
20698  //QCString temp=VhdlDocGen::getIndexWord(vhdlcodeYYtext,1);
20699  //temp=temp.stripWhiteSpace();
20700  //temp+=("-");
20701  //temp+=VhdlDocGen::getIndexWord(vhdlcodeYYtext,3);
20703  temp+="::";
20705  g_CurrClass=temp;
20706  VhdlDocGen::deleteAllChars(temp,'\n');
20708  //generateClassOrGlobalLink(*g_code,temp.data());
20710  BEGIN(ClassName);
20711  }
20712  YY_BREAK
20713 case 35:
20714 /* rule 35 can match eol */
20716 #line 1295 "vhdlcode.l"
20717 { // found package body
20720  QStringList ql=QStringList::split(temp,ss,FALSE);
20721  QCString ll=ql[0].utf8();
20722  codifyLines(ll.data(),g_CurrClass.data());
20723  temp=temp.stripWhiteSpace();
20724  temp.prepend("_");
20725  generateClassOrGlobalLink(*g_code,temp.data());
20726  g_CurrClass.resize(0);
20727  g_CurrClass=temp;
20728  isProto=FALSE;
20730  // BEGIN(ClassesName);
20731  }
20732  YY_BREAK
20733 case 36:
20734 /* rule 36 can match eol */
20736 #line 1311 "vhdlcode.l"
20737 { // found process
20738  isFuncProto=TRUE;
20739  g_FuncProto.resize(0);
20741  g_vhdlKeyDict.clear();
20743  if (g_PrevString.contains('('))
20744  {
20745  g_braceCount=1;
20747  }
20748  else
20749  {
20751  }
20752  }
20753  YY_BREAK
20754 case 37:
20755 /* rule 37 can match eol */
20757 #line 1328 "vhdlcode.l"
20758 { // end of process
20761  BEGIN(Bases);
20762  }
20763  YY_BREAK
20764 case 38:
20766 #line 1335 "vhdlcode.l"
20767 {
20769  writeFont("vhdlkeyword",vhdlcodeYYtext);
20770  }
20771  YY_BREAK
20772 case 39:
20773 /* rule 39 can match eol */
20775 #line 1340 "vhdlcode.l"
20776 { //found package or library
20777  writeFont("vhdlkeyword",vhdlcodeYYtext);
20779  }
20780  YY_BREAK
20781 case 40:
20782 /* rule 40 can match eol */
20784 #line 1346 "vhdlcode.l"
20785 {
20787  }
20788  YY_BREAK
20789 case 41:
20790 /* rule 41 can match eol */
20792 #line 1352 "vhdlcode.l"
20793 { // found function|procedure
20794  g_vhdlKeyDict.clear();
20795  g_FuncProto.resize(0);
20796  isProto=FALSE;
20798  g_braceCount=1;
20799  BEGIN(ParseType);
20800  }
20801  YY_BREAK
20802 case 42:
20803 /* rule 42 can match eol */
20805 #line 1363 "vhdlcode.l"
20806 {
20808  writeFont("keywordflow",vhdlcodeYYtext);
20810  BEGIN(ClassesName);
20811  }
20812  YY_BREAK
20813 case 43:
20815 #line 1371 "vhdlcode.l"
20816 { // found keyword
20817  QCString qcs(vhdlcodeYYtext);
20818  if (!writeColoredWord(qcs))
20819  {
20820  startFontClass("vhdlchar");
20822  endFontClass();
20823  }
20824  }
20825  YY_BREAK
20826 case 44:
20828 #line 1382 "vhdlcode.l"
20829 {
20832  temp=temp.stripWhiteSpace();
20833 
20834  if (!writeColoredWord(temp))
20835  {
20836  startFontClass("vhdlchar");
20838  endFontClass();
20839  }
20840  }
20841  YY_BREAK
20842 case 45:
20844 #line 1395 "vhdlcode.l"
20845 {
20846  startFontClass("vhdllogic");
20848  endFontClass();
20849  }
20850  YY_BREAK
20851 case 46:
20852 /* rule 46 can match eol */
20854 #line 1401 "vhdlcode.l"
20855 {
20857  }
20858  YY_BREAK
20859 case 47:
20861 #line 1406 "vhdlcode.l"
20862 {
20864  if (isFuncProto)
20865  {
20867  }
20868  else
20869  {
20870  BEGIN(Bases);
20871  }
20872  }
20873  YY_BREAK
20874 case 48:
20876 #line 1418 "vhdlcode.l"
20877 {
20878  startFontClass("vhdlchar");
20880  endFontClass();
20881  }
20882  YY_BREAK
20883 case 49:
20885 #line 1424 "vhdlcode.l"
20886 {
20887  startFontClass("vhdlchar");
20889  endFontClass();
20890  }
20891  YY_BREAK
20892 case 50:
20894 #line 1430 "vhdlcode.l"
20895 {
20896  QCString qcs(vhdlcodeYYtext);
20897  VhdlDocGen::deleteAllChars(qcs,'"');
20898  VhdlDocGen::deleteAllChars(qcs,' ');
20899 
20900  if (VhdlDocGen::isNumber(qcs))
20901  writeFont("vhdllogic",vhdlcodeYYtext);
20902  else
20903  writeFont("keyword",vhdlcodeYYtext);
20904  }
20905  YY_BREAK
20906 case 51:
20908 #line 1441 "vhdlcode.l"
20909 {
20910  writeFont("keyword",vhdlcodeYYtext);
20911  }
20912  YY_BREAK
20913 case 52:
20915 #line 1445 "vhdlcode.l"
20916 {
20918  //codifyLines(vhdlcodeYYtext,g_CurrClass.data(),TRUE);
20919  }
20920  YY_BREAK
20921 case 53:
20923 #line 1450 "vhdlcode.l"
20924 {
20926  }
20927  YY_BREAK
20928 case 54:
20929 /* rule 54 can match eol */
20931 #line 1454 "vhdlcode.l"
20932 {
20934  BEGIN(Bases);
20935  }
20936  YY_BREAK
20937 case 55:
20939 #line 1459 "vhdlcode.l"
20940 {
20942  }
20943  YY_BREAK
20944 case 56:
20945 /* rule 56 can match eol */
20947 #line 1463 "vhdlcode.l"
20948 { // found normal or special comment on its own line
20949  QCString text(vhdlcodeYYtext);
20950  int i=text.find("--");
20951  if (text.mid(i,3)=="--!" && // hide special comment
20952  Config_getBool("STRIP_CODE_COMMENTS"))
20953  {
20954  g_yyLineNr++; // skip complete line
20955  }
20956  else // normal comment
20957  {
20958  // startFontClass("keyword");
20959  codifyLines(text,0,FALSE,TRUE);
20960  // endFontClass();
20961  }
20962  }
20963  YY_BREAK
20964 case 57:
20966 #line 1478 "vhdlcode.l"
20967 { // found normal or special comment after something
20968  QCString text(vhdlcodeYYtext);
20969  int i=text.find("--");
20970  if (text.mid(i,3)=="--!" &&
20971  Config_getBool("STRIP_CODE_COMMENTS"))
20972  {
20973  // hide special comment
20974  }
20975  else // normal comment
20976  {
20977  // startFontClass("keyword");
20978  codifyLines(text,0,FALSE,TRUE);
20979  // endFontClass();
20980  }
20981  }
20982  YY_BREAK
20983 case 58:
20985 #line 1495 "vhdlcode.l"
20986 ECHO;
20987  YY_BREAK
20988 #line 20989 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/vhdlcode.cpp"
20989 case YY_STATE_EOF(INITIAL):
20990 case YY_STATE_EOF(Bases):
20991 case YY_STATE_EOF(ParseType):
20992 case YY_STATE_EOF(ParseFuncProto):
20993 case YY_STATE_EOF(ParseComponent):
20994 case YY_STATE_EOF(ParsePackage):
20995 case YY_STATE_EOF(ParseProcessProto):
20996 case YY_STATE_EOF(ClassName):
20997 case YY_STATE_EOF(PackageName):
20998 case YY_STATE_EOF(ClassVar):
20999 case YY_STATE_EOF(ClassesName):
21000 case YY_STATE_EOF(Map):
21001 case YY_STATE_EOF(Body):
21002  yyterminate();
21003 
21004  case YY_END_OF_BUFFER:
21005  {
21006  /* Amount of text matched not including the EOB char. */
21007  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
21008 
21009  /* Undo the effects of YY_DO_BEFORE_ACTION. */
21010  *yy_cp = (yy_hold_char);
21012 
21013  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
21014  {
21015  /* We're scanning a new file or input source. It's
21016  * possible that this happened because the user
21017  * just pointed vhdlcodeYYin at a new source and called
21018  * vhdlcodeYYlex(). If so, then we have to assure
21019  * consistency between YY_CURRENT_BUFFER and our
21020  * globals. Here is the right place to do so, because
21021  * this is the first action (other than possibly a
21022  * back-up) that will match for the new input source.
21023  */
21024  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
21025  YY_CURRENT_BUFFER_LVALUE->yy_input_file = vhdlcodeYYin;
21026  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
21027  }
21028 
21029  /* Note that here we test for yy_c_buf_p "<=" to the position
21030  * of the first EOB in the buffer, since yy_c_buf_p will
21031  * already have been incremented past the NUL character
21032  * (since all states make transitions on EOB to the
21033  * end-of-buffer state). Contrast this with the test
21034  * in input().
21035  */
21036  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
21037  { /* This was really a NUL. */
21038  yy_state_type yy_next_state;
21039 
21040  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
21041 
21042  yy_current_state = yy_get_previous_state( );
21043 
21044  /* Okay, we're now positioned to make the NUL
21045  * transition. We couldn't have
21046  * yy_get_previous_state() go ahead and do it
21047  * for us because it doesn't know how to deal
21048  * with the possibility of jamming (and we don't
21049  * want to build jamming into it because then it
21050  * will run more slowly).
21051  */
21052 
21053  yy_next_state = yy_try_NUL_trans( yy_current_state );
21054 
21056 
21057  if ( yy_next_state )
21058  {
21059  /* Consume the NUL. */
21060  yy_cp = ++(yy_c_buf_p);
21061  yy_current_state = yy_next_state;
21062  goto yy_match;
21063  }
21064 
21065  else
21066  {
21068  yy_current_state = (yy_last_accepting_state);
21069  goto yy_find_action;
21070  }
21071  }
21072 
21073  else switch ( yy_get_next_buffer( ) )
21074  {
21075  case EOB_ACT_END_OF_FILE:
21076  {
21078 
21079  if ( vhdlcodeYYwrap( ) )
21080  {
21081  /* Note: because we've taken care in
21082  * yy_get_next_buffer() to have set up
21083  * vhdlcodeYYtext, we can now set up
21084  * yy_c_buf_p so that if some total
21085  * hoser (like flex itself) wants to
21086  * call the scanner after we return the
21087  * YY_NULL, it'll still work - another
21088  * YY_NULL will get returned.
21089  */
21091 
21093  goto do_action;
21094  }
21095 
21096  else
21097  {
21098  if ( ! (yy_did_buffer_switch_on_eof) )
21099  YY_NEW_FILE;
21100  }
21101  break;
21102  }
21103 
21104  case EOB_ACT_CONTINUE_SCAN:
21105  (yy_c_buf_p) =
21106  (yytext_ptr) + yy_amount_of_matched_text;
21107 
21108  yy_current_state = yy_get_previous_state( );
21109 
21110  yy_cp = (yy_c_buf_p);
21112  goto yy_match;
21113 
21114  case EOB_ACT_LAST_MATCH:
21115  (yy_c_buf_p) =
21116  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
21117 
21118  yy_current_state = yy_get_previous_state( );
21119 
21120  yy_cp = (yy_c_buf_p);
21122  goto yy_find_action;
21123  }
21124  break;
21125  }
21126 
21127  default:
21129  "fatal flex scanner internal error--no action found" );
21130  } /* end of action switch */
21131  } /* end of scanning one token */
static QCString name
Definition: declinfo.cpp:673
static yy_state_type yy_last_accepting_state
Definition: vhdlcode.cpp:19079
bool resize(uint newlen)
Definition: qcstring.h:225
static QCString getIndexWord(const char *, int index)
#define YY_RESTORE_YY_MORE_OFFSET
Definition: vhdlcode.cpp:19091
static yyconst flex_int16_t yy_def[5628]
Definition: vhdlcode.cpp:1610
static yyconst flex_int32_t yy_ec[256]
Definition: vhdlcode.cpp:942
QCString stripWhiteSpace() const
Definition: qcstring.cpp:295
#define YY_FATAL_ERROR(msg)
Definition: vhdlcode.cpp:20002
static int yy_get_next_buffer(void)
Definition: vhdlcode.cpp:21141
#define PackageName
Definition: vhdlcode.cpp:19859
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
Definition: vhdlcode.cpp:21308
static yyconst flex_int16_t yy_nxt[76541]
Definition: vhdlcode.cpp:2233
static bool isNumber(const QCString &s)
bool isEmpty() const
Definition: qcstring.h:189
#define INITIAL
Definition: vhdlcode.cpp:19851
The QRegExp class provides pattern matching using regular expressions or wildcards.
Definition: qregexp.h:46
static void deleteAllChars(QCString &s, char c)
static void writeWord(const char *word, const char *curr_class=0, bool classLink=FALSE)
Definition: vhdlcode.cpp:19356
uint length() const
Definition: qcstring.h:195
#define ParseFuncProto
Definition: vhdlcode.cpp:19854
int contains(char c, bool cs=TRUE) const
Definition: qcstring.cpp:153
register char * yy_bp
Definition: vhdlcode.cpp:20041
#define YY_BREAK
Definition: vhdlcode.cpp:20027
char & at(uint i) const
Definition: qcstring.h:326
static void writeFuncProto()
Definition: vhdlcode.cpp:19767
static int g_braceCount
Definition: vhdlcode.cpp:19194
#define YY_DO_BEFORE_ACTION
Definition: vhdlcode.cpp:378
static yyconst flex_int32_t yy_meta[82]
Definition: vhdlcode.cpp:974
static int g_yyLineNr
current line number
Definition: vhdlcode.cpp:19176
static int yy_start
Definition: vhdlcode.cpp:299
static void startFontClass(const char *s)
Definition: vhdlcode.cpp:19674
static bool isFuncProto
Definition: vhdlcode.cpp:19155
const bool FALSE
Definition: qglobal.h:370
#define ParseComponent
Definition: vhdlcode.cpp:19855
register char * yy_cp
Definition: vhdlcode.cpp:20041
static void writeFont(const char *s, const char *text)
Definition: vhdlcode.cpp:19682
static bool isPackageBody
Definition: vhdlcode.cpp:19157
static CodeOutputInterface * g_code
Definition: vhdlcode.cpp:19170
static bool writeColoredWord(QCString &word)
Definition: vhdlcode.cpp:19811
#define ParsePackage
Definition: vhdlcode.cpp:19856
QCString left(uint len) const
Definition: qcstring.cpp:213
#define yytext_ptr
Definition: vhdlcode.cpp:368
static void generateMemLink(CodeOutputInterface &ol, QCString &clName, QCString &memberName)
Definition: vhdlcode.cpp:19564
uint size() const
Definition: qcstring.h:201
int find(char c, int index=0, bool cs=TRUE) const
Definition: qcstring.cpp:41
static QCString g_PortMapComp
Definition: vhdlcode.cpp:19164
static ClassDef * getPackageName(const QCString &name)
Definition: vhdldocgen.cpp:705
int yy_state_type
Definition: code.cpp:361
uint count() const
Definition: qvaluelist.h:394
#define YY_MORE_ADJ
Definition: vhdlcode.cpp:19090
#define yyterminate()
Definition: vhdlcode.cpp:19992
#define YY_STATE_EOF(state)
Definition: vhdlcode.cpp:154
#define YY_SC_TO_UI(c)
Definition: vhdlcode.cpp:138
#define YY_BUFFER_NORMAL
Definition: vhdlcode.cpp:255
static void appStringLower(QCString &qcs, const char *text)
Definition: vhdlcode.cpp:19693
#define YY_END_OF_BUFFER
Definition: vhdlcode.cpp:386
#define YY_AT_BOL()
Definition: vhdlcode.cpp:350
Definition: type_traits.h:61
static yyconst flex_int32_t yy_base[5628]
Definition: vhdlcode.cpp:987
#define ParseType
Definition: vhdlcode.cpp:19853
#define ECHO
Definition: vhdlcode.cpp:19948
A list of strings.
Definition: qstringlist.h:51
static bool checkVhdlString(QCString &name)
Definition: vhdlcode.cpp:19221
static QCString g_CurrClass
Definition: vhdlcode.cpp:19161
#define YY_BUFFER_NEW
Definition: vhdlcode.cpp:254
QCString right(uint len) const
Definition: qcstring.cpp:231
#define YY_START
Definition: vhdlcode.cpp:150
#define Body
Definition: vhdlcode.cpp:19863
static yyconst flex_int16_t yy_chk[76541]
Definition: vhdlcode.cpp:10656
static yyconst flex_int16_t yy_accept[4944]
Definition: vhdlcode.cpp:394
#define EOB_ACT_END_OF_FILE
Definition: vhdlcode.cpp:180
#define ClassName
Definition: vhdlcode.cpp:19858
#define YY_RULE_SETUP
Definition: vhdlcode.cpp:20030
QCString & prepend(const char *s)
Definition: qcstring.cpp:387
static int yy_n_chars
Definition: vhdlcode.cpp:293
static void codifyMapLines(const char *text)
Definition: vhdlcode.cpp:19710
static int yy_did_buffer_switch_on_eof
Definition: vhdlcode.cpp:304
const char * data() const
Definition: qcstring.h:207
#define ClassVar
Definition: vhdlcode.cpp:19860
string tmp
Definition: languages.py:63
#define Config_getBool(val)
Definition: config.cpp:664
static void writeProcessProto()
Definition: vhdlcode.cpp:19804
FILE * vhdlcodeYYin
Definition: vhdlcode.cpp:359
int findIndex(const T &x) const
Definition: qvaluelist.h:391
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
unsigned char YY_CHAR
Definition: code.cpp:357
#define YY_NEW_FILE
Definition: vhdlcode.cpp:157
#define BEGIN
Definition: vhdlcode.cpp:144
static QCString g_tempComp
Definition: vhdlcode.cpp:19163
virtual void codify(const char *s)=0
static QCString g_PrevString
Definition: vhdlcode.cpp:19160
#define vhdlcodeYYwrap(n)
Definition: vhdlcode.cpp:354
#define Bases
Definition: vhdlcode.cpp:19852
static QCString g_CurrScope
Definition: vhdlcode.cpp:19185
static char * yy_last_accepting_cpos
Definition: vhdlcode.cpp:19080
#define EOB_ACT_CONTINUE_SCAN
Definition: vhdlcode.cpp:179
static char yy_hold_char
Definition: vhdlcode.cpp:292
static QDict< QCString > g_vhdlKeyDict
Definition: vhdlcode.cpp:19162
static char * yy_c_buf_p
Definition: vhdlcode.cpp:297
register int yy_act
Definition: vhdlcode.cpp:20042
static void generateClassOrGlobalLink(CodeOutputInterface &ol, const char *clName, bool typeOnly=FALSE)
Definition: vhdlcode.cpp:19602
static bool isComponent
Definition: vhdlcode.cpp:19156
#define ParseProcessProto
Definition: vhdlcode.cpp:19857
char * vhdlcodeYYtext
Definition: vhdlcode.cpp:19092
#define EOB_ACT_LAST_MATCH
Definition: vhdlcode.cpp:181
static bool isProto
Definition: vhdlcode.cpp:19158
#define ClassesName
Definition: vhdlcode.cpp:19861
static QStringList split(const QString &sep, const QString &str, bool allowEmptyEntries=FALSE)
#define Map
Definition: vhdlcode.cpp:19862
static QCString g_FuncProto
Definition: vhdlcode.cpp:19166
const bool TRUE
Definition: qglobal.h:371
static void codifyLines(const char *text, const char *cl=0, bool classlink=FALSE, bool comment=FALSE)
Definition: vhdlcode.cpp:19442
QCString & append(const char *s)
Definition: qcstring.cpp:383
static void endFontClass()
Definition: vhdlcode.cpp:19665
static yy_state_type yy_get_previous_state(void)
Definition: vhdlcode.cpp:21275
static bool writeColoredWord ( QCString word)
static

Definition at line 19811 of file vhdlcode.cpp.

19812 {
19813  QCString qcs=word.lower();
19815  if (ss)
19816  {
19817  writeFont(ss->data(),word.data());
19818  return TRUE;
19819  }
19820  return FALSE;
19821 }
const bool FALSE
Definition: qglobal.h:370
static void writeFont(const char *s, const char *text)
Definition: vhdlcode.cpp:19682
const char * data() const
Definition: qcstring.h:207
static QCString * findKeyWord(const QCString &word)
Definition: vhdldocgen.cpp:667
QCString lower() const
Definition: qcstring.cpp:263
const bool TRUE
Definition: qglobal.h:371
static void writeFont ( const char *  s,
const char *  text 
)
static

Definition at line 19682 of file vhdlcode.cpp.

19683 {
19684  if (s==0 || text==0) return;
19685  //printf("writeFont(%d,\"%s\")\n",g_yyLineNr,text);
19687  g_code->codify(text);
19688  g_code->endFontClass();
19689 }
virtual void endFontClass()=0
virtual void startFontClass(const char *clsName)=0
static CodeOutputInterface * g_code
Definition: vhdlcode.cpp:19170
virtual void codify(const char *s)=0
static QCString * s
Definition: config.cpp:1042
static void writeFuncProto ( )
static

Definition at line 19767 of file vhdlcode.cpp.

19768 {
19769  QList<Argument> ql;
19770  QCString name,ret;
19772 
19773  if (name.isEmpty())
19774  {
19776  return;
19777  }
19779  QCString temp=qlist[0].utf8();
19780  codifyLines(temp.data(),g_CurrClass.data());
19781  g_FuncProto.stripPrefix(temp.data());
19782  temp.resize(0);
19783  temp=g_CurrClass;
19784  if (isPackageBody)
19785  {
19786  temp.stripPrefix("_");// _{package body name}
19787  }
19788  MemberDef *mdef=VhdlDocGen::findFunction(ql,name,temp,FALSE);
19789 
19790  if (mdef)
19791  {
19792  generateFuncLink(*g_code,mdef);
19793  g_FuncProto.stripPrefix(name.data());
19795  }
19796  else
19797  {
19799  }
19800 }// writeFuncProto
static QCString name
Definition: declinfo.cpp:673
bool resize(uint newlen)
Definition: qcstring.h:225
bool isEmpty() const
Definition: qcstring.h:189
const bool FALSE
Definition: qglobal.h:370
static bool isPackageBody
Definition: vhdlcode.cpp:19157
static CodeOutputInterface * g_code
Definition: vhdlcode.cpp:19170
bool stripPrefix(const char *prefix)
Definition: qcstring.cpp:201
A list of strings.
Definition: qstringlist.h:51
static QCString g_CurrClass
Definition: vhdlcode.cpp:19161
const char * data() const
Definition: qcstring.h:207
static void parseFuncProto(const char *text, QList< Argument > &, QCString &name, QCString &ret, bool doc=false)
static MemberDef * findFunction(const QList< Argument > &ql, const QCString &name, const QCString &package, bool type)
Definition: vhdldocgen.cpp:901
static QStringList split(const QString &sep, const QString &str, bool allowEmptyEntries=FALSE)
static void generateFuncLink(CodeOutputInterface &ol, MemberDef *mdef)
Definition: vhdlcode.cpp:19547
static QCString g_FuncProto
Definition: vhdlcode.cpp:19166
static void codifyLines(const char *text, const char *cl=0, bool classlink=FALSE, bool comment=FALSE)
Definition: vhdlcode.cpp:19442
static void writeMultiLineCodeLink ( CodeOutputInterface ol,
Definition d,
const char *  text 
)
static

writes a link to a fragment text that may span multiple lines, inserting line numbers for each line. If text contains newlines, the link will be split into multiple links with the same destination, one for each line.

Definition at line 19485 of file vhdlcode.cpp.

19488 {
19489  static bool sourceTooltips = Config_getBool("SOURCE_TOOLTIPS");
19491  QCString ref = d->getReference();
19493  QCString anchor = d->anchor();
19494  QCString tooltip;
19495  if (!sourceTooltips) // fall back to simple "title" tooltips
19496  {
19497  tooltip = d->briefDescriptionAsTooltip();
19498  }
19499  bool done=FALSE;
19500  char *p=(char *)text;
19501  while (!done)
19502  {
19503  char *sp=p;
19504  char c;
19505  while ((c=*p++) && c!='\n') {}
19506  if (c=='\n')
19507  {
19508  g_yyLineNr++;
19509  *(p-1)='\0';
19510  // printf("writeCodeLink(%s,%s,%s,%s)\n",ref,file,anchor,sp);
19511  ol.writeCodeLink(ref,file,anchor,sp,tooltip);
19512  nextCodeLine();
19513  }
19514  else
19515  {
19516  ol.writeCodeLink(ref,file,anchor,sp,tooltip);
19517  done=TRUE;
19518  }
19519  }
19520 }
virtual QCString getReference() const
void addTooltip(Definition *d)
Definition: tooltip.cpp:71
static int g_yyLineNr
current line number
Definition: vhdlcode.cpp:19176
const bool FALSE
Definition: qglobal.h:370
virtual QCString getOutputFileBase() const =0
virtual void writeCodeLink(const char *ref, const char *file, const char *anchor, const char *name, const char *tooltip)=0
p
Definition: test.py:223
#define Config_getBool(val)
Definition: config.cpp:664
static void nextCodeLine()
Definition: vhdlcode.cpp:19337
static TooltipManager * instance()
Definition: tooltip.cpp:45
QCString briefDescriptionAsTooltip() const
const bool TRUE
Definition: qglobal.h:371
virtual QCString anchor() const =0
static void writeProcessProto ( )
static

Definition at line 19804 of file vhdlcode.cpp.

19804  {
19806  g_vhdlKeyDict.clear();
19807 }// writeProcessProto
static QCString g_CurrClass
Definition: vhdlcode.cpp:19161
const char * data() const
Definition: qcstring.h:207
static QDict< QCString > g_vhdlKeyDict
Definition: vhdlcode.cpp:19162
static QCString g_FuncProto
Definition: vhdlcode.cpp:19166
static void codifyLines(const char *text, const char *cl=0, bool classlink=FALSE, bool comment=FALSE)
Definition: vhdlcode.cpp:19442
static void writeWord ( const char *  word,
const char *  curr_class = 0,
bool  classLink = FALSE 
)
static

writes a word to the output. If curr_class is defined, the word belongs to a class and will be linked.

Definition at line 19356 of file vhdlcode.cpp.

19357 {
19358  bool found=FALSE;
19359  QCString temp;
19360  QCString tclass(curr_class);
19361  QCString ttt(word);
19362  if (ttt.isEmpty()) return;
19363  for (unsigned int j=0;j<ttt.length();j++)
19364  {
19365  char c=ttt.at(j);
19366  if (c==' '|| c==',' || c==';' || c==':' || c=='(' || c==')' || c=='\r' || c=='\t' || c=='.')
19367  {
19368  if (found)
19369  {
19370  if (!writeColoredWord(temp)) // is it a keyword ?
19371  {
19372  //if (VhdlDocGen::findKeyWord(temp))
19373  // writeFont("vhdlkeyword",temp.data());
19374  //printf("writeWord: %s\n",temp.data());
19375  if (!tclass.isEmpty())
19376  {
19377  if (!classLink)
19378  {
19379  generateMemLink(*g_code,tclass,temp);
19380  }
19381  else
19382  {
19384  }
19385  }
19386  else
19387  {
19388  if (!checkVhdlString(temp))
19389  g_code->codify(temp.data());
19390  }
19391  }
19392  temp.resize(0);
19393  found=FALSE;
19394  }
19395 
19396  char cc[2];
19397  cc[0]=c;
19398  cc[1]=0;
19399  g_code->codify(cc);
19400  }
19401  else
19402  {
19403  found=TRUE;
19404  temp+=c;
19405  }
19406  } // for
19407 
19408  if (!temp.isEmpty())
19409  {
19410  if (!writeColoredWord(temp))
19411  {
19412  if (!tclass.isEmpty())
19413  {
19414  if (!classLink)
19415  {
19416  generateMemLink(*g_code,tclass,temp); // generateMemLink(*g_code,g_CurrClass,left);
19417  }
19418  else
19419  {
19421  }
19422  }
19423  else
19424  {
19425  QCString qc(temp.data());
19426  if (VhdlDocGen::isNumber(qc)){
19427  startFontClass("vhdllogic");
19428  g_code->codify(temp.data());
19429  endFontClass();
19430  }
19431  else
19432  g_code->codify(temp.data());
19433  }
19434  }
19435  }
19436 }// writeWord
bool resize(uint newlen)
Definition: qcstring.h:225
static bool isNumber(const QCString &s)
bool isEmpty() const
Definition: qcstring.h:189
static void startFontClass(const char *s)
Definition: vhdlcode.cpp:19674
const bool FALSE
Definition: qglobal.h:370
static CodeOutputInterface * g_code
Definition: vhdlcode.cpp:19170
static bool writeColoredWord(QCString &word)
Definition: vhdlcode.cpp:19811
static void generateMemLink(CodeOutputInterface &ol, QCString &clName, QCString &memberName)
Definition: vhdlcode.cpp:19564
static bool checkVhdlString(QCString &name)
Definition: vhdlcode.cpp:19221
const char * data() const
Definition: qcstring.h:207
virtual void codify(const char *s)=0
static void generateClassOrGlobalLink(CodeOutputInterface &ol, const char *clName, bool typeOnly=FALSE)
Definition: vhdlcode.cpp:19602
union ptb::content::word::word word
const bool TRUE
Definition: qglobal.h:371
static void endFontClass()
Definition: vhdlcode.cpp:19665
static void yy_fatal_error ( yyconst char  msg[])
static
static void yy_fatal_error ( yyconst char *  msg)
static

Definition at line 21760 of file vhdlcode.cpp.

21761 {
21762  (void) fprintf( stderr, "%s\n", msg );
21763  exit( YY_EXIT_FAILURE );
21764 }
void msg(const char *fmt,...)
Definition: message.cpp:107
#define YY_EXIT_FAILURE
Definition: vhdlcode.cpp:21757
static int yy_get_next_buffer ( void  )
static

Definition at line 21141 of file vhdlcode.cpp.

21142 {
21143  register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
21144  register char *source = (yytext_ptr);
21145  register int number_to_move, i;
21146  int ret_val;
21147 
21148  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
21150  "fatal flex scanner internal error--end of buffer missed" );
21151 
21152  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
21153  { /* Don't try to fill the buffer, so this is an EOF. */
21154  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
21155  {
21156  /* We matched a single character, the EOB, so
21157  * treat this as a final EOF.
21158  */
21159  return EOB_ACT_END_OF_FILE;
21160  }
21161 
21162  else
21163  {
21164  /* We matched some text prior to the EOB, first
21165  * process it.
21166  */
21167  return EOB_ACT_LAST_MATCH;
21168  }
21169  }
21170 
21171  /* Try to read more data. */
21172 
21173  /* First move last chars to start of buffer. */
21174  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
21175 
21176  for ( i = 0; i < number_to_move; ++i )
21177  *(dest++) = *(source++);
21178 
21179  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
21180  /* don't do the read, it's not guaranteed to return an EOF,
21181  * just force an EOF
21182  */
21183  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
21184 
21185  else
21186  {
21187  int num_to_read =
21188  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
21189 
21190  while ( num_to_read <= 0 )
21191  { /* Not enough room in the buffer - grow it. */
21192 
21193  /* just a shorter name for the current buffer */
21195 
21196  int yy_c_buf_p_offset =
21197  (int) ((yy_c_buf_p) - b->yy_ch_buf);
21198 
21199  if ( b->yy_is_our_buffer )
21200  {
21201  int new_size = b->yy_buf_size * 2;
21202 
21203  if ( new_size <= 0 )
21204  b->yy_buf_size += b->yy_buf_size / 8;
21205  else
21206  b->yy_buf_size *= 2;
21207 
21208  b->yy_ch_buf = (char *)
21209  /* Include room in for 2 EOB chars. */
21210  vhdlcodeYYrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
21211  }
21212  else
21213  /* Can't grow it, we don't own it. */
21214  b->yy_ch_buf = 0;
21215 
21216  if ( ! b->yy_ch_buf )
21218  "fatal error - scanner input buffer overflow" );
21219 
21220  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
21221 
21222  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
21223  number_to_move - 1;
21224 
21225  }
21226 
21227  if ( num_to_read > YY_READ_BUF_SIZE )
21228  num_to_read = YY_READ_BUF_SIZE;
21229 
21230  /* Read in more data. */
21231  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
21232  (yy_n_chars), (size_t) num_to_read );
21233 
21234  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
21235  }
21236 
21237  if ( (yy_n_chars) == 0 )
21238  {
21239  if ( number_to_move == YY_MORE_ADJ )
21240  {
21241  ret_val = EOB_ACT_END_OF_FILE;
21243  }
21244 
21245  else
21246  {
21247  ret_val = EOB_ACT_LAST_MATCH;
21248  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
21250  }
21251  }
21252 
21253  else
21254  ret_val = EOB_ACT_CONTINUE_SCAN;
21255 
21256  if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
21257  /* Extend the array by 50%, plus the number we really need. */
21258  yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
21259  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) vhdlcodeYYrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
21260  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
21261  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
21262  }
21263 
21264  (yy_n_chars) += number_to_move;
21267 
21268  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
21269 
21270  return ret_val;
21271 }
void vhdlcodeYYrestart(FILE *input_file)
Definition: vhdlcode.cpp:21412
#define YY_FATAL_ERROR(msg)
Definition: vhdlcode.cpp:20002
#define YY_END_OF_BUFFER_CHAR
Definition: vhdlcode.cpp:159
#define yytext_ptr
Definition: vhdlcode.cpp:368
yy_size_t yy_buf_size
Definition: code.cpp:218
#define YY_MORE_ADJ
Definition: vhdlcode.cpp:19090
#define YY_INPUT(buf, result, max_size)
Definition: vhdlcode.cpp:19824
#define EOB_ACT_END_OF_FILE
Definition: vhdlcode.cpp:180
static int yy_n_chars
Definition: vhdlcode.cpp:293
void * vhdlcodeYYrealloc(void *, yy_size_t)
Definition: vhdlcode.cpp:21942
char * yy_ch_buf
Definition: code.cpp:212
FILE * vhdlcodeYYin
Definition: vhdlcode.cpp:359
#define YY_READ_BUF_SIZE
Definition: vhdlcode.cpp:19940
#define YY_CURRENT_BUFFER_LVALUE
Definition: vhdlcode.cpp:289
int yy_is_our_buffer
Definition: code.cpp:229
#define YY_CURRENT_BUFFER
Definition: vhdlcode.cpp:282
#define EOB_ACT_CONTINUE_SCAN
Definition: vhdlcode.cpp:179
static bool * b
Definition: config.cpp:1043
#define YY_BUFFER_EOF_PENDING
Definition: vhdlcode.cpp:266
static char * yy_c_buf_p
Definition: vhdlcode.cpp:297
#define EOB_ACT_LAST_MATCH
Definition: vhdlcode.cpp:181
size_t yy_size_t
Definition: code.cpp:203
static yy_state_type yy_get_previous_state ( void  )
static

Definition at line 21275 of file vhdlcode.cpp.

21276 {
21277  register yy_state_type yy_current_state;
21278  register char *yy_cp;
21279 
21280  yy_current_state = (yy_start);
21281  yy_current_state += YY_AT_BOL();
21282 
21283  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
21284  {
21285  register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
21286  if ( yy_accept[yy_current_state] )
21287  {
21288  (yy_last_accepting_state) = yy_current_state;
21289  (yy_last_accepting_cpos) = yy_cp;
21290  }
21291  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
21292  {
21293  yy_current_state = (int) yy_def[yy_current_state];
21294  if ( yy_current_state >= 4944 )
21295  yy_c = yy_meta[(unsigned int) yy_c];
21296  }
21297  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
21298  }
21299 
21300  return yy_current_state;
21301 }
static yy_state_type yy_last_accepting_state
Definition: vhdlcode.cpp:19079
static yyconst flex_int16_t yy_def[5628]
Definition: vhdlcode.cpp:1610
static yyconst flex_int32_t yy_ec[256]
Definition: vhdlcode.cpp:942
static yyconst flex_int16_t yy_nxt[76541]
Definition: vhdlcode.cpp:2233
static yyconst flex_int32_t yy_meta[82]
Definition: vhdlcode.cpp:974
static int yy_start
Definition: vhdlcode.cpp:299
register char * yy_cp
Definition: vhdlcode.cpp:20041
#define yytext_ptr
Definition: vhdlcode.cpp:368
int yy_state_type
Definition: code.cpp:361
#define YY_MORE_ADJ
Definition: vhdlcode.cpp:19090
#define YY_SC_TO_UI(c)
Definition: vhdlcode.cpp:138
#define YY_AT_BOL()
Definition: vhdlcode.cpp:350
static yyconst flex_int32_t yy_base[5628]
Definition: vhdlcode.cpp:987
static yyconst flex_int16_t yy_chk[76541]
Definition: vhdlcode.cpp:10656
static yyconst flex_int16_t yy_accept[4944]
Definition: vhdlcode.cpp:394
unsigned char YY_CHAR
Definition: code.cpp:357
static char * yy_last_accepting_cpos
Definition: vhdlcode.cpp:19080
static char * yy_c_buf_p
Definition: vhdlcode.cpp:297
static int yy_init_globals ( void  )
static

Definition at line 21863 of file vhdlcode.cpp.

21864 {
21865  /* Initialization is the same as for the non-reentrant scanner.
21866  * This function is called from vhdlcodeYYlex_destroy(), so don't allocate here.
21867  */
21868 
21869  (yy_buffer_stack) = 0;
21870  (yy_buffer_stack_top) = 0;
21871  (yy_buffer_stack_max) = 0;
21872  (yy_c_buf_p) = (char *) 0;
21873  (yy_init) = 0;
21874  (yy_start) = 0;
21875 
21876 /* Defined in main.c */
21877 #ifdef YY_STDINIT
21878  vhdlcodeYYin = stdin;
21880 #else
21881  vhdlcodeYYin = (FILE *) 0;
21882  vhdlcodeYYout = (FILE *) 0;
21883 #endif
21884 
21885  /* For future reference: Set errno on error, since we are called by
21886  * vhdlcodeYYlex_init()
21887  */
21888  return 0;
21889 }
static YY_BUFFER_STATE * yy_buffer_stack
Definition: vhdlcode.cpp:274
static int yy_start
Definition: vhdlcode.cpp:299
static size_t yy_buffer_stack_top
Definition: vhdlcode.cpp:272
static size_t yy_buffer_stack_max
Definition: vhdlcode.cpp:273
FILE * vhdlcodeYYout
Definition: vhdlcode.cpp:359
FILE * vhdlcodeYYin
Definition: vhdlcode.cpp:359
static int yy_init
Definition: vhdlcode.cpp:298
static char * yy_c_buf_p
Definition: vhdlcode.cpp:297
static yy_state_type yy_try_NUL_trans ( yy_state_type  current_state)
static

Definition at line 21308 of file vhdlcode.cpp.

21309 {
21310  register int yy_is_jam;
21311  register char *yy_cp = (yy_c_buf_p);
21312 
21313  register YY_CHAR yy_c = 1;
21314  if ( yy_accept[yy_current_state] )
21315  {
21316  (yy_last_accepting_state) = yy_current_state;
21317  (yy_last_accepting_cpos) = yy_cp;
21318  }
21319  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
21320  {
21321  yy_current_state = (int) yy_def[yy_current_state];
21322  if ( yy_current_state >= 4944 )
21323  yy_c = yy_meta[(unsigned int) yy_c];
21324  }
21325  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
21326  yy_is_jam = (yy_current_state == 4943);
21327 
21328  return yy_is_jam ? 0 : yy_current_state;
21329 }
static yy_state_type yy_last_accepting_state
Definition: vhdlcode.cpp:19079
static yyconst flex_int16_t yy_def[5628]
Definition: vhdlcode.cpp:1610
static yyconst flex_int16_t yy_nxt[76541]
Definition: vhdlcode.cpp:2233
static yyconst flex_int32_t yy_meta[82]
Definition: vhdlcode.cpp:974
register char * yy_cp
Definition: vhdlcode.cpp:20041
static yyconst flex_int32_t yy_base[5628]
Definition: vhdlcode.cpp:987
static yyconst flex_int16_t yy_chk[76541]
Definition: vhdlcode.cpp:10656
static yyconst flex_int16_t yy_accept[4944]
Definition: vhdlcode.cpp:394
unsigned char YY_CHAR
Definition: code.cpp:357
static char * yy_last_accepting_cpos
Definition: vhdlcode.cpp:19080
static char * yy_c_buf_p
Definition: vhdlcode.cpp:297
static int yyread ( char *  buf,
int  max_size 
)
static

Definition at line 19826 of file vhdlcode.cpp.

19827 {
19828  int c=0;
19829  while( c < max_size && g_inputString[g_inputPosition] )
19830  {
19831  *buf = g_inputString[g_inputPosition++] ;
19832  c++; buf++;
19833  }
19834  return c;
19835 }
static int g_inputPosition
read offset during parsing
Definition: vhdlcode.cpp:19174
static const char * g_inputString
the code fragment as text
Definition: vhdlcode.cpp:19173

Variable Documentation

int g_braceCount =0
static

Definition at line 19194 of file vhdlcode.cpp.

QCString g_classScope
static

Definition at line 19183 of file vhdlcode.cpp.

CodeOutputInterface* g_code
static

Definition at line 19170 of file vhdlcode.cpp.

QCString g_CurrClass
static

Definition at line 19161 of file vhdlcode.cpp.

Definition* g_currentDefinition
static

Definition at line 19188 of file vhdlcode.cpp.

const char* g_currentFontClass
static

Definition at line 19191 of file vhdlcode.cpp.

MemberDef* g_currentMemberDef
static

Definition at line 19189 of file vhdlcode.cpp.

QCString g_CurrScope
static

Definition at line 19185 of file vhdlcode.cpp.

QCString g_exampleFile
static

Definition at line 19181 of file vhdlcode.cpp.

QCString g_exampleName
static

Definition at line 19180 of file vhdlcode.cpp.

QCString g_FuncProto
static

Definition at line 19166 of file vhdlcode.cpp.

bool g_includeCodeFragment
static

Definition at line 19190 of file vhdlcode.cpp.

int g_inputLines
static

number of line in the code fragment

Definition at line 19175 of file vhdlcode.cpp.

int g_inputPosition
static

read offset during parsing

Definition at line 19174 of file vhdlcode.cpp.

const char* g_inputString
static

the code fragment as text

Definition at line 19173 of file vhdlcode.cpp.

bool g_lexInit = FALSE
static

Definition at line 19193 of file vhdlcode.cpp.

bool g_needsTermination
static

Definition at line 19177 of file vhdlcode.cpp.

QCString g_parmName
static

Definition at line 19172 of file vhdlcode.cpp.

QCString g_parmType
static

Definition at line 19171 of file vhdlcode.cpp.

QCString g_PortMapComp
static

Definition at line 19164 of file vhdlcode.cpp.

QCString g_PrevString
static

Definition at line 19160 of file vhdlcode.cpp.

Definition* g_searchCtx
static

Definition at line 19178 of file vhdlcode.cpp.

FileDef* g_sourceFileDef
static

Definition at line 19187 of file vhdlcode.cpp.

bool g_startCode = FALSE
static

Definition at line 19159 of file vhdlcode.cpp.

QCString g_temp
static

Definition at line 19707 of file vhdlcode.cpp.

QCString g_tempComp
static

Definition at line 19163 of file vhdlcode.cpp.

QDict<QCString> g_vhdlKeyDict
static

Definition at line 19162 of file vhdlcode.cpp.

MemberDef* g_vhdlMember
static

Definition at line 19165 of file vhdlcode.cpp.

int g_yyLineNr
static

current line number

Definition at line 19176 of file vhdlcode.cpp.

bool isComponent =FALSE
static

Definition at line 19156 of file vhdlcode.cpp.

bool isFuncProto =FALSE
static

Definition at line 19155 of file vhdlcode.cpp.

bool isPackageBody =FALSE
static

Definition at line 19157 of file vhdlcode.cpp.

bool isProto = FALSE
static

Definition at line 19158 of file vhdlcode.cpp.

int vhdlcodeYY_flex_debug = 0

Definition at line 19083 of file vhdlcode.cpp.

FILE * vhdlcodeYYin = (FILE *) 0

Definition at line 359 of file vhdlcode.cpp.

int vhdlcodeYYleng

Definition at line 294 of file vhdlcode.cpp.

int vhdlcodeYYlineno = 1

Definition at line 365 of file vhdlcode.cpp.

FILE * vhdlcodeYYout = (FILE *) 0

Definition at line 359 of file vhdlcode.cpp.

char * vhdlcodeYYtext

Definition at line 19092 of file vhdlcode.cpp.

yyconst flex_int16_t yy_accept[4944]
static

Definition at line 394 of file vhdlcode.cpp.

register int yy_act

Definition at line 20042 of file vhdlcode.cpp.

yyconst flex_int32_t yy_base[5628]
static

Definition at line 987 of file vhdlcode.cpp.

register char * yy_bp

Definition at line 20041 of file vhdlcode.cpp.

YY_BUFFER_STATE* yy_buffer_stack = 0
static

Stack as an array.

Definition at line 274 of file vhdlcode.cpp.

size_t yy_buffer_stack_max = 0
static

capacity of stack.

Definition at line 273 of file vhdlcode.cpp.

size_t yy_buffer_stack_top = 0
static

index of top of stack.

Definition at line 272 of file vhdlcode.cpp.

char* yy_c_buf_p = (char *) 0
static

Definition at line 297 of file vhdlcode.cpp.

yyconst flex_int16_t yy_chk[76541]
static

Definition at line 10656 of file vhdlcode.cpp.

register char* yy_cp

Definition at line 20041 of file vhdlcode.cpp.

YY_DECL
Initial value:
{
register yy_state_type yy_current_state
int yy_state_type
Definition: code.cpp:361

The main scanner function which does all the work.

Definition at line 20039 of file vhdlcode.cpp.

yyconst flex_int16_t yy_def[5628]
static

Definition at line 1610 of file vhdlcode.cpp.

int yy_did_buffer_switch_on_eof
static

Definition at line 304 of file vhdlcode.cpp.

yyconst flex_int32_t yy_ec[256]
static

Definition at line 942 of file vhdlcode.cpp.

char yy_hold_char
static

Definition at line 292 of file vhdlcode.cpp.

int yy_init = 0
static

Definition at line 298 of file vhdlcode.cpp.

char* yy_last_accepting_cpos
static

Definition at line 19080 of file vhdlcode.cpp.

yy_state_type yy_last_accepting_state
static

Definition at line 19079 of file vhdlcode.cpp.

yyconst flex_int32_t yy_meta[82]
static
Initial value:
=
{ 0,
1, 2, 3, 4, 5, 1, 6, 7, 1, 1,
8, 8, 9, 10, 11, 12, 13, 14, 15, 11,
16, 17, 18, 11, 11, 11, 19, 19, 19, 19,
20, 19, 21, 22, 22, 22, 22, 22, 22, 22,
22, 21, 22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 1, 19, 19, 19, 19, 19, 20, 19,
21, 22, 22, 22, 22, 22, 22, 22, 22, 21,
22, 22, 22, 22, 22, 22, 22, 22, 22, 1,
1
}

Definition at line 974 of file vhdlcode.cpp.

int yy_n_chars
static

Definition at line 293 of file vhdlcode.cpp.

yyconst flex_int16_t yy_nxt[76541]
static

Definition at line 2233 of file vhdlcode.cpp.

int yy_start = 0
static

Definition at line 299 of file vhdlcode.cpp.