[GRASS5] Re: GRASS - Prototypes and encapsulation

Markus Neteler neteler at geog.uni-hannover.de
Sun Oct 15 06:37:21 EDT 2000


Dear Bernard,

thanks for your mail! I hope you don't mind that I CC to
the GRASS 5 developers list as your mail is of interest
for a wider audience. Please subscribe to this list to
follow the discussion:
http://www.geog.uni-hannover.de/grass/grassdevel.html

Some comments:

On Sat, Oct 14, 2000 at 07:40:26PM -0700, B Drapeau wrote:
> 
> Good Evening Markus, 
> 
> Ten months ago, I contacted you for 
> directions on how to contribute to GRASS.
> 
> I've been working away at other 
> projects and mastered perl in the meanwhile.
> I came back to my first plan and
> started to modify GRASS' source code.
> 
> I use perl to automatically insert tokens
> in the C source files after a "brute force"
> "ANSI"fication. I intend to reach ISO C compliance
> and drop K&R syntax and anachonisms.
> 
> I'm half of the way through the construction of 
> a 5-pass "converter". The conversion process 
> will require hand editing. My project might
> ease the standardisation, and modularisation
> of GRASS. (The tool can be reused as many times
> as you require.)
> 
> I would like to get your input on
> future GRASS development.
> 
>  -- Will there be a unified programming style
>    in all modules?
Yes, this is our intention.

>  -- Will there be a standard documentation
>    within the source code? (litterate programming)
In my opinion very useful as authors may change in 
an open source project
 
>  -- Will GRASS be modularised and designed 
>    with reentrant and thread-safe programming 
>    interfaces (libraries)?
Again yes. Currently I cannot describe the status, probably
the others can say more?
 
>  -- Will GRASS support different natural languages?
Highly wanted! This will require a different concept of course.
Currently we are preparing GRASS 5.0stable which will be released
soon. This week, maybe the next we just concentrate on bugfixes.
Then a new CVS tree will be started with a reorganized
GRASS source code structure and other stuff. Details can be found
in CVS (documents/code_freeze.txt).
 
> 
> I would like to see GRASS with a complete 
> ISO C interface with multilingual support
> (multibytes character sets and various locales).
Like me:-) As many projects already support multiple
languages, we can learn from them (at least me).

> The first step is to define the programming
> interfaces and the valid ranges for each 
> data types. The C compiler doesn`t work 
> with ranges. The prototype match in an ANSI 
> compliant source helps to detect errors but 
> doesn`t garantee there won't be wild pointers.
> 
> I convert the source with a perl script. 
> Then gcc and protoize to add ANSI prototypes.
> Then ident to rewrite neatly the source.
> Then lclint to find errors. 
>   (This is important to run perl scripts.)
> Then a new perl script to analyse the errors from
>  lclint and protoize.
> Then a perl script to rewrite the source.
> 
> My project is to define an automated
> procedure to insert the advanced LCLint 
> tokens for enhanced validation.
> 
> Then using an external data type definition,
> we could write some black-box tests.
> 
> I will investigate the use of GNU nana,
> SWIG and doxygen. 
> 
> 
> I would like to see GRASS with 
> better abstract datatypes. It would be easier
> to port to 32 and 64 bit machines and 
> support non-English characters. 
> By defining smartly the headers, the source
> could easily be integrated with C++ and SWIG.
> 
> This week, I will write the error analyser script
> to insert new statements in the C source.
> 
> The rough conversion compiles almost completely
> but I don't know enough on GRASS to test my 
> modifications on a working dataset. 
Just to know: Are you in sync with GRASS/CVS?
Generally platform independence is one of our aims.

> I would like your impressions on my project.
> 
> Bernard Drapeau
> bdrapeau at yahoo.com

Regards

 Markus Neteler

---------------------------------------- 
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo at geog.uni-hannover.de with
subject 'unsubscribe grass5'



More information about the grass-dev mailing list