Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
doxverilog
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
doxverilog
Commits
3e9b5fe7
Commit
3e9b5fe7
authored
Aug 20, 2009
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.6.0
parent
9e6be9a8
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
230 additions
and
126 deletions
+230
-126
INSTALL
INSTALL
+2
-2
README
README
+2
-2
configure
configure
+3
-3
example.tag
examples/example.tag
+1
-1
classdef.cpp
src/classdef.cpp
+4
-2
doxygen.cpp
src/doxygen.cpp
+66
-71
reflist.cpp
src/reflist.cpp
+63
-7
reflist.h
src/reflist.h
+27
-3
search.css
src/search.css
+2
-12
search_css.h
src/search_css.h
+2
-12
translator_kr.h
src/translator_kr.h
+35
-1
util.cpp
src/util.cpp
+22
-9
vhdlcode.l
src/vhdlcode.l
+1
-1
No files found.
INSTALL
View file @
3e9b5fe7
DOXYGEN Version 1.
5.9-20090814
DOXYGEN Version 1.
6.0
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
14
August 2009)
Dimitri van Heesch (
20
August 2009)
README
View file @
3e9b5fe7
DOXYGEN Version 1.
5.9_20090814
DOXYGEN Version 1.
6.0
Please read INSTALL for compilation instructions.
...
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
14
August 2009)
Dimitri van Heesch (dimitri@stack.nl) (
20
August 2009)
configure
View file @
3e9b5fe7
...
...
@@ -16,11 +16,11 @@
# shell script to configure doxygen
doxygen_version_major
=
1
doxygen_version_minor
=
5
doxygen_version_revision
=
9
doxygen_version_minor
=
6
doxygen_version_revision
=
0
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn
=
20090814
doxygen_version_mmn
=
NO
bin_dirs
=
`
echo
$PATH
|
sed
-e
"s/:/ /g"
`
...
...
examples/example.tag
View file @
3e9b5fe7
...
...
@@ -7,7 +7,7 @@
<type>
void
</type>
<name>
example
</name>
<anchorfile>
class_test.html
</anchorfile>
<anchor>
47b775f65718978f1ffcd96376f8ecfa
</anchor>
<anchor>
a
47b775f65718978f1ffcd96376f8ecfa
</anchor>
<arglist>
()
</arglist>
</member>
</compound>
...
...
src/classdef.cpp
View file @
3e9b5fe7
...
...
@@ -3089,8 +3089,10 @@ void ClassDef::addListReferences()
{
LockingPtr
<
QList
<
ListItemInfo
>
>
xrefItems
=
xrefListItems
();
addRefItem
(
xrefItems
.
pointer
(),
fortranOpt
?
theTranslator
->
trType
(
TRUE
,
TRUE
)
:
theTranslator
->
trClass
(
TRUE
,
TRUE
),
getOutputFileBase
(),
displayName
()
fortranOpt
?
theTranslator
->
trType
(
TRUE
,
TRUE
)
:
theTranslator
->
trClass
(
TRUE
,
TRUE
),
getOutputFileBase
(),
displayName
()
);
}
if
(
m_impl
->
memberGroupSDict
)
...
...
src/doxygen.cpp
View file @
3e9b5fe7
...
...
@@ -2791,7 +2791,6 @@ static void buildFunctionList(EntryNav *rootNav)
QCString
scope
=
rootNav
->
parent
()
->
name
();
//stripAnonymousNamespaceScope(root->parent->name);
if
(
!
rname
.
isEmpty
()
&&
scope
.
find
(
'@'
)
==-
1
)
{
ClassDef
*
cd
=
0
;
// check if this function's parent is a class
scope
=
stripTemplateSpecifiersFromScope
(
scope
,
FALSE
);
...
...
@@ -2832,7 +2831,6 @@ static void buildFunctionList(EntryNav *rootNav)
{
isMember
=
memIndex
<
ts
||
memIndex
>
te
;
}
}
static
QRegExp
re
(
"([a-z_A-Z0-9: ]*[ &*]+[ ]*"
);
...
...
@@ -2956,6 +2954,8 @@ static void buildFunctionList(EntryNav *rootNav)
md
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
md
->
setInbodyDocumentation
(
root
->
inbodyDocs
,
root
->
inbodyFile
,
root
->
inbodyLine
);
md
->
setDocsForDefinition
(
!
root
->
proto
);
md
->
setBodySegment
(
root
->
bodyLine
,
root
->
endBodyLine
);
md
->
setBodyDef
(
rfd
);
if
(
md
->
briefDescription
().
isEmpty
()
&&
!
root
->
brief
.
isEmpty
())
{
...
...
@@ -2982,6 +2982,13 @@ static void buildFunctionList(EntryNav *rootNav)
{
//printf("both members are grouped\n");
}
// if md is a declaration and root is the corresponding
// definition, then turn md into a definition.
if
(
md
->
isPrototype
()
&&
!
root
->
proto
)
{
md
->
setPrototype
(
FALSE
);
}
}
}
}
...
...
@@ -3270,7 +3277,7 @@ static void transferArgumentDocumentation(ArgumentList *decAl,ArgumentList *defA
static
void
transferFunctionDocumentation
()
{
//printf("transferFunctionDocumentation()\n");
//printf("
----
transferFunctionDocumentation()\n");
// find matching function declaration and definitions.
MemberNameSDict
::
Iterator
mnli
(
*
Doxygen
::
functionNameSDict
);
...
...
@@ -3283,6 +3290,7 @@ static void transferFunctionDocumentation()
/* find a matching function declaration and definition for this function */
for
(;(
mdec
=
mni1
.
current
());
++
mni1
)
{
//printf("mdec=%s isPrototype()=%d\n",mdec->name().data(),mdec->isPrototype());
if
(
mdec
->
isPrototype
()
||
(
mdec
->
isVariable
()
&&
mdec
->
isExternal
())
)
...
...
@@ -4660,6 +4668,18 @@ static void addListReferences()
}
}
//----------------------------------------------------------------------
static
void
generateXRefPages
()
{
QDictIterator
<
RefList
>
di
(
*
Doxygen
::
xrefLists
);
RefList
*
rl
;
for
(
di
.
toFirst
();(
rl
=
di
.
current
());
++
di
)
{
rl
->
generatePage
();
}
}
//----------------------------------------------------------------------
// Copy the documentation in entry `root' to member definition `md' and
// set the function declaration of the member to `funcDecl'. If the boolean
...
...
@@ -4728,43 +4748,13 @@ static void addMemberDocs(EntryNav *rootNav,
md
->
setDocsForDefinition
(
!
root
->
proto
);
}
else
{
//printf("Adding docs md->docs=`%s' root->docs=`%s'!\n",
// md->documentation().data(),root->doc.data());
// documentation outside a compound overrides the documentation inside it
#if 0
if ( /* !md->isStatic() && !root->stat && do not replace doc of a static */
(
md->documentation().isEmpty() || /* no docs yet */
(rootNav->parent()->name().isEmpty() && /* or overwrite prototype docs */
!root->proto && md->isPrototype() /* with member definition docs */
)
) && !root->doc.isEmpty()
)
#endif
{
//printf("overwrite!\n");
md
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
md
->
setDocsForDefinition
(
!
root
->
proto
);
}
//printf("Adding brief md->brief=`%s' root->brief=`%s'!\n",
// md->briefDescription().data(),root->brief.data());
// brief descriptions inside a compound override the documentation
// outside it
#if 0
if ( /* !md->isStatic() && !root->stat && do not replace doc of static */
(
md->briefDescription().isEmpty() || /* no docs yet */
!rootNav->parent()->name().isEmpty() /* member of a class */
) && !root->brief.isEmpty()
)
#endif
{
//printf("overwrite!\n");
md
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
}
if
(
(
md
->
inbodyDocumentation
().
isEmpty
()
||
...
...
@@ -4790,9 +4780,7 @@ static void addMemberDocs(EntryNav *rootNav,
if
(
rfd
)
{
if
((
md
->
getStartBodyLine
()
==-
1
&&
root
->
bodyLine
!=-
1
)
// || (md->isVariable() && !root->explicitExternal)
)
{
//printf("Setting new body segment [%d,%d]\n",root->bodyLine,root->endBodyLine);
...
...
@@ -4972,7 +4960,10 @@ static bool findGlobalMember(EntryNav *rootNav,
{
if
(
root
->
type
!=
"friend class"
&&
root
->
type
!=
"friend struct"
&&
root
->
type
!=
"friend union"
)
root
->
type
!=
"friend union"
&&
(
!
Config_getBool
(
"TYPEDEF_HIDES_STRUCT"
)
||
root
->
type
.
find
(
"typedef "
)
==-
1
)
)
{
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning: documented function `%s' was not declared or defined."
,
decl
...
...
@@ -6582,6 +6573,8 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
// enum
e
->
loadEntry
(
g_storage
);
Entry
*
root
=
e
->
entry
();
if
(
md
->
qualifiedName
()
==
rootNav
->
name
())
// enum value scope matches that of the enum
{
MemberDef
*
fmd
=
new
MemberDef
(
root
->
fileName
,
root
->
startLine
,
root
->
type
,
root
->
name
,
root
->
args
,
0
,
...
...
@@ -6604,6 +6597,7 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
md
->
insertEnumField
(
fmd
);
fmd
->
setEnumScope
(
md
);
}
}
e
->
releaseEntry
();
}
else
...
...
@@ -10190,8 +10184,9 @@ void parseInput()
msg
(
"Adding source references...
\n
"
);
addSourceReferences
();
msg
(
"Adding
todo/test/bug list
items...
\n
"
);
msg
(
"Adding
xref
items...
\n
"
);
addListReferences
();
generateXRefPages
();
if
(
Config_getBool
(
"SHOW_DIRECTORIES"
)
&&
Config_getBool
(
"DIRECTORY_GRAPH"
))
{
...
...
src/reflist.cpp
View file @
3e9b5fe7
...
...
@@ -16,7 +16,9 @@
*
*/
#include <stdio.h>
#include "reflist.h"
#include "util.h"
/*! Create a list of items that are cross referenced with documentation blocks
* @param listName String representing the name of the list.
...
...
@@ -28,6 +30,7 @@ RefList::RefList(const char *listName,
const
char
*
secTitle
)
{
m_itemList
=
0
;
m_dict
=
0
;
m_dictIterator
=
0
;
m_id
=
0
;
...
...
@@ -103,3 +106,56 @@ QCString RefList::sectionTitle() const
return
m_secTitle
;
}
void
RefList
::
insertIntoList
(
const
char
*
key
,
RefItem
*
item
)
{
if
(
m_itemList
==
0
)
{
m_itemList
=
new
SortedRefItems
(
1009
);
}
RefItem
*
ri
=
m_itemList
->
find
(
key
);
if
(
ri
==
0
)
{
m_itemList
->
append
(
key
,
item
);
}
else
// item already added to the list (i.e. multiple item for the same
// entity)
{
if
(
ri
!=
item
)
{
ri
->
extraItems
.
append
(
item
);
}
}
}
void
RefList
::
generatePage
()
{
if
(
m_itemList
==
0
)
return
;
m_itemList
->
sort
();
SDict
<
RefItem
>::
Iterator
it
(
*
m_itemList
);
RefItem
*
item
;
for
(
it
.
toFirst
();(
item
=
it
.
current
());
++
it
)
{
QCString
doc
;
doc
=
"
\\
anchor "
;
doc
+=
item
->
listAnchor
;
doc
+=
" <dl><dt>"
;
doc
+=
item
->
prefix
;
doc
+=
"
\\
_internalref "
;
doc
+=
item
->
name
;
doc
+=
"
\"
"
;
doc
+=
item
->
title
;
doc
+=
"
\"
"
;
if
(
!
item
->
args
.
isEmpty
())
doc
+=
item
->
args
;
doc
+=
"</dt>
\n
<dd>"
;
doc
+=
item
->
text
;
QListIterator
<
RefItem
>
li
(
item
->
extraItems
);
RefItem
*
extraItem
;
for
(
li
.
toFirst
();(
extraItem
=
li
.
current
());
++
li
)
{
doc
+=
"<p>"
+
extraItem
->
text
;
}
doc
+=
"</dd></dl>
\n
"
;
addRelatedPage
(
m_listName
,
m_pageTitle
,
doc
,
0
,
m_listName
,
1
,
0
,
0
,
0
);
}
}
src/reflist.h
View file @
3e9b5fe7
...
...
@@ -21,15 +21,36 @@
#include "qtbc.h"
#include <qintdict.h>
//#include "outputgen.h"
#include <qlist.h>
#include "sortdict.h"
/*! This struct represents an item in the list of references. */
struct
RefItem
{
RefItem
()
:
written
(
FALSE
)
{}
RefItem
()
/*: written(FALSE)*/
{}
QCString
text
;
//!< text of the item.
QCString
listAnchor
;
//!< anchor in the list
bool
written
;
QCString
prefix
;
//!< type prefix for the name
QCString
name
;
//!< name of the entity containing the reference
QCString
title
;
//!< display name of the entity
QCString
args
;
//!< optional arguments for the entity (if function)
//bool written;
QList
<
RefItem
>
extraItems
;
//!< more items belonging to the same entity
};
/*! List of items sorted by title */
class
SortedRefItems
:
public
SDict
<
RefItem
>
{
public
:
SortedRefItems
(
int
size
=
17
)
:
SDict
<
RefItem
>
(
size
)
{}
virtual
~
SortedRefItems
()
{}
int
compareItems
(
GCI
item1
,
GCI
item2
)
{
RefItem
*
r1
=
(
RefItem
*
)
item1
;
RefItem
*
r2
=
(
RefItem
*
)
item2
;
return
stricmp
(
r1
->
title
,
r2
->
title
);
}
};
/*! @brief List of cross-referenced items
...
...
@@ -57,12 +78,15 @@ class RefList
const
char
*
pageTitle
,
const
char
*
secTitle
);
~
RefList
();
void
insertIntoList
(
const
char
*
key
,
RefItem
*
item
);
void
generatePage
();
private
:
int
m_id
;
QCString
m_listName
;
QCString
m_pageTitle
;
QCString
m_secTitle
;
SortedRefItems
*
m_itemList
;
QIntDict
<
RefItem
>
*
m_dict
;
QIntDictIterator
<
RefItem
>
*
m_dictIterator
;
};
...
...
src/search.css
View file @
3e9b5fe7
...
...
@@ -18,24 +18,14 @@
background-color
:
#FFFFFF
;
font-style
:
normal
;
cursor
:
text
;
padding
:
0
px
1px
;
padding
:
1
px
1px
;
margin
:
0px
6px
0px
0px
;
border
:
none
;
outline
:
none
;
vertical-align
:
middle
;
}
#MSearchBox
.MSearchBoxInactive
:hover
#MSearchField
{
background-color
:
#FFFFFF
;
padding
:
0px
1px
;
margin
:
0px
6px
0px
0px
;
border
:
none
;
}
.MSearchBoxActive
#MSearchField
{
background-color
:
#FFFFFF
;
color
:
#000000
;
padding
:
0px
1px
;
margin
:
0px
6px
0px
0px
;
border
:
none
;
}
#MSearchSelect
{
float
:
none
;
...
...
src/search_css.h
View file @
3e9b5fe7
"/*---------------- Search Box */
\n
"
"
\n
"
"#MSearchBox {
\n
"
"#MSearchBox {
\n
"
" padding: 0px;
\n
"
" margin: 0px;
\n
"
" border: none;
\n
"
...
...
@@ -18,24 +18,14 @@
" background-color: #FFFFFF;
\n
"
" font-style: normal;
\n
"
" cursor: text;
\n
"
" padding:
0
px 1px;
\n
"
" padding:
1
px 1px;
\n
"
" margin: 0px 6px 0px 0px;
\n
"
" border: none;
\n
"
" outline: none;
\n
"
" vertical-align: middle;
\n
"
"}
\n
"
"#MSearchBox.MSearchBoxInactive:hover #MSearchField {
\n
"
" background-color: #FFFFFF;
\n
"
" padding: 0px 1px;
\n
"
" margin: 0px 6px 0px 0px;
\n
"
" border: none;
\n
"
"}
\n
"
".MSearchBoxActive #MSearchField {
\n
"
" background-color: #FFFFFF;
\n
"
" color: #000000;
\n
"
" padding: 0px 1px;
\n
"
" margin: 0px 6px 0px 0px;
\n
"
" border: none;
\n
"
"}
\n
"
"#MSearchSelect {
\n
"
" float : none;
\n
"
...
...
src/translator_kr.h
View file @
3e9b5fe7
...
...
@@ -50,7 +50,7 @@
Translator class (by the local maintainer) when the localized
translator is made up-to-date again.
*/
class
TranslatorKorean
:
public
Translator
Adapter_1_6_0
class
TranslatorKorean
:
public
Translator
{
protected
:
friend
class
TranslatorAdapterBase
;
...
...
@@ -1794,6 +1794,40 @@ class TranslatorKorean : public TranslatorAdapter_1_6_0
return
"타입 한정자들"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.6.0 (mainly for the new search engine)
//////////////////////////////////////////////////////////////////////////
/*! directory relation for \a name */
virtual
QCString
trDirRelation
(
const
char
*
name
)
{
return
QCString
(
name
)
+
" 관계"
;
}
/*! Loading message shown when loading search results */
virtual
QCString
trLoading
()
{
return
"로딩중..."
;
}
/*! Label used for search results in the global namespace */
virtual
QCString
trGlobalNamespace
()
{
return
"전역 이름공간"
;
}
/*! Message shown while searching */
virtual
QCString
trSearching
()
{
return
"검색중..."
;
}
/*! Text shown when no search results are found */
virtual
QCString
trNoMatches
()
{
return
"일치하는것 없음"
;
}
};
#endif
src/util.cpp
View file @
3e9b5fe7
...
...
@@ -5822,8 +5822,7 @@ PageDef *addRelatedPage(const char *name,const QCString &ptitle,
//----------------------------------------------------------------------------
void
addRefItem
(
const
QList
<
ListItemInfo
>
*
sli
,
const
char
*
prefix
,
const
char
*
name
,
const
char
*
title
,
const
char
*
args
)
const
char
*
prefix
,
const
char
*
name
,
const
char
*
title
,
const
char
*
args
)
{
//printf("addRefItem(sli=%p,prefix=%s,name=%s,title=%s,args=%s)\n",sli,prefix,name,title,args);
if
(
sli
)
...
...
@@ -5833,7 +5832,9 @@ void addRefItem(const QList<ListItemInfo> *sli,
for
(
slii
.
toFirst
();(
lii
=
slii
.
current
());
++
slii
)
{
RefList
*
refList
=
Doxygen
::
xrefLists
->
find
(
lii
->
type
);
if
(
refList
&&
if
(
refList
#if 0
&&
(
// either not a built-in list or the list is enabled
(lii->type!="todo" || Config_getBool("GENERATE_TODOLIST")) &&
...
...
@@ -5841,14 +5842,25 @@ void addRefItem(const QList<ListItemInfo> *sli,
(lii->type!="bug" || Config_getBool("GENERATE_BUGLIST")) &&
(lii->type!="deprecated" || Config_getBool("GENERATE_DEPRECATEDLIST"))
)
#endif
)
{
RefItem
*
item
=
refList
->
getRefItem
(
lii
->
itemId
);
ASSERT
(
item
!=
0
);
printf
(
"anchor=%s written=%d
\n
"
,
item
->
listAnchor
.
data
(),
item
->
written
);
item
->
prefix
=
prefix
;
item
->
name
=
name
;
item
->
title
=
title
;
item
->
args
=
args
;
refList
->
insertIntoList
(
title
,
item
);
#if 0
//printf("anchor=%s written=%d\n",item->listAnchor.data(),item->written);
//if (item->written) return;
QCString
doc
(
1000
)
;
QCString doc;
doc = "\\anchor ";
doc += item->listAnchor;
doc += " <dl><dt>";
...
...
@@ -5864,6 +5876,7 @@ void addRefItem(const QList<ListItemInfo> *sli,
doc += "</dd></dl>\n";
addRelatedPage(refList->listName(),refList->pageTitle(),doc,0,refList->listName(),1,0,0,0);
//item->written=TRUE;
#endif
}
}
}
...
...
src/vhdlcode.l
View file @
3e9b5fe7
...
...
@@ -337,7 +337,7 @@ static void writeWord(const char *word,const char* curr_class=0,bool classLink=F
static void codifyLines(const char *text,const char *cl=0,bool classlink=FALSE)
{
if (text==0) return;
printf("codifyLines(%d,\"%s\")\n",g_yyLineNr,text);
//
printf("codifyLines(%d,\"%s\")\n",g_yyLineNr,text);
const char *p=text,*sp=p;
char c;
bool done=FALSE;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment