[Gambas-user] New features on the wiki

Tobias Boege taboege at ...626...
Sat Dec 6 14:25:41 CET 2014


On Thu, 13 Nov 2014, Tobias Boege wrote:
> > No, the source tree may not beavailable on the wiki, only the *.info files.
> > 
> > Why not adding an optional "*.help" file that would come with the *.info 
> > file?
> > 
> > This file could have almost the same format as the *.info file, except 
> > that it includes only the help. Your script would have to generate that 
> > file - I don't know what it does exactly at the moment...
> > 
> > The format is:
> > 
> > #<class #1>
> > <symbol #1>
> > '<Help line #1>
> > '<Help line #2>
> > '...
> > <symbol #2>
> > ...
> > #<class #2>
> > ...
> > 
> > Then either you keep your script, and you send me the *.help files so 
> > that I put them on the wiki server.
> > 
> > Better would be having your script inside the source tree, and let it 
> > run automatically on the C/C++ sources with specific Makefile.am rules.
> > 
> > That script can be written in Gambas. But then it will be run at "make 
> > install" stage, once the interpreter has been compiled.
> > 
> > What do you think?
> > 
> 
> Maybe I should rewrite it in Gambas. At this time it's 5 programs (in 4
> different languages!) piping into one another. The first four preprocess
> the C/C++ comments and the last is a really hackish C program which takes
> these help lines and merges them to the right place in a given .info file.
> When I wrote these, I was all about (development) speed. It may be cool to
> have all that in one program (and one language only).
> 
> The above format (and an extra file for it!) would be really good because
> that's information the program can gather from the C/C++ source files alone.
> No need to mess with the .info files then.
> 
> Weekend...
> 

Of course I meant this weekend, not the one 3 weeks ago...

The scripts are in the c2help directory in the source tree root since #6712.
Try them on gb.openssl:

  $ c2help/c2help.sh gb.openssl 2>/dev/null
  #Digest
  List
  ' Return a list of all digests present in the local OpenSSL crypto library.
  _get
  ' Return a virtual object representing a digest algorithm by giving its
  ' name. Valid names can be looked up from Digest.List.
  IsSupported
  ' Check whether the named digest algorithm is valid.
  #.Digest.Method
  Hash
  ' Hash the given string using this digest algorithm.
  _call
  ' A synonym for Hash.
  #Cipher
  List
  ' Return a list of all ciphers present in the local OpenSSL crypto library.
  [...]

One script is a gbs3 one, so all that needs to take place at "make install",
as you said. Apart from that I need bash (with read and exit builtins), gawk,
grep, sed and the coreutils (cat, tr and echo) -- to give an extensive list.
Shouldn't be too exotic. But in case someone doesn't have egrep, sed or gawk,
the help generation stage should be omitted since it's optional. I see no
need to reduce the dependencies on my side.

Regards,
Tobi

-- 
"There's an old saying: Don't change anything... ever!" -- Mr. Monk




More information about the User mailing list