/* Code Documenter - generates HTML documentation of programs.
autodox2.p 2001 by Judy Hoffman Green, Joanju Limited
Parses and documents significant features of each program listed,
displays the results out to an edit window, and generates
the html documentation for these programs.
This procedure must be run persistently.
In character mode, the editor "ed1" has a different background
color when it is disabled from when it is enabled. This may cause
a flicker effect when running a small test set of programs as the
editor is enabled and the background color changes, but no information is lost.
Methods List
============
main
No parameters.
Run this once everything is set.
getNumErrors
OUTPUT INTEGER
Get the number of errors after calling "main".
setAppName
INPUT CHARACTER
Sets the name of your application.
setOutputDir
INPUT CHARACTER
Sets the name of the output directory. Leave blank for current
working dir.
setFileList
INPUT CHARACTER
Sets the name of a file containing a list of program names
(.w, .p, etc). One program name per line. Lines can
be commented out by inserting lines containing nothing
but open comment (/*) and closing comment (*/).
The program names in this file must be either relative to your working
directory or have fully-qualified paths.
setProcCommentLoc
INPUT LOGICAL
Sets whether to look Before or After the PROCEDURE statement for a
comment.
setFuncCommentLoc
INPUT LOGICAL
Sets whether to look Before or After the FUNCTION statement for a comment.
setParamCommentLoc
INPUT LOGICAL
Sets whether to look Before or After the DEFINE PARAMETER statement
for a comment.
*/
Parameters:
checkSumDir
/* Check if we need to change directory name in the summary HTML. */
checkTocDir
/* Check if we need to change directory name in the TOC HTML. */
errorLogger
INPUT theText AS CHARACTER
findNode
/* Finds the first node of a particular type after a specified node.
* Note that findNode is recursive, and the
* "child" handle must be defined inside this procedure.
*/
INPUT findType AS CHARACTER
/* comma-delim type list */
INPUT theNode AS INTEGER
OUTPUT foundNode AS LOGICAL
OUTPUT resultNode AS INTEGER
getCommentAfter
/* Procedure to find a hidden comment token after the given node, and
* return its' text.
*/
INPUT pNode AS INTEGER
/* node to look after */
INPUT pSameLine AS LOGICAL
/* must be same line? */
OUTPUT pComment AS CHARACTER
/* text of comment */
getCommentBefore
/* Procedure to find a hidden comment token before the given node,
* and return its' text.
*/
INPUT pNode AS INTEGER
/* node to look bef */
OUTPUT pComment AS CHARACTER
/* text of comment */
getFunctions
/* Go through the program to pick up the functions. */
getNumErrors
/* Reports the number of errors found. */
OUTPUT p AS INTEGER
getParams
/* Find all of the parameters in the main procedure or internal procedure,
* build TT recs.
* Pass in parameter pProcName, which is either blank or a procedure name.
* Pass in parameter pSetProcAttr for whether we're setting this attribute
* or checking it. When setting the attribute, this marks the nodes as
* being inside a procedure. If we're checking the attribute, this is for
* when we are looking for only non-procedure nodes, so we discard all
* nodes that were previously marked.
*/
INPUT pProcName AS CHARACTER
INPUT pSetProcAttr AS LOGICAL
INPUT pStartNode AS INTEGER
getProcComment
/* Figure out the program's description (in a comment) if we can find one.
* For further information, see the readme.html section "Finding the First
* Comment...".
*/
getProcedures
/* Go through the internal procedures to pick up their names
* and parameters.
*/
getRealNode
/* Procedure to find the first real node after a given node. A real node
* is one which has non-blank nodeText.
* Note that getRealNode is recursive,
* and the "child" handle must be defined inside this procedure.
*/
INPUT theNode AS INTEGER
OUTPUT foundNode AS LOGICAL
OUTPUT realNode AS INTEGER
getStmtText
/* Hand in the node that you want the retrieved text to start at.
* This procedure ends at the first COLON (LEXCOLON) or PERIOD it gets to.
* Note that getStmtText is recursive,
* and the "child" handle must be defined inside this procedure.
*/
INPUT theNode AS INTEGER
/* start Node */
INPUT-OUTPUT theText AS CHARACTER
OUTPUT done AS LOGICAL
main
/* Prepare the output HTML files: */
prepareDetHtml
/* Prepare the header and footer HTML for the multiple detail files. */
replaceChars
/* Replace characters significant to HTML. */
INPUT-OUTPUT pText AS CHARACTER
/* text to fix */
setAppName
/* Sets the application name. */
INPUT name AS CHARACTER
setFileList
/* Sets filename containing list of programs to document. */
INPUT p AS CHARACTER
setFuncCommentLoc
/* Sets where to look for FUNCTION comments. */
INPUT loc AS LOGICAL
setOutputDir
/* Sets the output directory. */
INPUT dir AS CHARACTER
setParamCommentLoc
/* Sets where to look for DEFINE PARAMETER comments. */
INPUT loc AS LOGICAL
setProcCommentLoc
/* Sets where to look for PROCEDURE comments. */
INPUT loc AS LOGICAL
writeDetFile
/* Write out the HTML to build the individual detail HTML file. */
writeIndexFile
/* Write out the HTML to build the index html file. */
writeSumFileFooter
/* Write footer for summary HTML page. (right side of frame) */
writeSumFileHeader
/* Write header for summary HTML page. (right side of frame) */
writeSumFileLine
/* Write a line for the summary HTML. (right side of frame) */
writeTocFileFooter
/* Write footer for table of contents HTML. (left side of frame) */
writeTocFileHeader
/* Write header for table of contents HTML. (left side of frame) */
writeTocFileLine
/* Write a line for table of contents HTML. (left side of frame) */
parserAttrGet
FUNCTION parserAttrGet RETURNS CHARACTER ( theHandle AS INTEGER , theKey AS CHARACTER ) IN parserHandle .
parserAttrGetI
FUNCTION parserAttrGetI RETURNS INTEGER ( theHandle AS INTEGER , theKey AS INTEGER ) IN parserHandle .
parserAttrSet
FUNCTION parserAttrSet RETURNS LOGICAL ( theHandle AS INTEGER , theKey AS INTEGER , theValue AS INTEGER ) IN parserHandle .
parserConfigGet
FUNCTION parserConfigGet RETURNS CHARACTER ( theFlag AS CHARACTER ) IN parserHandle .
parserConfigSet
FUNCTION parserConfigSet RETURNS LOGICAL ( theFlag AS CHARACTER , theValue AS CHARACTER ) IN parserHandle .
parserCopyHandle
FUNCTION parserCopyHandle RETURNS LOGICAL ( fromHandle AS INTEGER , toHandle AS INTEGER ) IN parserHandle .
parserErrorClear
FUNCTION parserErrorClear RETURNS LOGICAL IN parserHandle .
parserErrorGetIsCurrent
FUNCTION parserErrorGetIsCurrent RETURNS LOGICAL IN parserHandle .
parserErrorGetStatus
FUNCTION parserErrorGetStatus RETURNS INTEGER IN parserHandle .
parserErrorGetText
FUNCTION parserErrorGetText RETURNS CHARACTER IN parserHandle .
parserGetBoolAttr
FUNCTION parserGetBoolAttr RETURNS LOGICAL ( theHandle AS INTEGER , attributeName AS CHARACTER ) IN parserHandle .
parserGetFirstChild
FUNCTION parserGetFirstChild RETURNS LOGICAL ( ofHandle AS INTEGER , intoHandle AS INTEGER ) IN parserHandle .
parserGetHandle
FUNCTION parserGetHandle RETURNS INTEGER IN parserHandle .
parserGetNextSibling
FUNCTION parserGetNextSibling RETURNS LOGICAL ( ofHandle AS INTEGER , intoHandle AS INTEGER ) IN parserHandle .
parserGetNodeFilename
FUNCTION parserGetNodeFilename RETURNS CHARACTER ( ofHandle AS INTEGER ) IN parserHandle .
parserGetNodeLine
FUNCTION parserGetNodeLine RETURNS INTEGER ( ofHandle AS INTEGER ) IN parserHandle .
parserGetNodeText
FUNCTION parserGetNodeText RETURNS CHARACTER ( ofHandle AS INTEGER ) IN parserHandle .
parserGetNodeType
FUNCTION parserGetNodeType RETURNS CHARACTER ( ofHandle AS INTEGER ) IN parserHandle .
parserGetTopNode
FUNCTION parserGetTopNode RETURNS LOGICAL ( intoHandle AS INTEGER ) IN parserHandle .
parserGetVersion
FUNCTION parserGetVersion RETURNS CHARACTER IN parserHandle .
parserHiddenGetAfter
FUNCTION parserHiddenGetAfter RETURNS LOGICAL ( handle AS INTEGER ) IN parserHandle .
parserHiddenGetBefore
FUNCTION parserHiddenGetBefore RETURNS LOGICAL ( handle AS INTEGER ) IN parserHandle .
parserHiddenGetNext
FUNCTION parserHiddenGetNext RETURNS LOGICAL IN parserHandle .
parserHiddenGetPrevious
FUNCTION parserHiddenGetPrevious RETURNS LOGICAL IN parserHandle .
parserHiddenGetText
FUNCTION parserHiddenGetText RETURNS CHARACTER IN parserHandle .
parserHiddenGetType
FUNCTION parserHiddenGetType RETURNS CHARACTER IN parserHandle .
parserInit
FUNCTION parserInit RETURNS LOGICAL IN parserHandle .
parserNodeFirstChild
FUNCTION parserNodeFirstChild RETURNS CHARACTER ( ofHandle AS INTEGER , intoHandle AS INTEGER ) IN parserHandle .
parserNodeNextSibling
FUNCTION parserNodeNextSibling RETURNS CHARACTER ( ofHandle AS INTEGER , intoHandle AS INTEGER ) IN parserHandle .
parserNodeParent
FUNCTION parserNodeParent RETURNS CHARACTER ( ofHandle AS INTEGER , intoHandle AS INTEGER ) IN parserHandle .
parserNodePrevSibling
FUNCTION parserNodePrevSibling RETURNS CHARACTER ( ofHandle AS INTEGER , intoHandle AS INTEGER ) IN parserHandle .
parserNodeStateHead
FUNCTION parserNodeStateHead RETURNS CHARACTER ( ofHandle AS INTEGER , intoHandle AS INTEGER ) IN parserHandle .
parserNodeTop
FUNCTION parserNodeTop RETURNS CHARACTER ( intoHandle AS INTEGER ) IN parserHandle .
parserParse
FUNCTION parserParse RETURNS LOGICAL ( filename AS CHARACTER ) IN parserHandle .
parserQueryClear
FUNCTION parserQueryClear RETURNS LOGICAL ( queryName AS CHARACTER ) IN parserHandle .
parserQueryCreate
FUNCTION parserQueryCreate RETURNS INTEGER ( fromNode AS INTEGER , queryName AS CHARACTER , nodeType AS CHARACTER ) IN parserHandle .
parserQueryGetResult
FUNCTION parserQueryGetResult RETURNS LOGICAL ( queryName AS CHARACTER , resultNum AS INTEGER , intoHandle AS INTEGER ) IN parserHandle .
parserReleaseHandle
FUNCTION parserReleaseHandle RETURNS LOGICAL ( theHandle AS INTEGER ) IN parserHandle .
parserSchemaAddDb
FUNCTION parserSchemaAddDb RETURNS LOGICAL ( name AS CHARACTER ) IN parserHandle .
parserSchemaAddField
FUNCTION parserSchemaAddField RETURNS LOGICAL ( name AS CHARACTER ) IN parserHandle .
parserSchemaAddFieldList
FUNCTION parserSchemaAddFieldList RETURNS LOGICAL ( fieldlist AS CHARACTER ) IN parserHandle .
parserSchemaAddTable
FUNCTION parserSchemaAddTable RETURNS LOGICAL ( name AS CHARACTER ) IN parserHandle .
parserSchemaAliasCreate
FUNCTION parserSchemaAliasCreate RETURNS LOGICAL ( aliasname AS CHARACTER , dbasename AS CHARACTER ) IN parserHandle .
parserSchemaAliasDelete
FUNCTION parserSchemaAliasDelete RETURNS LOGICAL ( aliasname AS CHARACTER ) IN parserHandle .
parserSchemaClear
FUNCTION parserSchemaClear RETURNS LOGICAL ( ) IN parserHandle .
parserWriteNode
FUNCTION parserWriteNode RETURNS LOGICAL ( theHandle AS INTEGER , filename AS CHARACTER ) IN parserHandle .
Top
|