You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
(9) |
May
(1) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ben...@id...> - 2004-05-22 12:05:20
|
Dear Open Source developer I am doing a research project on "Fun and Software Development" in which I kindly invite you to participate. You will find the online survey under http://fasd.ethz.ch/qsf/. The questionnaire consists of 53 questions and you will need about 15 minutes to complete it. With the FASD project (Fun and Software Development) we want to define the motivational significance of fun when software developers decide to engage in Open Source projects. What is special about our research project is that a similar survey is planned with software developers in commercial firms. This procedure allows the immediate comparison between the involved individuals and the conditions of production of these two development models. Thus we hope to obtain substantial new insights to the phenomenon of Open Source Development. With many thanks for your participation, Benno Luthiger PS: The results of the survey will be published under http://www.isu.unizh.ch/fuehrung/blprojects/FASD/. We have set up the mailing list fa...@we... for this study. Please see http://fasd.ethz.ch/qsf/mailinglist_en.html for registration to this mailing list. _______________________________________________________________________ Benno Luthiger Swiss Federal Institute of Technology Zurich 8092 Zurich Mail: benno.luthiger(at)id.ethz.ch _______________________________________________________________________ |
From: Robert M. <mc...@za...> - 2003-07-18 19:58:08
|
A new release of traceString has been uploaded to sourceforge. The change is that the pattern line in the .traceString pattern file now supports the expansion of '\n' and '\t' into newlines and tabs. This is to support #ifdef. This forced the change of the comment character in the pattern which was '#' to // (just like C++). Enjoy, R. McLay |
From: Robert M. <mc...@za...> - 2003-05-15 00:58:22
|
This version of traceString fixes a few bugs (Handling a double colon in a user path) The major improvement is that it includes code that applications programs may wish to use integrate tracing program execution (tracer.C and tracer.h) These can be include in application code to better integrate with traceString. The "tracer" code is to easily print out program execution path with several ways to control what routines print: a) There is an always exclude list of routines b) A list of routines to include or exclude c) A list of classes to include or exclude d) a watch list: The watch list will print out a watch routine or class and print out all called routines until returning to the watched routine. See the http://tracestring.sourceforge.net for more details. Enjoy. R. |
From: Robert M. <mc...@cf...> - 2003-04-22 17:26:16
|
This is a bug fix version to allow the source to be compiled with the compilers on IBM, SGI, Tru64, Sun, It now works on all of the above plus Windows 2000, w/ CYGWIN. R. |
From: Robert M. <mc...@za...> - 2003-04-17 11:45:26
|
I have uploaded the latest version of traceString in the V0.4 tar ball. This has all of the source with doxygen comments. Also the noweb source has been upload into the cvs repository on sourceforge.net R. |
From: Robert M. <mc...@cf...> - 2003-04-16 13:52:05
|
Below is a draft of the announcement that I'm planning to comp.lang.c++.moderated Comments? -------------------------------------------------------------------------------- http:://tracestring.sourceforge.net traceString is a tool to read in C/C++ source and write new code with the name of routine placed at the start of the routine. This provides a portable way to answer the question: WHO AM I? The functionality of traceString can best be seen using a small example in C++. Given the following raw code: int Foo::bar(int a) { // rest of routine } It can be transformed by traceString to be: int Foo::bar(int a) { /* %TRACE% */ FUNC_TRACE("Foo::Bar(int a)"); /* %TRACE% */ // rest of routine } where the ``FUNC_TRACE("Foo::Bar(int a)");'' is under user control via a pattern file. Features: - A pattern file controls what traceString generates. - "Fully Qualified" name, name, and class name are available. - Knows about namespaces. - Fast: It is written in C++ and flex. On a Pentium 4 it converted 23000 lines of code in 61 files in 0.1 seconds. - More portable than compiler solutions. Other choices: - C99 standard calls for __func to produce the name. This is not available every where. - Gnu and Intel compiler have __FUNCTION__ and __PRETTY_FUNCTION__ but not available on all compilers - RTTI typeid().name() provides the name but it is not human readable under Gnu and Intel compilers. TraceString can work with a particular compiler solution via the pattern file. |
From: William L. (B. B. <bb...@cf...> - 2003-04-14 19:18:15
|
>>>>> On 14 Apr 2003 12:34:52 -0500, Robert McLay <mc...@cf...> said: Robert> The idea behind TEMPLATE is that it would be 1 in the case of Robert> angle brackets found in the class definition (e.g Foo<T> Robert> versus Foo). Can you also detect a templated function and set $TEMPLATE based on that? Consider the following: ------------------------------------------------------------------------ template <typename T> T& func(T t) { return t; } template <typename T> class Foo { public: void setA(T t); private: T m_a; }; template <typename T> void Foo<T>::setA(T t) { m_a = t; } int main() { int a; float b; a = func<int>(1); b = func<float>(1.0); Foo<int> fi; Foo<float> ff; fi.setA(a); ff.setA(b); return 0; } ------------------------------------------------------------------------ ariel(616)$ ~/scratch/traceString-V0.3/traceString --name *.C func(T t) Foo<T>::setA(T t) main() ------------------------------------------------------------------------ Would $TEMPLATE be set for the function on line 1 of the output above? I think that it should be, but there are no '<>' anywhere in that list. I understand that this may be hard to implement, but I thought I'd point it out. Bill. P.S. I can't tell if Alfred is on the list yet are not. Let me know when you are, Alfred, and I'll stop CC'ing you here. -- Bill Barth | Home: (512) 797-3045 bb...@cf... | Work: (512) 471-4069 Office: WRW 111 | Fax: (512) 232-3357 |
From: Robert M. <mc...@cf...> - 2003-04-14 17:35:09
|
Suppose we have the follow code: namespace A { namespace B { ... Foo<T>::bar(int i, T x) { ... } Here is a list of names that traceString does or could generate for you. $(NS) or $(NAMESPACE) : A::B $(CLASS) : Foo<T> $(FQCLASS) : A::B::Foo<T> * $(BNAME) : bar $(FQNAME) : A::B::Foo<T>::bar(int i, T x) * $(ARGNAME) : bar(int i, T x) * $(NAME) : A::B::Foo<T>::bar $(T) or $(TEMPLATE) : 1 All the name and their definitions are up for discussion. In particular the names BNAME, ARGNAME, and NAME may need better handles. The idea behind TEMPLATE is that it would be 1 in the case of angle brackets found in the class definition (e.g Foo<T> versus Foo). Comments? R. |
From: Robert M. <mc...@cf...> - 2003-04-11 19:46:41
|
Used patch that Bill Barth sent to fix bug in printHelp. Implemented feature request in that if --default name is given as an option it uses that name's pattern rather than default's pattern. R. |
From: Robert M. <mc...@cf...> - 2003-04-11 03:00:01
|
I have uploaded traceString 0.2 to sourceforge. It fixes the bugs that I reported earlier. It also supports the --indent option for matching the indentation of the users code. Also added are three new options: --active / --inactive to give a list of active or inactive routines to instrument. --remove: to remove all trace strings from code. R. |
From: Robert M. <mc...@cf...> - 2003-04-10 21:04:46
|
Here is my ideas (and what I have implemented): By default the trace string is on the same line as the { If the --indent option is given then there are three cases: a) If there is a trace string then the same indentation is reused. b) If there is code on the same line then the trace string is added on the same line (as before). c) If there is no trace string then a new line is added and the current indentation is inserted. Here are examples of the three cases. If the input is this: int X::caseA(float x) { /* %TRACE% */ FUNC_TRACE("X::caseA(float x)"); /* %TRACE% */ // } int X::caseB(float x) {} int X::caseC(float x) { // } Then the output of B<traceString --indent ...> is: int X::caseA(float x) { /* %TRACE% */ FUNC_TRACE("X::caseA(float x)"); /* %TRACE% */ // } int X::caseB(float x) { /* %TRACE% */ FUNC_TRACE("X::caseB(float x)"); /* %TRACE% */} int X::caseC(float x) { /* %TRACE% */ FUNC_TRACE("X::caseC(float x)"); /* %TRACE% */ // } R. |
From: Robert M. <mc...@cf...> - 2003-04-10 12:11:25
|
I have fixed your bugs. I have not yet uploaded to sourceforge, but I will today. Bugs fixed: a) not putting const as part of the FQNAME: void A::func(int a) const b) not handling: class_cast<T>::operator const T * () The new version will have these bug fixed. R. |