% % extract process monads from vb commented code % *tierdirs root\ % % cycle through the vb files with monads % "vb\*.vb" ofbin files % % stack: empty [ . . . next-file ] % { isnull ? % % stack: empty [ . . . ] next-file % % read next file to analyze, set section index to first % read 1 exch { % % stack: empty [ . . . next-file ] sect-idx content % dup "'(((" fourth 1 1 parse % % stack: empty [ . . . next-file ] sect-idx content section % isnull ? "')))" Str.Left dup "|" 0 3 1 parse *firstlne % % stack: empty [ . . . next-file ] sect-idx content section type name desc % !descr % % stack: empty [ . . . next-file ] sect-idx content section type name % second "Hub" eq$ { &"." } { "." within? { } { empty)( } ifelse } ifelse !name % % stack: empty [ . . . next-file ] sect-idx content section type % *procsect incr2nd } loop % % stack: empty [ . . . next-file ] sect-idx content section % pop3 } loop % % stack: empty % pop " SELECT * FROM Methods ORDER BY Verb; " *nethopen _D.Methods Data.Records? % % stack: records-exist % { _D.Methods Data.MoveFirst { _D.Methods Data.EOF ? *methdsub % % stack: name-to-add % __Verb "." "\" replall 0 make !\ "Basis" !naming __Name "Name" \! __Verb "Verb" \! __Type "Type" \! __Action "Body" \! __Description "Description" \! "." __Verb Str.Find? { "Classed" !naming } if _naming "Naming" \! __Type < |Mep __Action "Stack" \! "Form" "Object" \! |Exec "Script" "Object" \! > pop _D.Methods Data.MoveNext } loop } if *nethshut