From: SMTP%"chris@ccastat.demon.co.uk" 23-MAY-1996 12:35:06.62 To: everhart@star.zko.dec.com, ARNE@ko.hhs.dk, canellis@apache.brooks.af.mil, SCANDORA@cmt.anl.gov CC: Subj: SDLIFDL.8-OF-8 -+-+-+-+-+-+-+-+ START OF PART 8 -+-+-+-+-+-+-+-+ X`09WRITELN(outf); X`09END; X X`20`20`20`20PROCEDURE`20do_cond(`20VAR`20shr:`20sdl$_shr_data; X`09`09`09lvl:`20INTEGER; X`09`09`09ccode,`20langs:`20pnod`20); X`09BEGIN X`09WHILE`20(langs<>NIL)`20AND_THEN X`09`09(langs`5E.nod$b_type=nod$k_objnode)`20AND_THEN X`09`09(langs`5E.nod$t_name<>lang_name)`20DO X`09`20`20`20`20langs`20:=`20langs`5E.nod$a_flink; X`09IF`20(langs<>NIL)`20AND_THEN`20(langs`5E.nod$b_type=nod$k_objnode)`20THEN X`09`20`20`20`20outputnode(shr,`20ccode`5E.nod$a_flink,`20ccode,`20lvl); X`09END; X X`20`20`20`20PROCEDURE`20do_log(this:`20pnod;`20s:`20VARYING`20`5Bu`5D`20OF`20C VHAR`20); X`09BEGIN X`09WRITELN(outf,`20'`7B`20',`20nodtypname(this`5E.nod$b_type),`20'`20node`20', V X`09`09this`5E.nod$t_name,`20'`20',`20s,`20'`7D'); X`09END; X X`20`20`20`20PROCEDURE`20do_unsup(this:`20pnod;`20s:`20`5BTRUNCATE`5D`20VARYING V`20`5Bu`5D`20OF`20CHAR); X`09BEGIN X`09WRITE(outf,`20'`7B`20*Unsupported*`20',`20nodtypname(this`5E.nod$b_type), V`20'`20node`20', X`09`09this`5E.nod$t_name); X`09IF`20PRESENT(s)`20THEN`20WRITE(outf,`20'`20(',`20s,`20')'); X`09WRITELN(outf,`20'`20`7D'); X`09END; X X`20`20`20`20PROCEDURE`20do_item(`20VAR`20shr:`20sdl$_shr_data;`20this:`20pnod; V`20lvl:`20INTEGER); X`09VAR X`09`20`20`20`20p,`20pe:`20pnod; X`09FUNCTION`20indent(`20lvl:`20INTEGER`20):`20vs; X`09`20`20`20`20BEGIN X`09`20`20`20`20indent`20:=`20PAD('',`20CHR(9),`20(lvl-1)`20DIV`202)`20+ X`09`09`09PAD('',`20'`20',`204*((lvl-1)`20MOD`202)); X`09`20`20`20`20END; X X`09BEGIN X`09IF`20(this`5E.nod$w_datatype=typ$k_structure)`20THEN X`09`20`20`20`20BEGIN X!`09`20`20`20`20lib$signal(ss$_debug); X`09`20`20`20`20IF`20(lvl=1)`20THEN`20WRITE(outf1,`20'`7B`20'); X`09`20`20`20`20WRITE(outf1,`20indent(lvl),`20'Group`20',`20this`5E.nod$t_name) V; X`09`20`20`20`20IF`20this`5E.nod$v_dimen`20THEN`20WRITE(outf1,`20datatypqual(th Vis)); X`09`20`20`20`20do_comment(outf1,`20shr,`20this,`20(lvl=1)); X`09`20`20`20`20IF`20((this`5E.nod$w_datatype=typ$k_structure)`20OR_ELSE X`09`09`20`20`20`20`20(this`5E.nod$w_datatype=typ$k_union))`20THEN X`09`09BEGIN X`09`09pe`20:=`20this`5E.nod$a_child; X`09`09IF`20(pe=NIL)`20AND_THEN`20(lvl>1)`20AND_THEN X`09`09`09(this`5E.nod$a_typeinfo2<>NIL)`20AND_THEN X`09`09`09(this`5E.nod$a_typeinfo2::pnod`5E.nod$a_child<>NIL)`20THEN X`09`09`20`20`20`20pe`20:=`20this`5E.nod$a_typeinfo2::pnod`5E.nod$a_child; X`09`09IF`20(pe<>NIL)`20THEN X`09`09`20`20`20`20BEGIN X`09`09`20`20`20`20p`20:=`20pe`5E.nod$a_flink; X`09`09`20`20`20`20WHILE`20(p<>NIL)`20AND_THEN`20(p<>pe)`20DO X`09`09`09BEGIN X`09`09`09do_item(shr,`20p,`20lvl+1); X`09`09`09p`20:=`20p`5E.nod$a_flink; X`09`09`09END; X`09`09`20`20`20`20END; X`09`09END; X`09`20`20`20`20IF`20(lvl=1)`20THEN`20WRITE(outf1,`20'`7B`20'); X`09`20`20`20`20WRITE(outf1,`20indent(lvl),`20'End`20Group`20'); X`09`20`20`20`20IF`20(lvl<>1)`20THEN`20WRITE(outf1,`20'`7B`20'); X`09`20`20`20`20WRITELN(outf1,`20this`5E.nod$t_name,`20'`20`7D'); X`09`20`20`20`20END X`09ELSE`20IF`20(this`5E.nod$w_datatype=typ$k_union)`20THEN X`09`20`20`20`20BEGIN X`09`20`20`20`20WRITE(outf1,`20'`7B`20Union`20',`20this`5E.nod$t_name); X`09`20`20`20`20do_comment(outf1,`20shr,`20this,`20TRUE); X`09`20`20`20`20do_item(shr,`20this`5E.nod$a_child::pnod`5E.nod$a_flink,`20lvl) V; X`09`20`20`20`20END X`09ELSE`20IF`20this`5E.nod$v_dimen`20THEN X`09`20`20`20`20BEGIN X`09`20`20`20`20WRITE(outf1,`20indent(lvl),`20'Group`20',`20this`5E.nod$t_name, V`20'`20', X`09`09`09datatypqual(this)); X`09`20`20`20`20do_comment(outf1,`20shr,`20this); X`09`20`20`20`20WRITELN(outf1,`20indent(lvl+1),`20'subfield`20',`20datatypname( Vthis)); X`09`20`20`20`20WRITELN(outf1,`20indent(lvl),`20'End`20Group`20`7B`20',`20this V`5E.nod$t_name,`20'`20`7D'); X`09`20`20`20`20END X`09ELSE X`09`20`20`20`20BEGIN X`09`20`20`20`20WRITE(outf1,`20indent(lvl),`20this`5E.nod$t_name,`20'`20',`20da Vtatypname(this)); X`09`20`20`20`20do_comment(outf1,`20shr,`20this); X`09`20`20`20`20END; X`09END; X`20`20`20`20CONST X`09commentset`20=`20`5Bnod$k_commnode,`20nod$k_litnode`7B,`20nod$k_constnode V`7D`5D; X`09childset`20=`20commentset`20+ X`09`20`20`20`20`5Bnod$k_headnode,`20nod$k_rootnode,`20nod$k_modulnode`7B,`20no Vd$k_parmnode`7D`5D; X`20`20`20`20BEGIN X`20`20`20`20WHILE`20(this<>NIL)`20AND_THEN`20(this<>finish)`20DO X`09WITH`20shr,`20this`5E`20DO X`09`20`20`20`20BEGIN X`09`20`20`20`20CASE`20nod$b_type`20OF X`09`09nod$k_rootnode,`20nod$k_commnode,`20nod$k_headnode, X`09`09`20`20`20`20nod$k_modulnode:`20do_log(this,`20''); X`09`09nod$k_itemnode: X`09`09`20`20`20`20IF`20nod$v_declared`20THEN X`09`09`09do_unsup(this,`20'declared') X`09`09`20`20`20`20ELSE`20IF`20nod$v_forward`20THEN X`09`09`09do_unsup(this,`20'forward') X`09`09`20`20`20`20ELSE X`09`09`09BEGIN X`09`09`09IF`20(lvl=1)`20THEN X`09`09`09`20`20`20`20BEGIN X`09`09`09`20`20`20`20do_log(this,`20'see`20'+prefname+'-'+nod$t_name+'`20'); X`09`09`09`20`20`20`20open1(outf1,`20shr,`20'-'`20+`20nod$t_name, X`09`09`09`09`20`20`20`20(this`5E.nod$w_datatype=typ$k_structure)); X`09`09`09`20`20`20`20END; X`09`09`09do_item(shr,`20this,`20lvl); X`09`09`09IF`20(lvl=1)`20THEN X`09`09`09`20`20`20`20BEGIN X`09`09`09`20`20`20`20IF`20(this`5E.nod$w_datatype=typ$k_structure)`20THEN X`09`09`09`09WRITELN(outf1,`20'`7B###End_Module/0/SDL_Include:', X`09`09`09`09`09prefname,`20'-',`20nod$t_name,`20'###`7D'); X`09`09`09`20`20`20`20CLOSE(outf1); X`09`09`09`20`20`20`20END; X`09`09`09END; X`09`09nod$k_condnode:`20do_cond(shr,`20lvl,`20nod$a_child, X`09`09`09`09`09nod$a_typeinfo2::pnod`5E.nod$a_flink); X`09`09nod$k_litnode: X`09`09`20`20`20`20WRITE(outf,`20nod$a_typeinfo::pvs`5E); X`09`09OTHERWISE X`09`09`20`20`20`20do_unsup(this); X`09`09END; X`09`20`20`20`20IF`20(nod$b_type`20IN`20commentset)`20THEN X`09`09do_comment(outf,`20shr,`20this); X`09`20`20`20`20IF`20(nod$a_child<>NIL)`20AND_THEN`20(nod$b_type`20IN`20childse Vt)`20THEN X`09`09outputnode(shr,`20nod$a_child::pnod`5E.nod$a_flink, X`09`09`09`09`09nod$a_child,`20lvl`20+`201); X`09`20`20`20`20this`20:=`20nod$a_flink; X`09`20`20`20`20END; X X`20`20`20`20END; X X`5BGLOBAL`5D`20PROCEDURE`20sdl$output`20(`20out_file,`20def_filename:`20vs; X`09`09`09`09VAR`20shr:`20sdl$_shr_data`20); X`20`20`20`20VAR X`09sdl$_revcheck:`20`5BVALUE,EXTERNAL,READONLY`5D`20INTEGER; X`20`20`20`20BEGIN X`20`20`20`20WITH`20shr`20DO X`09IF`20(shrdata_version<>sdl$k_shrdata_rev)`20OR_ELSE X`09`09(node_version<>sdl$k_node_rev)`20THEN X`09`20`20`20`20lib$stop(sdl$_revcheck); X`20`20`20`20specname`20:=`20out_file; X`20`20`20`20prefname`20:=`20def_filename; X`20`20`20`20open1(outf,`20shr,`20'',`20FALSE); X`20`20`20`20WITH`20shr`20DO X`09outputnode(shr,`20tree_root::pnod`5E.nod$a_flink,`20tree_root,`200); X`20`20`20`20CLOSE(outf); X`20`20`20`20END; X XEND. $ call unpack SDLIFDL.PAS;3 2052135283 "" 22 6 6 $ v=f$verify(v) $ exit ================== RFC 822 Headers ================== Return-Path: chris@ccastat.demon.co.uk Received: by dimond.zko.dec.com (UCX V4.0-10B, OpenVMS V6.2 VAX); Thu, 23 May 1996 12:34:42 -0400 Received: from relay-4.mail.demon.net by mail11.digital.com (8.7.5/UNX 1.2/1.0/WV) id MAA05962; Thu, 23 May 1996 12:26:38 -0400 (EDT) Received: from post.demon.co.uk ([158.152.1.72]) by relay-4.mail.demon.net id aa20964; 23 May 96 15:33 GMT Received: from ccastat.demon.co.uk ([158.152.158.126]) by relay-3.mail.demon.net id aa20899; 23 May 96 16:06 +0100 Received: by ccastat.demon.co.uk (MX V4.1 VAX) id 17; Thu, 23 May 1996 16:05:47 GMT Sender: chris@ccastat.demon.co.uk Date: Thu, 23 May 1996 13:25:09 GMT From: chris@ccagroup.co.uk Reply-To: chris@ccastat.demon.co.uk To: everhart@star.zko.dec.com, ARNE@ko.hhs.dk, canellis@apache.brooks.af.mil, SCANDORA@cmt.anl.gov Message-ID: <009A2C33.BA4B6AE0.17@ccastat.demon.co.uk> Subject: SDLIFDL.8-OF-8