wc3campaigns
WC3C Homepage - www.wc3c.netUser Control Panel (Requires Log-In)Engage in discussions with other users and join contests in the WC3C forums!Read one of our many tutorials, ranging in difficulty from beginner to advanced!Show off your artistic talents in the WC3C Gallery!Download quality models, textures, spells (vJASS/JASS), systems, and scripts!Download maps that have passed through our rigorous approval process!

Go Back   Wc3C.net > Resources > - Submit a resource -
User Name
Password
Register Rules Get Hosted! Chat Pastebin FAQ and Rules Members List Calendar



Reply
 
Thread Tools Search this Thread
Old 02-11-2009, 07:47 PM   #1
Barade
User
 
Barade's Avatar
 
Join Date: May 2006
Posts: 163

Barade is on a distinguished road (14)

Default vjassdoc

vjassdoc is a simple program written in C++ which generates an HTML API documentation by parsing Jass or vJass code.

License
GPLv2

Requirements
  • cmake (minimum 2.6.4)
  • g++ or any similar C++ compiler
  • gettext
  • Boost C++ Libraries
  • SQLite3 (database mode, optional)
  • Qt 4 (GUI mode, optional)
  • KDE 4 (GUI mode, optional)

Current version
0.3

Components:
  • vjassdoc
  • vjassdocgui
  • vjassdoclib

Download
All releases can be found on this website.

Source code
Additionally you're able to get the latest code version by using SVN: svn co https://vjasssdk.svn.sourceforge.net...sssdk/vjassdoc.

Information
Since I wanted to get some more experience with C++ I decided to write a documentation generation program.
It's quite easy to use.
Just type "./vjassdoc --help" (on UNIX systems) to see all available commands.
Note that this is still a beta version and the database creation and addition mode is not really useful yet.
For compilation you'll need make and cmake. Just type "cmake ." or "cmake -G "Make file type" ." to generate all make files.
By typing "make" and "make install" you'll compile and install the program.
Since I am not a Windows user there will probably be some bugs. Just report them to me, please and I will fix everything.
SQLite3 is required for the database creation. The program is able to create SQLite databases with all parsed objects.
It also supports documentation comments (/// Bla or /** Bla */) and some corresponding keywords like @param or @author etc.
The program uses gettext for internationalisation. Supported languages are English, German and Macedonian (unfortunately just some strings :-().
If you want to help to translate the program into other languages please contact me.

Since version 0.3 there's a simple GUI KDE 4 implementation, too for users who do not like using the command line.
Note that this GUI application isn't stable and really useful, yet.
Attached Images
File Type: png wc3cimage.png (26.3 KB, 195 views)
Attached Files
File Type: 7z ASL 1.0 - API.7z (862.5 KB, 42 views)
File Type: 7z vjassdoc-0.3.7z (71.9 KB, 20 views)

Last edited by Barade : 11-29-2009 at 07:51 PM. Reason: Revised attachments.
Barade is offline   Reply With Quote
Sponsored Links - Login to hide this ad!
Old 02-11-2009, 10:34 PM   #2
Vexorian
Free Software Terrorist
 
Vexorian's Avatar


Technical Director
 
Join Date: Apr 2003
Posts: 14,898

Submissions (37)

Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)

Hero Contest #3 - 2nd Place

Default

I'd suggest you to include an example of code and the generated documentation so people understand what this does.

I'll take a look later, when I have enough time to compile and install the dependencies.
__________________
Zoom (requires log in)Wc3 map optimizer 5.0
Someone should fix .wav sound in this thing.
Zoom (requires log in)JassHelper 0.A.2.A
Turns your simple code into something that is complicated enough to work.
Faster != more useful
Vexorian is offline   Reply With Quote
Old 02-12-2009, 07:03 AM   #3
C2H3NaO2
User
 
Join Date: May 2008
Posts: 80

C2H3NaO2 is on a distinguished road (17)

Default

I can NOT open the tar archives under windows with 7zip! Other tar archives like Drupal modules are no problem. Later i'll try under my arch linux, but you should fix it.

Btw you should think of a better picture for this. It's not really good to autogenerate a logo that has nothing to do with the tool with ~5 clicks in gimp.
C2H3NaO2 is offline   Reply With Quote
Old 02-12-2009, 10:36 AM   #4
Vexorian
Free Software Terrorist
 
Vexorian's Avatar


Technical Director
 
Join Date: Apr 2003
Posts: 14,898

Submissions (37)

Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)

Hero Contest #3 - 2nd Place

Default

1) You are not supposed to open those if you are in windows (unless you want to compile it for some reason?)
2) They are not just tar, they are tar.bz2 , I think you'll first have to extract the bz2 and then the tar part... Linux decompressors generally do that, seems 7zip doesn't.
__________________
Zoom (requires log in)Wc3 map optimizer 5.0
Someone should fix .wav sound in this thing.
Zoom (requires log in)JassHelper 0.A.2.A
Turns your simple code into something that is complicated enough to work.
Faster != more useful
Vexorian is offline   Reply With Quote
Old 02-12-2009, 01:12 PM   #5
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,729

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default

