Doxygen
vhdldocgen.h
浏览该文件的文档.
1 /******************************************************************************
2  *
3  * Copyright (C) 1997-2015 by Dimitri van Heesch.
4  *
5  * Permission to use, copy, modify, and distribute this software and its
6  * documentation under the terms of the GNU General Public License is hereby
7  * granted. No representations are made about the suitability of this software
8  * for any purpose. It is provided "as is" without express or implied warranty.
9  * See the GNU General Public License for more details.
10  *
11  * Documents produced by Doxygen are derivative works derived from the
12  * input used in their production; they are not affected by this license.
13  *
14  */
15 
16 #ifndef VHDLDOCGEN_H
17 #define VHDLDOCGEN_H
18 
19 /**
20  * This class implements functions for parsing and generating
21  * vhdl documents
22  */
23 
24 #include "qcstring.h"
25 #include "layout.h"
26 #include "arguments.h"
27 #include "entry.h"
28 
29 class Entry;
30 class ClassDef;
31 class MemberList;
32 class MemberDef;
33 class MemberDefMutable;
34 class OutputList;
35 class Definition;
36 class GroupDef;
37 class FileDef;
38 class NamespaceDef;
39 class TextStream;
40 struct Argument;
41 
43 {
44  VhdlConfNode(const QCString &a,const QCString &b,const QCString &config,const QCString &cs,bool leaf)
45  {
46  arch=a; // architecture e.g. for iobuffer
47  arch=arch.lower();
48  binding=b; // binding e.g. use entity work.xxx(bev)
50  confVhdl=config; // configuration foo is bar
51  compSpec=cs;
52  isInlineConf=false; // primary configuration?
53  isLeaf=leaf;
54  };
55 
60  int level = 0;
61  bool isLeaf = false;
62  bool isInlineConf = false;
63 
64 };
65 
66 
67 /** Class for generating documentation specific for VHDL */
69 {
70  public:
71 
72  enum VhdlClasses // Overlays: Protection
73  {
74  ENTITYCLASS, // Overlays: Public
75  PACKBODYCLASS, // Overlays: Protected
76  ARCHITECTURECLASS, // Overlays: Private
77  PACKAGECLASS // Overlays: Package
78  };
79 
81  {
96  USE,
109  };
110 
111  VhdlDocGen();
112  virtual ~VhdlDocGen();
113  static void init();
115  // --- used by vhdlscanner.l -----------
116 
117  static bool isSubClass(ClassDef* cd,ClassDef *scd, bool followInstances,int level);
118 
119  static QCString getIndexWord(const QCString &,int index);
120  static bool deleteCharRev(QCString &s,char c);
121  static void deleteAllChars(QCString &s,char c);
122  static void parseFuncProto(const QCString &text,
123  QCString& name,
124  QCString& ret,
125  bool doc=false);
126  // -----------------------------------
127 
128  static void computeVhdlComponentRelations();
129 
130  static const char* findKeyWord(const QCString& word);
131 
132  static ClassDef* getPackageName(const QCString& name);
133  static const MemberDef* findMember(const QCString& className,
134  const QCString& memName);
135  static void findAllPackages(ClassDef*);
136  static const MemberDef* findMemberDef(ClassDef* cd,
137  const QCString& key,
138  MemberListType type);
139  static ClassDef *getClass(const QCString &name);
140  static const MemberDef* findFunction(const QCString& name,
141  const QCString& package);
142  static QCString getClassTitle(const ClassDef*);
143  static void writeInlineClassLink(const ClassDef*,
144  OutputList &ol);
145  static void writeTagFile(MemberDefMutable *mdef,TextStream &tagFile);
146 
147  static bool isConstraint(const MemberDef *mdef);
148  static bool isConfig(const MemberDef *mdef);
149  static bool isAlias(const MemberDef *mdef);
150  static bool isLibrary(const MemberDef *mdef);
151  static bool isGeneric(const MemberDef *mdef);
152  static bool isPort(const MemberDef *mdef);
153  static bool isComponent(const MemberDef *mdef);
154  static bool isPackage(const MemberDef *mdef);
155  static bool isEntity(const MemberDef *mdef);
156  static bool isConstant(const MemberDef *mdef);
157  static bool isVType(const MemberDef *mdef);
158  static bool isSubType(const MemberDef *mdef);
159  static bool isVhdlFunction(const MemberDef *mdef);
160  static bool isProcess(const MemberDef *mdef);
161  static bool isSignal(const MemberDef *mdef);
162  static bool isAttribute(const MemberDef *mdef);
163  static bool isSignals(const MemberDef *mdef);
164  static bool isProcedure(const MemberDef *mdef);
165  static bool isRecord(const MemberDef *mdef);
166  static bool isArchitecture(const MemberDef *mdef);
167  static bool isUnit(const MemberDef *mdef);
168  static bool isPackageBody(const MemberDef *mdef);
169  static bool isVariable(const MemberDef *mdef);
170  static bool isFile(const MemberDef *mdef);
171  static bool isGroup(const MemberDef *mdef);
172  static bool isCompInst(const MemberDef *mdef);
173  static bool isMisc(const MemberDef *mdef);
174 
175  //-----------------------------------------------------
176 
177  static void prepareComment(QCString&);
178  static void formatString(const QCString&,OutputList& ol,const MemberDef*);
179 
180  static void writeFormatString(const QCString&,OutputList& ol,const MemberDef*);
181  static void writeFunctionProto(OutputList& ol,const ArgumentList &al,const MemberDef*);
182  static void writeProcessProto(OutputList& ol,const ArgumentList &al,const MemberDef*);
183  static void writeProcedureProto(OutputList& ol, const ArgumentList &al,const MemberDef*);
184  static bool writeFuncProcDocu(const MemberDef *mdef, OutputList& ol,const ArgumentList &al,bool type=false);
185  static void writeRecordProto(const MemberDef *mdef, OutputList& ol,const ArgumentList &al);
186 
187  static bool writeVHDLTypeDocumentation(const MemberDef* mdef, const Definition* d, OutputList &ol);
188 
189  static void writeVhdlDeclarations(const MemberList*,OutputList&,const GroupDef*,const ClassDef*,const FileDef*,const NamespaceDef*);
190 
191  static void writeVHDLDeclaration(const MemberDefMutable* mdef,OutputList &ol,
192  const ClassDef *cd,const NamespaceDef *nd,const FileDef *fd,const GroupDef *gd,
193  bool inGroup);
194 
195  static void writePlainVHDLDeclarations(const MemberList* ml,OutputList &ol,
196  const ClassDef *cd,const NamespaceDef *nd,const FileDef *fd,const GroupDef *gd,
197  uint64_t specifier);
198 
199  static void writeVHDLDeclarations(const MemberList* ml,OutputList &ol,
200  const ClassDef *cd,const NamespaceDef *nd,const FileDef *fd,const GroupDef *gd,
201  const QCString &title,const QCString &subtitle,bool showEnumValues,int type);
202 
203  static bool writeClassType(const ClassDef *,OutputList &ol ,QCString & cname);
204 
205  static QCString convertArgumentListToString(const ArgumentList &al,bool f);
206  static QCString getProcessNumber();
207  static QCString getRecordNumber();
208 
209  static QCString getClassName(const ClassDef*);
210  static bool isNumber(const std::string& s);
211  static QCString getProtectionName(int prot);
212 
213  static void parseUCF(const char* input,Entry* entity,const QCString &f,bool vendor);
214 
215  static const ClassDef* findArchitecture(const ClassDef *cd);
216 
217  static void correctMemberProperties(MemberDefMutable *md);
218 
219  static void writeSource(const MemberDefMutable *mdef,OutputList& ol,const QCString & cname);
220 
221  static QCString parseForConfig(QCString & entity,QCString & arch);
222  static QCString parseForBinding(QCString & entity,QCString & arch);
223  static void addBaseClass(ClassDef* cd,ClassDef *ent);
224  static ClassDef* findVhdlClass(const QCString &className );
225 
226  static void writeOverview(OutputList &ol);
227  static void writeOverview();
228 
229  // flowcharts
230  static void createFlowChart(const MemberDef*);
231  //static void addFlowImage(const TextStream &,const QCString &);
232 
233  static void setFlowMember( const MemberDef *flowMember);
234  static const MemberDef *getFlowMember();
235 
236  static bool isVhdlClass (const Entry *cu)
237  {
238  return cu->spec==VhdlDocGen::ENTITY ||
239  cu->spec==VhdlDocGen::PACKAGE ||
242  }
243 
244  static void resetCodeVhdlParserState();
245 
246  private:
247  static void findAllArchitectures(std::vector<QCString>& ql,const ClassDef *cd);
248  static bool compareArgList(const ArgumentList &,const ArgumentList &);
249  static void writeVhdlLink(const ClassDef* cdd ,OutputList& ol,QCString& type,QCString& name,QCString& beh);
250  static void writeStringLink(const MemberDef *mdef,QCString mem,OutputList& ol);
251  static void writeRecUnitDocu( const MemberDef *md, OutputList& ol,QCString largs);
252  static void writeRecordUnit(QCString & largs,QCString & ltype,OutputList& ol,const MemberDefMutable *mdef);
253 };
254 
255 //-------------------------------------------------------------------------------------------------------------------
256 //-------------- VHDL Flowcharts -------------------------------------------------------------------------------
257 //-------------------------------------------------------------------------------------------------------------------
258 
259 
260 //#define DEBUGFLOW
261 
263 {
264  public:
265  enum nodeTypes {
266  IF_NO = 1<<1,
267  ELSIF_NO = 1<<2,
268  ELSE_NO = 1<<3,
269  CASE_NO = 1<<4,
270  WHEN_NO = 1<<5,
271  EXIT_NO = 1<<6,
272  END_NO = 1<<7,
273  TEXT_NO = 1<<8,
274  START_NO = 1<<9,
275  ENDIF_NO = 1<<10,
276  FOR_NO = 1<<11,
277  WHILE_NO = 1<<12,
278  END_LOOP = 1<<13,
279  END_CASE = 1<<14,
280  VARIABLE_NO = 1<<15,
281  RETURN_NO = 1<<16,
282  LOOP_NO = 1<<17,
283  NEXT_NO = 1<<18,
284  EMPTY_NO = 1<<19,
285  COMMENT_NO = 1<<20,
286  BEGIN_NO = 1<<21
287  };
288 
289  //---------- create svg -------------------------------------------------------------
290  static void createSVG();
291  static void startDot(TextStream &t);
292  static void endDot(TextStream &t);
293  static void codify(TextStream &t,const QCString &str);
294  static void writeShape(TextStream &t,const FlowChart &fl);
295  static void writeEdge(TextStream &t,int fl_from,int fl_to,int i,bool bFrom=FALSE,bool bTo=FALSE);
296  static void writeEdge(TextStream &t,const FlowChart &fl_from,const FlowChart &fl_to,int i);
297  static void writeFlowLinks(TextStream &t);
298 
299  static QCString getNodeName(int n);
300  static void colTextNodes();
301 
302  static size_t getNextIfLink(const FlowChart&,size_t);
303  static size_t getNextNode(size_t index,int stamp);
304  static size_t findNode(size_t index,int stamp,int type);
305  static size_t findNode(size_t index,int type);
306  static size_t findNextLoop(size_t j,int stamp);
307  static size_t findPrevLoop(size_t j,int stamp,bool endif=FALSE);
308  static size_t findLabel(size_t j,const QCString &);
309  static void delFlowList();
310  static const char* getNodeType(int c);
311 
312  static void addFlowChart(int type,const QCString &text,const QCString &exp,const QCString &label=QCString());
313  static void moveToPrevLevel();
314  static int getTimeStamp();
315  static void writeFlowChart();
316  static void alignFuncProc(QCString & q,const ArgumentList &al,bool isFunc);
318  static void printNode(const FlowChart& n);
319  static void printFlowTree();
320  static void buildCommentNodes(TextStream &t);
321  static void alignCommentNode(TextStream &t,QCString com);
322 
323  static void printUmlTree();
324  static QCString printPlantUmlNode(const FlowChart &flo,bool,bool);
325 
326  FlowChart(int typ,const QCString &t,const QCString &ex,const QCString &label=QCString());
327  ~FlowChart();
328 
329 private:
330  int id = 0;
331  int stamp = 0;
332  int type = 0;
333 
334  int line = 0;
335 
339 };
340 
341 extern std::vector<FlowChart> flowList;
342 
343 #endif
VhdlDocGen::getFlowMember
static const MemberDef * getFlowMember()
Definition: vhdldocgen.cpp:92
VhdlDocGen::getProcessNumber
static QCString getProcessNumber()
Definition: vhdldocgen.cpp:1115
FlowChart::writeFlowChart
static void writeFlowChart()
Definition: vhdldocgen.cpp:3420
VhdlDocGen::writePlainVHDLDeclarations
static void writePlainVHDLDeclarations(const MemberList *ml, OutputList &ol, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, uint64_t specifier)
Definition: vhdldocgen.cpp:2045
VhdlDocGen::isPort
static bool isPort(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2791
VhdlDocGen::PROCEDURE
@ PROCEDURE
Definition: vhdldocgen.h:95
VhdlDocGen::correctMemberProperties
static void correctMemberProperties(MemberDefMutable *md)
Definition: vhdldocgen.cpp:1570
FlowChart::EXIT_NO
@ EXIT_NO
Definition: vhdldocgen.h:271
VhdlDocGen::~VhdlDocGen
virtual ~VhdlDocGen()
Definition: vhdldocgen.cpp:502
VhdlDocGen::isConfig
static bool isConfig(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2783
FlowChart::exp
QCString exp
Definition: vhdldocgen.h:338
FlowChart::getNodeType
static const char * getNodeType(int c)
Definition: vhdldocgen.cpp:3356
VhdlDocGen::TYPE
@ TYPE
Definition: vhdldocgen.h:91
FlowChart::getNextNode
static size_t getNextNode(size_t index, int stamp)
Definition: vhdldocgen.cpp:3714
FlowChart::convertNameToFileName
static QCString convertNameToFileName()
Definition: vhdldocgen.cpp:3351
VhdlConfNode::confVhdl
QCString confVhdl
Definition: vhdldocgen.h:54
VhdlDocGen::parseForConfig
static QCString parseForConfig(QCString &entity, QCString &arch)
Definition: vhdldocgen.cpp:2408
FlowChart::printNode
static void printNode(const FlowChart &n)
Definition: vhdldocgen.cpp:2928
VhdlDocGen::COMPONENT
@ COMPONENT
Definition: vhdldocgen.h:89
FlowChart::colTextNodes
static void colTextNodes()
Definition: vhdldocgen.cpp:2996
VhdlDocGen::SUBTYPE
@ SUBTYPE
Definition: vhdldocgen.h:92
MemberListType
MemberListType
Definition: types.h:100
VhdlDocGen::isLibrary
static bool isLibrary(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2787
Definition
The common base class of all entity definitions found in the sources.
Definition: definition.h:76
VhdlDocGen::isGeneric
static bool isGeneric(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2789
VhdlDocGen::createFlowChart
static void createFlowChart(const MemberDef *)
Definition: vhdldocgen.cpp:2742
FlowChart::endDot
static void endDot(TextStream &t)
Definition: vhdldocgen.cpp:3415
VhdlDocGen::writeFunctionProto
static void writeFunctionProto(OutputList &ol, const ArgumentList &al, const MemberDef *)
Definition: vhdldocgen.cpp:1324
FlowChart::nodeTypes
nodeTypes
Definition: vhdldocgen.h:265
VhdlDocGen::getProtectionName
static QCString getProtectionName(int prot)
Definition: vhdldocgen.cpp:1055
NamespaceDef
An abstract interface of a namespace symbol.
Definition: namespacedef.h:54
FlowChart::alignFuncProc
static void alignFuncProc(QCString &q, const ArgumentList &al, bool isFunc)
Definition: vhdldocgen.cpp:3614
VhdlDocGen::writeVHDLTypeDocumentation
static bool writeVHDLTypeDocumentation(const MemberDef *mdef, const Definition *d, OutputList &ol)
Definition: vhdldocgen.cpp:1618
FlowChart::text
QCString text
Definition: vhdldocgen.h:337
VhdlDocGen::parseForBinding
static QCString parseForBinding(QCString &entity, QCString &arch)
Definition: vhdldocgen.cpp:2441
FlowChart::type
int type
Definition: vhdldocgen.h:332
ArgumentList
This class represents an function or template argument list.
Definition: arguments.h:59
VhdlDocGen::ENTITY
@ ENTITY
Definition: vhdldocgen.h:83
VhdlConfNode::isLeaf
bool isLeaf
Definition: vhdldocgen.h:61
VhdlDocGen::writeSource
static void writeSource(const MemberDefMutable *mdef, OutputList &ol, const QCString &cname)
Definition: vhdldocgen.cpp:2191
VhdlDocGen::SIGNAL
@ SIGNAL
Definition: vhdldocgen.h:88
Entry::spec
uint64 spec
class/member specifiers
Definition: entry.h:248
VhdlDocGen::CONFIG
@ CONFIG
Definition: vhdldocgen.h:105
VhdlDocGen::GENERIC
@ GENERIC
Definition: vhdldocgen.h:100
VhdlDocGen::getClassTitle
static QCString getClassTitle(const ClassDef *)
Definition: vhdldocgen.cpp:797
FlowChart::TEXT_NO
@ TEXT_NO
Definition: vhdldocgen.h:273
FlowChart::WHEN_NO
@ WHEN_NO
Definition: vhdldocgen.h:270
VhdlDocGen::writeVhdlDeclarations
static void writeVhdlDeclarations(const MemberList *, OutputList &, const GroupDef *, const ClassDef *, const FileDef *, const NamespaceDef *)
Definition: vhdldocgen.cpp:1539
VhdlDocGen::PACKAGE
@ PACKAGE
Definition: vhdldocgen.h:86
VhdlDocGen::PACKAGECLASS
@ PACKAGECLASS
Definition: vhdldocgen.h:77
FlowChart::END_CASE
@ END_CASE
Definition: vhdldocgen.h:279
VhdlDocGen::addBaseClass
static void addBaseClass(ClassDef *cd, ClassDef *ent)
Definition: vhdldocgen.cpp:2696
VhdlDocGen::findAllArchitectures
static void findAllArchitectures(std::vector< QCString > &ql, const ClassDef *cd)
Definition: vhdldocgen.cpp:906
VhdlDocGen::compareArgList
static bool compareArgList(const ArgumentList &, const ArgumentList &)
FlowChart::getNodeName
static QCString getNodeName(int n)
Definition: vhdldocgen.cpp:3046
FlowChart::printPlantUmlNode
static QCString printPlantUmlNode(const FlowChart &flo, bool, bool)
Definition: vhdldocgen.cpp:3271
VhdlDocGen::getIndexWord
static QCString getIndexWord(const QCString &, int index)
Definition: vhdldocgen.cpp:1041
VhdlDocGen::isVariable
static bool isVariable(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2825
VhdlDocGen::isAlias
static bool isAlias(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2785
TextStream
Text streaming class that buffers data.
Definition: textstream.h:33
FlowChart::FlowChart
FlowChart(int typ, const QCString &t, const QCString &ex, const QCString &label=QCString())
Definition: vhdldocgen.cpp:3208
MemberDefMutable
Definition: memberdef.h:296
qcstring.h
VhdlDocGen::findFunction
static const MemberDef * findFunction(const QCString &name, const QCString &package)
Definition: vhdldocgen.cpp:770
VhdlDocGen::writeFormatString
static void writeFormatString(const QCString &, OutputList &ol, const MemberDef *)
Definition: vhdldocgen.cpp:1129
FlowChart::IF_NO
@ IF_NO
Definition: vhdldocgen.h:266
VhdlDocGen::VFILE
@ VFILE
Definition: vhdldocgen.h:103
VhdlDocGen::UNITS
@ UNITS
Definition: vhdldocgen.h:99
FlowChart::line
int line
Definition: vhdldocgen.h:334
VhdlDocGen::PORT
@ PORT
Definition: vhdldocgen.h:98
VhdlDocGen::init
static void init()
Definition: vhdldocgen.cpp:555
VhdlDocGen::isProcess
static bool isProcess(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2807
VhdlConfNode::level
int level
Definition: vhdldocgen.h:60
VhdlDocGen::isPackage
static bool isPackage(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2795
FlowChart::moveToPrevLevel
static void moveToPrevLevel()
Definition: vhdldocgen.cpp:3265
FlowChart::NEXT_NO
@ NEXT_NO
Definition: vhdldocgen.h:283
VhdlDocGen::isSubType
static bool isSubType(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2803
VhdlDocGen
Class for generating documentation specific for VHDL
Definition: vhdldocgen.h:68
GroupDef
A model of a group of symbols.
Definition: groupdef.h:49
FlowChart::findPrevLoop
static size_t findPrevLoop(size_t j, int stamp, bool endif=FALSE)
Definition: vhdldocgen.cpp:3664
VhdlDocGen::isProcedure
static bool isProcedure(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2815
VhdlDocGen::writeProcessProto
static void writeProcessProto(OutputList &ol, const ArgumentList &al, const MemberDef *)
Definition: vhdldocgen.cpp:1402
OutputList
Class representing a list of output generators that are written to in parallel.
Definition: outputlist.h:37
VhdlDocGen::getClassName
static QCString getClassName(const ClassDef *)
Definition: vhdldocgen.cpp:810
flowMember
static const MemberDef * flowMember
Definition: vhdldocgen.cpp:85
VhdlDocGen::VhdlDocGen
VhdlDocGen()
Definition: vhdldocgen.cpp:498
FlowChart::addFlowChart
static void addFlowChart(int type, const QCString &text, const QCString &exp, const QCString &label=QCString())
Definition: vhdldocgen.cpp:3235
FlowChart::codify
static void codify(TextStream &t, const QCString &str)
Definition: vhdldocgen.cpp:3181
entry.h
FlowChart::stamp
int stamp
Definition: vhdldocgen.h:331
MemberDef
A model of a class/file/namespace member symbol.
Definition: memberdef.h:45
VhdlDocGen::isConstraint
static bool isConstraint(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2781
VhdlDocGen::deleteCharRev
static bool deleteCharRev(QCString &s, char c)
Definition: vhdldocgen.cpp:1073
ClassDef
A abstract class representing of a compound symbol.
Definition: classdef.h:103
flowList
std::vector< FlowChart > flowList
Definition: vhdldocgen.cpp:2886
FlowChart::writeFlowLinks
static void writeFlowLinks(TextStream &t)
Definition: vhdldocgen.cpp:3777
VhdlDocGen::parseFuncProto
static void parseFuncProto(const QCString &text, QCString &name, QCString &ret, bool doc=false)
Definition: vhdldocgen.cpp:990
VhdlDocGen::writeVHDLDeclarations
static void writeVHDLDeclarations(const MemberList *ml, OutputList &ol, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, const QCString &title, const QCString &subtitle, bool showEnumValues, int type)
Definition: vhdldocgen.cpp:2098
VhdlDocGen::ALIAS
@ ALIAS
Definition: vhdldocgen.h:106
VhdlConfNode::binding
QCString binding
Definition: vhdldocgen.h:58
FlowChart::ENDIF_NO
@ ENDIF_NO
Definition: vhdldocgen.h:275
VhdlConfNode::VhdlConfNode
VhdlConfNode(const QCString &a, const QCString &b, const QCString &config, const QCString &cs, bool leaf)
Definition: vhdldocgen.h:44
VhdlDocGen::convertFileNameToClassName
static QCString convertFileNameToClassName(QCString name)
Definition: vhdldocgen.cpp:2245
VhdlDocGen::isVhdlFunction
static bool isVhdlFunction(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2805
VhdlDocGen::isFile
static bool isFile(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2827
VhdlDocGen::ARCHITECTURE
@ ARCHITECTURE
Definition: vhdldocgen.h:85
VhdlDocGen::isSignals
static bool isSignals(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2813
VhdlDocGen::parseUCF
static void parseUCF(const char *input, Entry *entity, const QCString &f, bool vendor)
Definition: vhdldocgen.cpp:2266
FlowChart::writeEdge
static void writeEdge(TextStream &t, int fl_from, int fl_to, int i, bool bFrom=FALSE, bool bTo=FALSE)
Definition: vhdldocgen.cpp:3585
VhdlDocGen::isSignal
static bool isSignal(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2809
VhdlDocGen::ENTITYCLASS
@ ENTITYCLASS
Definition: vhdldocgen.h:74
arguments.h
VhdlDocGen::findArchitecture
static const ClassDef * findArchitecture(const ClassDef *cd)
Definition: vhdldocgen.cpp:923
VhdlDocGen::ATTRIBUTE
@ ATTRIBUTE
Definition: vhdldocgen.h:87
VhdlDocGen::writeVHDLDeclaration
static void writeVHDLDeclaration(const MemberDefMutable *mdef, OutputList &ol, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, bool inGroup)
Definition: vhdldocgen.cpp:1746
VhdlDocGen::isCompInst
static bool isCompInst(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2831
VhdlDocGen::writeTagFile
static void writeTagFile(MemberDefMutable *mdef, TextStream &tagFile)
Definition: vhdldocgen.cpp:1702
FlowChart::CASE_NO
@ CASE_NO
Definition: vhdldocgen.h:269
VhdlDocGen::writeFuncProcDocu
static bool writeFuncProcDocu(const MemberDef *mdef, OutputList &ol, const ArgumentList &al, bool type=false)
Definition: vhdldocgen.cpp:1428
VhdlDocGen::formatString
static void formatString(const QCString &, OutputList &ol, const MemberDef *)
Definition: vhdldocgen.cpp:1210
FlowChart::LOOP_NO
@ LOOP_NO
Definition: vhdldocgen.h:282
VhdlDocGen::writeProcedureProto
static void writeProcedureProto(OutputList &ol, const ArgumentList &al, const MemberDef *)
Definition: vhdldocgen.cpp:1269
Argument
This class contains the information about the argument of a function or template
Definition: arguments.h:26
VhdlDocGen::CONSTANT
@ CONSTANT
Definition: vhdldocgen.h:90
VhdlDocGen::isComponent
static bool isComponent(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2793
VhdlConfNode::compSpec
QCString compSpec
Definition: vhdldocgen.h:59
QCString::lower
QCString lower() const
Definition: qcstring.h:232
FlowChart::FOR_NO
@ FOR_NO
Definition: vhdldocgen.h:276
FlowChart::findNextLoop
static size_t findNextLoop(size_t j, int stamp)
Definition: vhdldocgen.cpp:3647
VhdlDocGen::VhdlClasses
VhdlClasses
Definition: vhdldocgen.h:72
VhdlDocGen::PACKAGE_BODY
@ PACKAGE_BODY
Definition: vhdldocgen.h:84
FlowChart::END_LOOP
@ END_LOOP
Definition: vhdldocgen.h:278
VhdlDocGen::isSubClass
static bool isSubClass(ClassDef *cd, ClassDef *scd, bool followInstances, int level)
Definition: vhdldocgen.cpp:2665
VhdlDocGen::isNumber
static bool isNumber(const std::string &s)
Definition: vhdldocgen.cpp:1198
VhdlDocGen::LIBRARY
@ LIBRARY
Definition: vhdldocgen.h:82
VhdlDocGen::getRecordNumber
static QCString getRecordNumber()
Definition: vhdldocgen.cpp:1103
VhdlDocGen::writeRecordProto
static void writeRecordProto(const MemberDef *mdef, OutputList &ol, const ArgumentList &al)
VhdlDocGen::isVhdlClass
static bool isVhdlClass(const Entry *cu)
Definition: vhdldocgen.h:236
VhdlDocGen::VhdlKeyWords
VhdlKeyWords
Definition: vhdldocgen.h:80
VhdlDocGen::findMemberDef
static const MemberDef * findMemberDef(ClassDef *cd, const QCString &key, MemberListType type)
This function returns the entity|package in which the key (type) is found
Definition: vhdldocgen.cpp:698
FlowChart::alignCommentNode
static void alignCommentNode(TextStream &t, QCString com)
Definition: vhdldocgen.cpp:3060
VhdlDocGen::writeOverview
static void writeOverview()
Definition: vhdldocgen.cpp:176
VhdlDocGen::writeStringLink
static void writeStringLink(const MemberDef *mdef, QCString mem, OutputList &ol)
Definition: vhdldocgen.cpp:2167
FlowChart
Definition: vhdldocgen.h:262
VhdlDocGen::UCF_CONST
@ UCF_CONST
Definition: vhdldocgen.h:108
VhdlConfNode
Definition: vhdldocgen.h:42
FlowChart::WHILE_NO
@ WHILE_NO
Definition: vhdldocgen.h:277
VhdlConfNode::arch
QCString arch
Definition: vhdldocgen.h:57
VhdlDocGen::writeRecordUnit
static void writeRecordUnit(QCString &largs, QCString &ltype, OutputList &ol, const MemberDefMutable *mdef)
Definition: vhdldocgen.cpp:2612
VhdlDocGen::isGroup
static bool isGroup(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2829
VhdlDocGen::writeInlineClassLink
static void writeInlineClassLink(const ClassDef *, OutputList &ol)
Definition: vhdldocgen.cpp:829
VhdlDocGen::deleteAllChars
static void deleteAllChars(QCString &s, char c)
Definition: vhdldocgen.cpp:1085
VhdlDocGen::writeClassType
static bool writeClassType(const ClassDef *, OutputList &ol, QCString &cname)
Definition: vhdldocgen.cpp:2150
VhdlDocGen::isUnit
static bool isUnit(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2821
FlowChart::END_NO
@ END_NO
Definition: vhdldocgen.h:272
VhdlDocGen::writeVhdlLink
static void writeVhdlLink(const ClassDef *cdd, OutputList &ol, QCString &type, QCString &name, QCString &beh)
Definition: vhdldocgen.cpp:944
FlowChart::~FlowChart
~FlowChart()
Definition: vhdldocgen.cpp:3204
FlowChart::buildCommentNodes
static void buildCommentNodes(TextStream &t)
Definition: vhdldocgen.cpp:3096
VhdlDocGen::INSTANTIATION
@ INSTANTIATION
Definition: vhdldocgen.h:101
VhdlDocGen::findKeyWord
static const char * findKeyWord(const QCString &word)
Definition: vhdldocgen.cpp:562
Entry
Represents an unstructured piece of information, about an entity found in the sources.
Definition: entry.h:61
VhdlDocGen::isVType
static bool isVType(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2801
layout.h
FlowChart::label
QCString label
Definition: vhdldocgen.h:336
FlowChart::getNextIfLink
static size_t getNextIfLink(const FlowChart &, size_t)
Definition: vhdldocgen.cpp:3755
FlowChart::getTimeStamp
static int getTimeStamp()
FlowChart::ELSE_NO
@ ELSE_NO
Definition: vhdldocgen.h:268
FlowChart::writeShape
static void writeShape(TextStream &t, const FlowChart &fl)
Definition: vhdldocgen.cpp:3465
VhdlDocGen::isAttribute
static bool isAttribute(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2811
VhdlDocGen::findAllPackages
static void findAllPackages(ClassDef *)
Definition: vhdldocgen.cpp:741
FlowChart::ELSIF_NO
@ ELSIF_NO
Definition: vhdldocgen.h:267
VhdlDocGen::PROCESS
@ PROCESS
Definition: vhdldocgen.h:97
VhdlDocGen::computeVhdlComponentRelations
static void computeVhdlComponentRelations()
Definition: vhdldocgen.cpp:2501
VhdlDocGen::convertArgumentListToString
static QCString convertArgumentListToString(const ArgumentList &al, bool f)
Definition: vhdldocgen.cpp:1512
VhdlDocGen::SHAREDVARIABLE
@ SHAREDVARIABLE
Definition: vhdldocgen.h:104
FlowChart::delFlowList
static void delFlowList()
Definition: vhdldocgen.cpp:3053
VhdlDocGen::writeRecUnitDocu
static void writeRecUnitDocu(const MemberDef *md, OutputList &ol, QCString largs)
Definition: vhdldocgen.cpp:2631
VhdlDocGen::findVhdlClass
static ClassDef * findVhdlClass(const QCString &className)
Definition: vhdldocgen.cpp:2475
FlowChart::VARIABLE_NO
@ VARIABLE_NO
Definition: vhdldocgen.h:280
VhdlDocGen::isRecord
static bool isRecord(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2817
FlowChart::createSVG
static void createSVG()
Definition: vhdldocgen.cpp:3385
VhdlDocGen::findMember
static const MemberDef * findMember(const QCString &className, const QCString &memName)
Definition: vhdldocgen.cpp:598
VhdlDocGen::resetCodeVhdlParserState
static void resetCodeVhdlParserState()
Definition: vhdldocgen.cpp:2774
VhdlDocGen::GROUP
@ GROUP
Definition: vhdldocgen.h:102
FileDef
A model of a file symbol.
Definition: filedef.h:73
FlowChart::START_NO
@ START_NO
Definition: vhdldocgen.h:274
VhdlDocGen::PACKBODYCLASS
@ PACKBODYCLASS
Definition: vhdldocgen.h:75
VhdlDocGen::isPackageBody
static bool isPackageBody(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2823
FlowChart::printUmlTree
static void printUmlTree()
Definition: vhdldocgen.cpp:3310
VhdlDocGen::getPackageName
static ClassDef * getPackageName(const QCString &name)
Definition: vhdldocgen.cpp:589
VhdlDocGen::isMisc
static bool isMisc(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2833
VhdlDocGen::USE
@ USE
Definition: vhdldocgen.h:96
FlowChart::findLabel
static size_t findLabel(size_t j, const QCString &)
Definition: vhdldocgen.cpp:3687
VhdlConfNode::isInlineConf
bool isInlineConf
Definition: vhdldocgen.h:62
FlowChart::startDot
static void startDot(TextStream &t)
Definition: vhdldocgen.cpp:3407
VhdlDocGen::setFlowMember
static void setFlowMember(const MemberDef *flowMember)
Definition: vhdldocgen.cpp:87
FlowChart::EMPTY_NO
@ EMPTY_NO
Definition: vhdldocgen.h:284
VhdlDocGen::prepareComment
static void prepareComment(QCString &)
Definition: vhdldocgen.cpp:968
VhdlDocGen::FUNCTION
@ FUNCTION
Definition: vhdldocgen.h:93
MemberList
A list of MemberDef objects as shown in documentation sections.
Definition: memberlist.h:81
FlowChart::printFlowTree
static void printFlowTree()
Definition: vhdldocgen.cpp:2988
VhdlDocGen::isConstant
static bool isConstant(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2799
VhdlDocGen::RECORD
@ RECORD
Definition: vhdldocgen.h:94
VhdlDocGen::isArchitecture
static bool isArchitecture(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2819
VhdlDocGen::isEntity
static bool isEntity(const MemberDef *mdef)
Definition: vhdldocgen.cpp:2797
FlowChart::BEGIN_NO
@ BEGIN_NO
Definition: vhdldocgen.h:286
FlowChart::findNode
static size_t findNode(size_t index, int stamp, int type)
Definition: vhdldocgen.cpp:3701
VhdlDocGen::ARCHITECTURECLASS
@ ARCHITECTURECLASS
Definition: vhdldocgen.h:76
VhdlDocGen::getClass
static ClassDef * getClass(const QCString &name)
Definition: vhdldocgen.cpp:583
FlowChart::RETURN_NO
@ RETURN_NO
Definition: vhdldocgen.h:281
FlowChart::COMMENT_NO
@ COMMENT_NO
Definition: vhdldocgen.h:285
VhdlDocGen::MISCELLANEOUS
@ MISCELLANEOUS
Definition: vhdldocgen.h:107
FALSE
#define FALSE
Definition: qcstring.h:33
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108