osdir.com
mailing list archive

Subject: using grep with INCLUDE_FILTER - msg#00080

List: text.doxygen.general

Date: Prev Next Index Thread: Prev Next Index
I just read the trouble shooting page, so I try to follow that format:
I am running Doxygen 1.2.17 on a Windows 2000 machine with cygwin installed.
I am using the windows binaries. I apologize in advance for not trimming
down the code as much as I could.

I emailed a previous report about /// comments, and I attempted to use grep
to get rid of all lines that start with comments. In doing this, I found
two problems. I do not know if either is a bug.
This is the input filter string I entered into doxywizard:

grep "^[^/]"

with the understanding that the file name would be appended to the line. I
ran this command on a few of the files to make sure I'd constructed the
regex right. It produced the results I expected and output them to the
monitor. I noticed that when I ran grep in windows it put the file and
pathname out on the first line, but it did not when I ran it in a bash
shell.

1) grep did not like filenames with spaces in it. Big deal; I just changed
all paths in the doxygen template to be relative. However, it still fed
absolute paths to grep. As a workaround, I copied the directories to a
different location (out of the accursed Program Files), but this cannot be a
permanent solution.

2) After I did this, grep stopped whining, but the output going to doxygen
seemed to be almost all the lines I did not want going to doxygen. It was
as though my regex had been mutilated to include only lines that had
comments in them, e.g. this source file:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
#ifndef EDITMODE_H
#define EDITMODE_H
////////////////////////////////////////////////////////////////////////////
//
//
// Edit Modes
//
// The edit modes control which changes the user is allowed to make,
// including which values fields with symbol tables may be set to.
//
//
//
// -------------+--------------+-----------+
// viewOnly
//
// -------------+--------------+-----------+
// editLegally
//
// -------------+--------------+-----------+
// allowIllegal
//
// -------------+--------------+-----------+
// freeForm
//
// -------------+--------------+-----------+
//
////////////////////////////////////////////////////////////////////////////
//
class EditMode
{
public:
enum EditModes {
viewOnly, // a comment
editLegally, // another comment
allowIllegal, // commenting yet again
freeForm // commented
};
EditMode(const EditMode&);
EditMode(const unsigned);
operator unsigned() const;
private:
EditModes editMode;
};
inline EditMode::EditMode(const EditMode& em) : editMode(em.editMode) {}
inline EditMode::EditMode(const unsigned em) :
editMode(static_cast<EditModes>(em)) {}
inline EditMode::operator unsigned() const { return editMode; }
#endif // EDITMODE_H
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
returned:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
00003 //
00004 // Edit Modes
00005 //
00006 // The edit modes control which changes the user is allowed to make,
00007 // including which values fields with symbol tables may be set to.
00008 //
00009 //
00010 //
00011 // -------------+--------------+-----------+
00012 // viewOnly
00013 //
00014 // -------------+--------------+-----------+
00015 // editLegally
00016 //
00017 // -------------+--------------+-----------+
00018 // allowIllegal
00019 //
00020 // -------------+--------------+-----------+
00021 // freeForm
00022 //
00023 // -------------+--------------+-----------+
00024 //
00026 viewOnly, // read-only
00027 editLegally, // sequence relations + valid
fields only
00028 allowIllegal, // sequence relations + invalid
fields
00029 freeForm // no sequence relations + invalid
fields
00030 #endif // EDITMODE_H
00031
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Something seems to have happened to the regular expression... Or does the
problem rest between the keyboard and the chair.

Sincerely,
Randy Jennings

Data Transit



-------------------------------------------------------
This sf.net email is sponsored by: Dice - The leading online job board
for high-tech professionals. Search and apply for tech jobs today!
http://seeker.dice.com/seeker.epl?rel_code=31


Was this page helpful?
Yes No
Thread at a glance:

Previous Message by Date: click to view message preview

Re: Link to overloaded function incorrect when function signature occurs on multiple lines

On Mon, Jul 29, 2002 at 03:43:10PM -0400, Geoff Alexander wrote: > > Dimitri, > > I've encountered a problem where links to overloaded functions sometimes > point to the wrong version of the function. This is illustrated in the > following small example: > > /** > * This is a test class. > */ > class C > { > public: > /** > * This is a test function. > */ > int f1(bool n, int b); > > /** > * This is a test function. > */ > int f1(int n, int b); > > /** > * This a test function. > * > * The reference #f1(int n, int b) works, while the reference #f1(int > n, > * int b) does not. > */ > void f2(); > }; > > Note that in the HTML output the second link to f1(int n, int b) > incorrectly points the detailed description of f1(bool n, int b) rather > than to the detailed description of f1(int n, int b). I'm running Doxygen > 1.2.17 using a default Doxyfile (one produced by doxygen -g) on SuSE Linux > for x86 7.3. For the second #f1 in your example the argument list is split over two lines. Since doxygen will look for a matching ) on the same line only [1], it will not consider the arguments when determining the link, and just choose one function (the first defined). Suggested correction: /** * This a test function. * * The reference #f1(int,int) works, and the reference #f1(int,int) does also. */ Regards, Dimitri [1] to prevent too much look-a-head for the scanner, and to avoid issues with the leading '*' ------------------------------------------------------- This sf.net email is sponsored by: Dice - The leading online job board for high-tech professionals. Search and apply for tech jobs today! http://seeker.dice.com/seeker.epl?rel_code=31