The submission rules require all files be attached to the first post.
__________________
Rising_Dusk is offline   Reply With Quote
Old 02-12-2009, 02:03 PM   #6
Barade
User
 
Barade's Avatar
 
Join Date: May 2006
Posts: 163

Barade is on a distinguished road (14)

Default

Isn't there an exception for tools?
I think I've read that you can link to everything.

@C2H3NaO2:
Don't you like the picture? Of course it is an auto generated one but I really like it and I don't think there will be any problems if I use it further on.
And of course you can try to make a nicer one :-).

At the moment I am working on the database creation optimization. Maybe I will add some options to exclude some kinds of objects from parsing (like comments which aren't really necessary most times).

Some time ago I've start working on an RPM and ebuild file for Linux users but I won't finish it until I'll get some more time.
The package generation implementation of KDevelop 3 isn't that good :-/ and there is still no cmake support (coming with KDevPlatform) which makes it more difficult for me to use it.
__________________
Barade is offline   Reply With Quote
Old 02-12-2009, 04:39 PM   #7
C2H3NaO2
User
 
Join Date: May 2008
Posts: 80

C2H3NaO2 is on a distinguished road (17)

Default

[quote=Vexorian]1) You are not supposed to open those if you are in windows (unless you want to compile it for some reason?)[quote]
Yes I want to compile it. There is no binary of the last version. And with cygwin it would be pretty easy (i hope).

And I am also interested into the code.

Quote:
Originally Posted by Vexorian
2) They are not just tar, they are tar.bz2 , I think you'll first have to extract the bz2 and then the tar part... Linux decompressors generally do that, seems 7zip doesn't.
7zip _does_ ít. there is no problem to open the .bz2. The problem is the tarfile.
Attached Images
File Type: png error.png (8.6 KB, 38 views)
C2H3NaO2 is offline   Reply With Quote
Old 02-12-2009, 04:47 PM   #8
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,729

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default

Quote:
Originally Posted by Barade
Isn't there an exception for tools?
Not in the current iteration of the submission rules. If any exceptions were made in the past, then the staff was not following the resource submission rules at the time. Look at the bottom of the rules here if you'd like to see tool-specific requirements.
__________________

Last edited by Rising_Dusk : 02-12-2009 at 04:47 PM.
Rising_Dusk is offline   Reply With Quote
Old 03-09-2009, 05:36 PM   #9
Barade
User
 
Barade's Avatar
 
Join Date: May 2006
Posts: 163

Barade is on a distinguished road (14)

Default

Uploaded version 0.2.3 which contains many changes and bug fixes.

Options --private and --textmacros are available now.
__________________
Barade is offline   Reply With Quote
Old 04-03-2009, 06:45 AM   #10
Pyrogasm
Lackadaisically Absent.
 
Pyrogasm's Avatar


Respected User
 
Join Date: Sep 2006
Posts: 4,520

Submissions (9)

Pyrogasm is a splendid one to behold (638)Pyrogasm is a splendid one to behold (638)Pyrogasm is a splendid one to behold (638)Pyrogasm is a splendid one to behold (638)Pyrogasm is a splendid one to behold (638)Pyrogasm is a splendid one to behold (638)Pyrogasm is a splendid one to behold (638)

Hero Contest - Fourth place

Send a message via ICQ to Pyrogasm Send a message via AIM to Pyrogasm Send a message via MSN to Pyrogasm Send a message via Yahoo to Pyrogasm
Default

Pardon me, but can you explain what the hell this does–in layman's terms?
__________________
Quote:
Originally posted by Rising_Dusk
Your spells are mostly ignored because they are not very cool so we aren't very excited to review/approve them, but you are incredibly persistent and won't give us an excuse to graveyard it. That is generally what results in a resource being ignored for a long time.

The Spell Request ThreadDone for, unless someone else wants to revive it...
It lasted a damn long time.

Please; Ask for Help Appropriately














Quote:
Originally posted by Kyrbi0
Huh. Almost makes me wish I had a girlfriend, to take advantage of today (wait, no, that's not what I meant... I mean, take advantage of the fact that it is international women's day... gah, never mind).
Quote:
Originally posted by Pyrogasm
Rome may not have been built in a day, but the Romans sure as hell didn't say "look at this great city we built guys!" when they had nothing more than a bit of stone and some cottages.
Pyrogasm is offline   Reply With Quote
Old 04-03-2009, 06:28 PM   #11
Alevice
It feels good
 
Alevice's Avatar
 
Join Date: Mar 2006
Posts: 1,305

