Files
wxWidgets/utils/HelpGen/src/ripper_main.cpp
Vadim Zeitlin cecfc5e7e5 HelpGen is a prototype of the tool for automatic generation of the .tex files
for wxWindows documentation from C++ headers


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-01-08 17:46:08 +00:00

158 lines
3.1 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 22/09/98
// RCS-ID: $Id$
// Copyright: (c) Aleskandars Gluchovas
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#ifdef WIN32
#include <io.h>
#endif
#include <stdio.h>
#include "markup.h" // get_HTML_markup_tags() will be used
#include "docripper.h"
#include "cjparser.h" // C++/Java will be parsed here
/***** Main funciton *****/
#ifdef WIN32
// NOTE:: under Windows this generator parses all .h files
// int the current directory
#include "direct.h"
void main(int argc, char** argv)
{
cout << "C++/JAVA Source Documentation Generator (\"wxDocRipper\")" << endl
<< "(C) 1998, Aleksandras Gluchovas (mailto:alex@soften.ktu.lt)"
<< endl << endl;
RipperDocGen gen;
// set up target script
gen.SetScriptMarkupTags( get_HTML_markup_tags() );
// setup source langauge
CJSourceParser* pParser = new CJSourceParser();
gen.Init( pParser );
// read process all files in the current directory
struct _finddata_t c_file; // NT-specific?
long hFile;
hFile = _findfirst( "*.h", &c_file );
int total = 0;
while( hFile != -1L )
{
gen.ProcessFile( c_file.name );
++total;
if ( _findnext( hFile, &c_file ) == -1L )
break;
}
if ( total )
{
cout << endl
<< "*** storing source documenation into ./srcref.html ***"
<< endl << endl;
if ( !gen.SaveDocument( "srcref.html" ) )
cout << "\nERROR: document cannot be saved" << endl;
}
else
{
cout << "\nno .h files found in this directory - You must be running Windows now :-)"
<< endl;
return;
}
printf( "\nTotal %d file(s) processed, done.\n", total );
}
#else
// NOTE:: on platfroms other then Windows this generator parses all files
// given from the command line
int main(int argc, char** argv)
{
cout << "C++/JAVA Source Documentation Generator (\"wxDocRipper\")" << endl
<< "(C) 1998, Aleksandras Gluchovas (mailto:alex@soften.ktu.lt)"
<< endl << endl;
if ( argc < 2 )
{
cout << "Usage: list of files with .h, .hpp, .cpp or .java extentions"
<< endl;
return 1;
}
int from = 1, no_dump = 0;
if ( strcmp( argv[1], "-x" ) == 0 )
{
from = 2;
no_dump = 1;
}
RipperDocGen gen;
// set up target script
gen.SetScriptMarkupTags( get_HTML_markup_tags() );
// setup source langauge
CJSourceParser* pParser = new CJSourceParser();
gen.Init( pParser );
for( int i = from; i != argc; ++i )
gen.ProcessFile( argv[i] );
if ( !no_dump )
{
cout << endl
<< "*** storing source documenation into ./srcref.html ***"
<< endl << endl;
if ( !gen.SaveDocument( "srcref.html" ) )
cout << "\nERROR: document cannot be saved" << endl;
}
printf( "\nTotal %d file(s) processed, done.\n", argc-from );
return 0;
}
#endif