Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Office VBA implementation

2012-08-14
2013-04-25
  • I.R.Maturana
    I.R.Maturana
    2012-08-14

    I am working on a Office-Word VBA macro and VBDOX works well with it.

    The code is clean and appears well structured. In fact, I wonder why VBDOX is not widely used:
    And I believe because the VBDOX documentation is minimal !!!

    I am not experienced in VB - I reinstalled VS 6 with Basic an got 6 hours days to find the way to debug a DLL Argh!
    (I am used with C / JScrip / PHP)

    It would be nice to have some hints about  how the VB parsing is implemented,

    The parsing has 2 parts:

    -> 1)- the parsing of VB code  itself : 
    Do you nkow if there is a specific version for VBA code ?
    I am interested about it :  the idea is to get a separate, independent parser of VB code module.

    --> 2) - the parsing of comments, which is currently Javacode, markup of free comments. I saw the JScrip export plugin.
    Regarding the comments, I believe we could get inspiration from the "mail" notation used in NaturalDocs
    I like the "mail notation" used by NaturalDocs but it lacks of a VB parsing

    If this forum is not appropiate, fell free to move the topic elsewhere

    Many thanks for your work !

     
  • There is a mapping of file extensions to builder classes (e.g. parser.builder.bas=VBDOXLNG.clsBuilderVB) in vbdox.conf. Some of the file formats have filters that filter the non-vb code as for example the ASP markup. The builder classes use a parsers (tokenizers), p As New clsParser, to build the code model. The code model contains projects, modules, classes etc.

    The doc comments are stored in the getDocumentation as string. As I remember the parset doc comment is cached in the getDocComment property (see clsEntry for example). The "doccomment.tag" from the configuration maps the comment parsers for the different formats.

    Everything starts in the main frmMain.frm openFile.