Alevice is a jewel in the rough (190)Alevice is a jewel in the rough (190)Alevice is a jewel in the rough (190)

Default

I couldn't be arsed to compile it, but if this is like any documentation generator, what it does is that it generates a document based on a jass file that contatins an object/function reference, much in the vein of the JASS API docs, albeit much simpler in form. Generally JASS systemas aren't that large to require one, but somoen might like it.
__________________
_-|-_

Alevice.jones is SC2 Beta, losers.

Check out my never updated deviantart gallery!!

Kalimdor Raiders (Race Contest #1) Pastebin Page
Cavern Crawlers (Race Contest #2) Pastebin Page
Airship Race Motherfuckers!
Quote:
Originally Posted by http://ajaxian.com/archives/would-you-like-a-_-with-that-new-library-gives-js-what-it-should-have#comment-276203
- Dont solve problems that dont exist.
- Improve the wheel, dont reinvent it.
- Port the wheel if it doesnt exist in your environment.
- Integrate the wheel into your project.
- Make sure you can replace your wooden wheel for a rubber one if someone else invents it.
Alevice is offline   Reply With Quote
Old 04-04-2009, 09:47 AM   #12
Barade
User
 
Barade's Avatar
 
Join Date: May 2006
Posts: 163

Barade is on a distinguished road (14)

Default

Click me. Just an example of a big API documentation.

In the next version you'll be able to use the SQLITE flag for using the database mode because many people do not need it, I think.
Besides I am working on documentation comments like @struct <structname> for all Jass/vJass objects.

If you want to check out the latest version you should be able now to use svn co https://vjasssdk.svn.sourceforge.net...sssdk/vjassdoc.
__________________

Last edited by Barade : 04-04-2009 at 12:51 PM.
Barade is offline   Reply With Quote
Old 04-08-2009, 04:35 PM   #13
Vexorian
Free Software Terrorist
 
Vexorian's Avatar


Technical Director
 
Join Date: Apr 2003
Posts: 14,898

Submissions (37)

Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)

Hero Contest #3 - 2nd Place

Default

Tried testing but seems to be only extracting comments and library names and the fact the script uses integer and string.

that's the sort of thing extracted from a file like:
Expand libxecollider.j:

The source code page could use some highlighting or at least a <pre> tag so it has correct indentation.
__________________
Zoom (requires log in)Wc3 map optimizer 5.0
Someone should fix .wav sound in this thing.
Zoom (requires log in)JassHelper 0.A.2.A
Turns your simple code into something that is complicated enough to work.
Faster != more useful
Vexorian is offline   Reply With Quote
Old 04-16-2009, 11:04 PM   #14
Vexorian
Free Software Terrorist
 
Vexorian's Avatar


Technical Director
 
Join Date: Apr 2003
Posts: 14,898

Submissions (37)

Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)

Hero Contest #3 - 2nd Place

Default

Barade, did you try that script? I wouldn't like to graveyard this as it is probably a good idea.
__________________
Zoom (requires log in)Wc3 map optimizer 5.0
Someone should fix .wav sound in this thing.
Zoom (requires log in)JassHelper 0.A.2.A
Turns your simple code into something that is complicated enough to work.
Faster != more useful
Vexorian is offline   Reply With Quote
Old 04-17-2009, 01:58 PM   #15
Barade
User
 
Barade's Avatar
 
Join Date: May 2006
Posts: 163

Barade is on a distinguished road (14)

Default

Oh sorry, I didn't read this until today. I will test it now and edit my results.
At the moment I am working on modules and implementation support :-/ and of course a better value detection for things like super.method() or thistype.method().

edit: Hmm, I think the program needs a better operator support. It seems like it does not support operators with two tokens like method operator bla. Only method operator[].
I tried it with ./vjassdoc -dhpa --dir output --files test.j and it detected the struct xecollider, the library xecollider, the methods create, doInit, forgetTarget, setTargetPoint, setTargetPointLoc, terminate and timerLoop and some members correctly but it also detected some members which aren't members like this.csize which is at line 127 (the first line of an operator method :-/).

When I added the --private option it still seemed to be correctly (without that member bug).

edit2: Okay, I fixed that operator bug but I still have to test it with your script and to change some things before I'll release version 0.2.4.
Remember that you can use my svn repository to check out the newest version by using svn co https://vjasssdk.svn.sourceforge.net...sssdk/vjassdoc.
__________________

Last edited by Barade : 04-17-2009 at 06:55 PM.
Barade is offline   Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT. The time now is 06:15 PM.


Affiliates
The Hubb The JASS Vault Clan WEnW Campaign Creations Clan CBS GamesModding Flixreel Videos

Powered by vBulletin (Copyright ©2000 - 2017, Jelsoft Enterprises Ltd).
Hosted by www.OICcam.com
IT Support and Services provided by Executive IT Services