fbc-0.91.0 documentation

General discussion for topics related to the FreeBASIC project or its community.
Post Reply
TJF
Posts: 3809
Joined: Dec 06, 2009 22:27
Location: N47°, E15°
Contact:

fbc-0.91.0 documentation

Post by TJF »

I just tested the fb-doc tool on the FB compiler source (to do some large input testing).

The result may be interesting for all FB users (and developers as well). It's a set of internally linked HTML files documenting the symbols in the fbc source tree, including 5805 ~9800 graphs about dependences and calleer- / callee-relationchips. You can check it online here (277,1 858 MB).

Here's an example page:
Image


BTW:
This is just a rough test. Neither the code nor the Doxygen settings are optimized.

A lot of text can get added to this documentation by smallish changes in the fbc source code. Ie lines like
  • const FB_MAXLITLEN = 1024 '' literal strings max length
may get
  • const FB_MAXLITLEN = 1024 '*< literal strings max length
[Edit]
Version update fbc-0.91.0 (2013-12-18)
[/Edit]
Last edited by TJF on Dec 20, 2013 7:47, edited 1 time in total.
v1ctor
Site Admin
Posts: 3804
Joined: May 27, 2005 8:08
Location: SP / Bra[s]il
Contact:

Re: fbc-0.9 documentation

Post by v1ctor »

TJF, that's pretty cool.

I always wanted to see how the call graphs for some functions in the FB sources.

The cProcHeader looks really complex. Can anybody find a call graph more convoluted than that? :)
TJF
Posts: 3809
Joined: Dec 06, 2009 22:27
Location: N47°, E15°
Contact:

Re: fbc-0.9 documentation

Post by TJF »

Thanks v1ctor!

The graph may get more complex, since I limited the graph depth (Doxyfile: MAX_DOT_GRAPH_DEPTH = 2 -- AFAIR cuted edges have red coloured borders in the graphs.).
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: fbc-0.9 documentation

Post by D.J.Peters »

@TJF really good job
now it's up for the dev team to use the comment tags.

Joshy
TJF
Posts: 3809
Joined: Dec 06, 2009 22:27
Location: N47°, E15°
Contact:

Re: fbc-0.9 documentation

Post by TJF »

Thanks D.J.Peters!
D.J.Peters wrote:now it's up for the dev team to use the comment tags.
I'm afraid it's not so easy. There're some pitfalls as well. Ie FB code like

Code: Select all

DIM AS INTEGER PTR ip '*< a pointer
*ip = 3
VAR x=25/*ip          '*< documentation of x here
doesn't work, because the division and the de-referencing of the pointer (/*) gets interpreted by Doxygen as the start of a C comment and all following code gets miss-interpreted.

Up to now, fc-doc acts like a lexical scanner and cannot fix such problems. So such source code needs adaption.

Anyway, the door is open to use Doxygen with any FB source code and it's up to the community to use and fine-tune the fb-doc tool. I think it's better to start with small projects and come to the fbc source when the basics are done.
anarky
Posts: 80
Joined: Jun 02, 2005 14:54
Location: Australia
Contact:

Re: fbc-0.9 documentation

Post by anarky »

Just slightly off-topic, what made FB go from a 0.24 (or whatnot, I've been off it for a couple of years) to 0.9 all of a sudden? Is it declared near ready to be fully released? Although it has been? I'm confused.

>Mike
TJF
Posts: 3809
Joined: Dec 06, 2009 22:27
Location: N47°, E15°
Contact:

Re: fbc-0.9 documentation

Post by TJF »

anarky wrote:... FB go from a 0.24 ... to 0.9 all of a sudden?
Yes, makes me wonder as well. (0.9 includes a first step implementing inheritance.)
TJF
Posts: 3809
Joined: Dec 06, 2009 22:27
Location: N47°, E15°
Contact:

Re: fbc-0.9 documentation

Post by TJF »

The site has had service downtime for some days, sorry for that.

Now it's up again, better and bigger than ever. It's
  • about the current version fbc-0.91.0 (GIT 2013-12-18)
  • containing the complete project (compiler, gfxlib2, rtlib), all in one polyglot documentation
  • containing more detailed graphs (MAX_DOT_GRAPH_DEPTH = 3)
So check it all (858 MB, 35,600 files :)
TJF
Posts: 3809
Joined: Dec 06, 2009 22:27
Location: N47°, E15°
Contact:

Re: fbc-0.9 documentation

Post by TJF »

TJF wrote:
D.J.Peters wrote:now it's up for the dev team to use the comment tags.
I'm afraid it's not so easy. There're some pitfalls as well. Ie FB code like

Code: Select all

DIM AS INTEGER PTR ip '*< a pointer
*ip = 3
VAR x=25/*ip          '*< documentation of x here
doesn't work, because the division and the de-referencing of the pointer (/*) gets interpreted by Doxygen as the start of a C comment and all following code gets miss-interpreted.
I haven't found anything like that yet. The fbc code seems to be ready for some documentation.
Last edited by TJF on Dec 20, 2013 8:09, edited 1 time in total.
TJF
Posts: 3809
Joined: Dec 06, 2009 22:27
Location: N47°, E15°
Contact:

Re: fbc-0.9 documentation

Post by TJF »

v1ctor wrote:The cProcHeader looks really complex. Can anybody find a call graph more convoluted than that? :)
What about
or
Post Reply