00001 /** todo
00002
00003 <h3>Latest</h3>
00004
00005 Consider release 4 changes. Adding an abstract state to the icons
00006 doubles the current number from 16 to 32. Javascript to run an
00007 overlay?
00008
00009 <br/><br/>
00010
00011 ::REquires search set up at document level and full tree reported for
00012 each file
00013
00014 <br/><br/>
00015
00016 callableexpand needs to be called from PROCs and ROUTs
00017 <br/>
00018 Done
00019 <br/><br/>
00020
00021 labels could be converted to procedures at the document level when
00022 a call to them is detected. Or at the rexxprogram level, since such
00023 references are necessarily local? rexxprogram doesn't parse clauses
00024 at the moment, lacking global knowledge of the name space.
00025
00026 <br/><br/>
00027
00028 Attributes and methods need an exposed-by cross refererence.
00029
00030 <br/><br/>
00031
00032 badly documented parameter reporting needs to be taken out of
00033 callableexpand and completed before HTML output starts
00034
00035 <br/><br/>
00036 requires space to be determined at the document level with comprehensive
00037 search. Emitter to report complete requires space for each file.
00038
00039
00040 <br/><br/>
00041 class cross referencing in parameters
00042 <br/>
00043 done
00044 <br/>
00045
00046 and block comments
00047 needs to be taken out of htmlrexxclass. rdfeatures should
00048 have a block comment and comment parameters parsed and prepared
00049 before html output starts
00050 <br/>
00051 each line in the comment/parms will need to be a list of
00052 chunks, some of which have references attached
00053 before html output starts
00054 <br/>
00055 cf tokenized approach to references. Needs an rdcomment
00056
00057 <br/><br/>
00058 Source cross referencing
00059 <br/>
00060 done - makes emitter much leaner
00061 <br/>
00062
00063 and tagging *could* be pushed back into the parser, but really only
00064 the emitter knows what to tag, given whatever output format is use,
00065 so leave this as a job for the emitter. Emitter can get away with one
00066 pass of the token list to colour key words and symbols
00067
00068 <br/><br/>
00069 Decompose documents.clsinto adocument + textdocument + rexx document
00070 + files/folders + rexxdocument classifications (rd*). That leads to
00071 two large files (rexxdocument and classifications) and three tiny
00072 files.
00073
00074 <br/><br/>
00075
00076 Document needs further abstraction: srcurl docurl docurlpre need to
00077 be built by the emitter. A rexx program needs a source URL, and
00078 document URL for HTML output.
00079 HTML emitter to attach methods to documents to access the required
00080 identifiers. The document elements (rdclause) have an abstract
00081 'isReferenced' attribute set in the xref, the emitter uses this to
00082 decide whether or not to assign url(s) to the document elements
00083 <br/>
00084 Done in rexxliterate.cls
00085 <br/>
00086
00087 <br/>
00088 These should be set in the document by an early pass of emitter, and
00089 rdfeature needs a getanchor() method that refers back to its document
00090 to whomp up that anchorname.
00091 <br/>
00092 Done in rexxliterate.cls
00093 <br/>
00094
00095 <br/><br/>
00096
00097 Split into 3 phases: ::init builds the file list, ::parse does the
00098 parsing and ::emit does the emission. The user can traverse the file
00099 tree setting processing (such as dynamic indexing, from and to)
00100 before the parse gets done, permitting fine grained control.
00101 <br/>
00102
00103 cf. fsobject.cls::blob docs, which aren't much use.
00104
00105 <br/>
00106
00107 Method public interface on rexxdocument to support this? It's already
00108 huge. A configuration object would be better.
00109 file~document~getconfiguration~setdynto(.true)
00110
00111 <br/>
00112 Done in rexxliterate.cls
00113 <br/>
00114
00115
00116 <br/><br/>
00117
00118 rdclass assembly of inherited features needs to be taken
00119 out of htmlrexxclass and completed before html output
00120 starts, as lists of rdmethod
00121
00122 <br/><br/>
00123
00124 htmlrexxclass htmlrexxsource htmlrexxprogram htmltext to
00125 be merged to htmloutput in one file (class methods) or
00126 become part of their respective documents
00127
00128
00129 <br/><br/>
00130
00131 references to class methods from class methods are not
00132 detected dynamically. Dynamic detection needs a test set of
00133 classes to explore what happens,
00134 <br/><br/>
00135
00136 A method reference followed by a parameter list cannot be
00137 an attribute reference (so attributes can be excluded from
00138 dynamic cross reference). There must be more rules like
00139 this, need to bring everything to bear so we're less likely
00140 to hit false positives. Ordering the search correctly in ::REQUIRES
00141 space will make the list more useful.
00142 <br/>
00143
00144 The confusing case is multiple attributes or methods with the same
00145 name, sent messages but not in this class. How to exclude names from
00146 the global list of methods and attributes?
00147
00148 <br/>
00149 In reality, it doesn't seem to be so bad a problem, but it's annoying
00150 for some names. More class and object classification when searching
00151 would be good. "This is a CLASS message to receiver self", "This is a
00152 an OBJECT message to receiver self", etc.
00153 <br/>
00154
00155
00156 <br/><br/>
00157
00158 */
00159