Next Message by Date: click to view message preview

some questions about doxygen, thanks

Hi,everybody, I am a newbie about doxygen. Recently I just read sth about doxygen. and I read the 'doc' files of qt documentation, in this files have some tags like '\list', '\endlist', '\i' and so on. I use doxygen to generate the config file and some html files, but in this html files the tags '\list', '\listend' are not changed , what should I do? Thanks for helping. -- Cavendish --http://www.eyou.com --Îȶ¨¿É¿¿µÄÃâ·Ñµç×ÓÐÅÏä ÓïÒôÓʼþ ÒÆ¶¯ÊéÇ© ÈÕÀú·þÎñ ÍøÂç´æ´¢...ÒÚÓÊδ¾¡ ------------------------------------------------------- This sf.net email is sponsored by: Dice - The leading online job board for high-tech professionals. Search and apply for tech jobs today! http://seeker.dice.com/seeker.epl?rel_code=31

Previous Message by Thread: click to view message preview

////// bug persists, construction initializer references not quite correct

Yes, I do have relevant extract all and show undocumented flags set. That is how this program is most useful to me. I read in the change log that the //////// bug was fixed, but a form of it does persist. In the following snippet from the source browser, lines 00050 and 00054 were lines of /, about 80 characters long. While a link is created for the second function's name, there is only a link in the line number for the first (the rest of the line is red, the colour of comments). The link is created and the referenced by is created, so this bug is not a huge deal (before the referenced by and other functions referencing this function was not accurate). 00051 // 00052 // ctor 00053 // 00055 __fastcall TFieldEditor::TFieldEditor(TComponent* owner, Field& f, Packet* p) : 00056 TForm(owner), 00057 field_(&f), 00058 packet_(p), 00059 symbolCombo_(0), 00060 decodeSetting_(DecodeOptions::bin), 00061 decodeSettingChanged_(false), 00062 editValue_(field_->value()) 00063 { 00064 init(); 00065 } 00066 __fastcall TFieldEditor::TFieldEditor(TComponent* owner, Field& f, Packet* p, const Value& v) : 00067 TForm(owner), 00068 field_(&f), 00069 packet_(p), 00070 symbolCombo_(0), 00071 decodeSetting_(DecodeOptions::bin), 00072 decodeSettingChanged_(false), 00073 editValue_(v) 00074 { 00075 init(); 00076 } However, the constructor initialization behaved oddly. The first function correctly links DecodeOpitons::bin. The second only links DecodeOptions, ignoring the ::bin. Additionally, neither caught the reference to Field::value(). Additionally, the function below contains no links except 00164 and CrcField::Invalid. It also had //////... lines enclosing the heading. Relevant references and referenced by sections did not have any links to the appropriate doxygen entries. 00160 // 00161 // invalidCrcBtnClick() 00162 // 00164 void __fastcall TCrcFieldEditor::invalidCrcBtnClick(TObject *Sender) 00165 { 00166 crcfield_->setCrcSetting(CrcField::Invalid); 00167 setControlsEnable(false); 00168 calculateCRC(); 00169 } I hope these are not too complicated problems to fix. I will make up an input fliter that changes all ////... lines to empty lines and see if that helps the lack of links, but the constructor initialization looks like a bug? I am looking forward to using doxygen's source browser functionality. Sincerely, Randy Jennings Data Transit P.S. Why have our email addresses started appearing on the list? ------------------------------------------------------- This sf.net email is sponsored by: Dice - The leading online job board for high-tech professionals. Search and apply for tech jobs today! http://seeker.dice.com/seeker.epl?rel_code=31

Next Message by Thread: click to view message preview

some questions about doxygen, thanks

Hi,everybody, I am a newbie about doxygen. Recently I just read sth about doxygen. and I read the 'doc' files of qt documentation, in this files have some tags like '\list', '\endlist', '\i' and so on. I use doxygen to generate the config file and some html files, but in this html files the tags '\list', '\listend' are not changed , what should I do? Thanks for helping. -- Cavendish --http://www.eyou.com --Îȶ¨¿É¿¿µÄÃâ·Ñµç×ÓÐÅÏä ÓïÒôÓʼþ ÒÆ¶¯ÊéÇ© ÈÕÀú·þÎñ ÍøÂç´æ´¢...ÒÚÓÊδ¾¡ ------------------------------------------------------- This sf.net email is sponsored by: Dice - The leading online job board for high-tech professionals. Search and apply for tech jobs today! http://seeker.dice.com/seeker.epl?rel_code=31
Sign up for updates to this mailing list. email:
Loading Comments...
Home | News | Patents | Sitemap | FAQ | advertise

Advertising by