This is docgen.h in view mode; [Download] [Up]
/* docgen Objective C Document Generator Copyright (C) 1995 Bill Bereza. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Email: berezaw@river.it.gvsu.edu S-mail: Bill Bereza 9526 Judson Rd. Ravenna, MI 49451-9427 */ /* docgen Objective C Document Generator * Copyright (c) 1994 Bill Bereza * * $Log: docgen.h,v $ * Revision 1.38 96/01/07 01:28:47 berezaw * 0.3.2 in progress * * Revision 1.37 95/07/26 23:00:18 berezaw * *** empty log message *** * * Revision 1.36 95/07/26 21:46:16 berezaw * *** empty log message *** * * Revision 1.35 95/07/26 17:51:31 berezaw * *** empty log message *** * * Revision 1.34 95/07/26 17:50:18 berezaw * *** empty log message *** * * Revision 1.33 95/07/26 16:17:27 berezaw * 0.3.1 * * Revision 1.32 95/07/25 11:29:21 berezaw * *** empty log message *** * * Revision 1.31 95/07/25 11:19:51 berezaw * *** empty log message *** * * Revision 1.28 95/07/23 15:49:21 berezaw * using objc_loadModules * * Revision 1.27 95/07/23 14:33:27 berezaw * added NXBundle stuff * * Revision 1.26 95/07/23 02:31:22 berezaw * adding dynamic module loading for Formatting Classes * * Revision 1.21 95/07/21 01:58:23 berezaw * added ObjC stuff * * Revision 1.20 95/07/20 01:17:47 berezaw * adjusted for 0.2.1 * * * Revision 1.18 95/03/02 18:16:48 berezaw * 0.2.0 * * Revision 1.17 95/03/02 13:21:38 berezaw * * updated for 0.1.9 * * Revision 1.16 95/03/02 03:44:40 berezaw * using GNU regex library * rewrote recmp() as docgen_recmp() * added GPL stuff to each file * increase rev. to 0.1.9 * * Revision 1.15 95/02/13 19:05:11 berezaw * * will now skip to next line on end of comments * * Revision 1.14 95/02/13 18:08:29 berezaw * *** empty log message *** * * Revision 1.13 95/02/13 18:01:46 berezaw * version number change * * Revision 1.12 95/02/02 18:31:50 berezaw * 0.1.7, fixed problems with skipping lines * in odd classes * * Revision 1.11 95/02/01 18:49:52 berezaw * * 0.1.6 * * Revision 1.10 95/02/01 16:28:10 berezaw * 0.1.6 * * Revision 1.9 95/01/31 18:28:35 berezaw * * added 0.1.5 stuff * * Revision 1.8 95/01/30 14:11:10 berezaw * fixed fancy text * * Revision 1.7 95/01/30 13:32:15 berezaw * added -F * * Revision 1.6 95/01/29 01:50:23 berezaw * changes started for 0.1.4 * * Revision 1.5 95/01/27 00:31:40 berezaw * added '-x' option to hide methods beginning with '_' * * Revision 1.4 95/01/26 15:32:30 berezaw * added BSD, SYSV and HPUX checks * * Revision 1.3 95/01/26 05:34:53 berezaw * added global variables GLOB_decdir and GLOB_sort * * Revision 1.2 94/11/28 12:08:31 berezaw * *** empty log message *** * * * $Id: docgen.h,v 1.38 96/01/07 01:28:47 berezaw Exp $ */ #ifndef DOCGEN_H #define DOCGEN_H #ifdef HAVE_CONFIG_H #include "config.h" #endif #define DOCGEN_VERSION "v0.3.2, Copyright (C) 1995 Bill Bereza.\ndocgen comes with ABSOLUTELY NO WARRANTY.\nThis is free software, and you are welcome to redistribute it\nunder certain conditions." #ifdef STDC_HEADERS #include <stdio.h> #include <string.h> #include <stdlib.h> #endif #include <sys/types.h> #include <sys/stat.h> #if HAVE_DIRENT_H # include <dirent.h> # define NAMLEN(dirent) strlen((dirent)->d_name) #else # define dirent direct # define NAMLEN(dirent) (dirent)->d_namlen # if HAVE_SYS_NDIR_H # include <sys/ndir.h> # endif # if HAVE_SYS_DIR_H # include <sys/dir.h> # endif # if HAVE_NDIR_H # include <ndir.h> # endif #endif /* The next couple of ifdef's are to try to find the right * header file for getopt */ #ifdef HAVE_BSD_LIBC_H #include <bsd/libc.h> #endif #ifdef HAVE_UNISTD_H #include <unistd.h> #endif #ifdef HAVE_OBJC_OBJECT_H #define OBJC #include <Format/Formatting.h> #include <Format/DocgenFormatter.h> #include <Format/RTFFormatter.h> #include <Format/TXTFormatter.h> #include <Format/HTMLFormatter.h> #endif #include <dynstr/dstring.h> #include <dynstr/dstrio.h> #include <dlist/dlstqueue.h> /* Default search paths */ /* Directory to begin search for .m files */ #ifndef DEFSTARTDIR #define DEFSTARTDIR "." #endif /* Directory to write RTF files into */ #ifndef DEFODIR #define DEFODIR "." #endif /* Director(y|ies) to search for inheritance */ #ifndef DEFISEARCH #ifdef NeXT #define DEFISEARCH ".:/NextDeveloper/Headers:/LocalDeveloper/Headers" #elif defined amiga #define DEFISEARCH ".:/gnu/lib:/gnu/include" #else #define DEFISEARCH ".:/usr/lib:/usr/include" #endif #endif /* ! DEFISEARCH */ /* Default level of verbosity */ #ifndef DEFVERBO #define DEFVERBO 2 #endif /* Default: whether or not to recurse */ #ifndef DEFRECURS #define DEFRECURS no #endif /* Default separator text for inheritance output */ #ifndef DEFSEP #define DEFSEP ":" #endif /* string to italicize */ #ifndef DEFITAL #define DEFITAL "#super#self#" #endif /* Defualt Formatter class */ #ifndef DEFFORMAT #define DEFFORMAT "RTFFormatter" #endif /* Default search path for bundles */ #ifndef DEFBUNDLES #define DEFBUNDLES {".","/usr/local/lib/docgen","/usr/lib/docgen", NULL } #endif /* Usage string */ #ifndef USAGE #define USAGE \ "docgen "DOCGEN_VERSION\ "\nCompiled: "__TIME__" "__DATE__"\n"\ "\nUsage:\tdocgen\n\t[-d dir] [-l library] [-I headerdirs] [-R]"\ "\n\t[-v #] [-s string] [-e string] [-f classname] [-B ModuleDir]"\ "\n\t[-x] [-S] [-F] [-C] [-A] [-D] [-a] [-b] [-O]\n"\ "\n[-d dir]\t\tRoot dir to begin search for files"\ "\n[-l library]\t\tdir to dump RTF files into"\ "\n[-I headerdirs]\t\tList of directories separated by ':'"\ "\n[-R]\t\t\trecursively search the header dirs"\ "\n[-s string]\t\tSeparator for inheritance path output"\ "\n[-v (0-5)]\t\tlevel of verbosity(0 = none, 5 = all)"\ "\n[-e string]\t\tName of directory to put in Declared In:"\ "\n[-f classname]\t\tThe name of the Formatting class to use"\ "\n[-B ModuleDir]\t\tThe name of a directory containing Formatting modules"\ "\n[-x]\t\t\tDon't document methods that begin with _"\ "\n[-F]\t\t\tDon't check for net-like fancy text."\ "\n[-S]\t\t\tSort the methods in the descriptions."\ "\n[-C]\t\t\tPrint the first line of comments."\ "\n[-A]\t\t\tAuto-document ALL set and get methods."\ "\n[-D]\t\t\tShow default values for all the above."\ "\n[-a]\t\t\tParse comments after method name in implementation."\ "\n[-b]\t\t\tParse comments before the method name\n" #endif /* verbose option definitions */ #define V_NONE (verbo>=0) /* defined just for completeness */ #define V_BADERR (verbo>=1) /* any errors the user should know about */ #define V_ERR (verbo>=2) /* errors the user can live with (warnings) */ #define V_STAT (verbo>=3) /* output that is useful for debugging */ #define V_USELESS (verbo>=4) /* for things even you don't want care to know */ #define V_ALL (verbo>=5) /* nothing uses this, could be line tracing */ /* external functions in docgen.c, files.c, getdocopts.c, parseobjc.c */ extern int getdocopts(int argc, char **argv, char **checkdir, char **outlib, char **headers, char **format, char **bundledir); extern void dirwalk(char *dir, void (*)(char *, char *, char *, char *), char *odir, char *hdir); /* no reason to use the function pointer */ extern void procfile(char *name, char *idir, char *odir, char *hdir); /* name = name of the file * idir = dir the file is in * odir = dir to write .rtfs into (passed onto parsobjc()) * hdir = dir(s) to search for .h (passed onto parsobjc()) */ extern void procm(char *mname, char *idir, char *odir, char *hdir); /* mname = name of .m file found by procfile() * rest are the same as procfile's */ extern char *dirfile(char *directory, char *filename); /* simple returns char array of directory+"/"+filename */ /* might do some checking of the last char of directory */ extern char *findfile(char *fname, char *startdir); /* fname = name of a file to fine * startdir = root directory to begin search from */ extern int parseobjc(char *mfile, char *hfile, char *rtffile, char *hdir); /* mfile = absolute pathname of .m file * hfile = absolute pathname of .h file (existence unknown) * rtffile = absolute pathname the the .rtf to create/kill */ /* boolean type using yes no so it won't be confused with standard TRUE FALSE */ typedef enum { no, yes } bool; /* verbosity level */ extern int verbo; /* recursion */ extern bool GLOB_recurs; /* seperator for inheritance path */ extern char *GLOB_sep; /* Whether or not to print out default values and exit */ extern bool GLOB_defaults; /* Name of directory to put in Declared In: if not NULL */ extern char *GLOB_decdir; /* to sort methods or not */ extern bool GLOB_sort; /* whether to hide methods beginning with '_' or not */ extern bool GLOB_undoc; /* whether or not to parse fancy text */ extern bool GLOB_fancy; /* whether or not to include the text on the same line as the comment beginner */ extern bool GLOB_firstcomm; /* whether or not to autodocument all set and get methods */ extern bool GLOB_autodoc; /* where to parse comments for methods from (before, after or both) */ extern bool GLOB_before, GLOB_after; // This is the class to use with formatting #ifdef OBJC extern id myForm; #endif #endif /* ! DOCGEN_H */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.