ToCedarUsersDateDecember13,1983FromRussAtkinsonLocationPARCSubjectListerdocumentationOrganizationCSLXEROXListerDocumentationListerisaprogramtoproducehumanreadablefilesfrombcdfilesproducedbytheCompilerandBinder.Listerregistersavarietyofcommands,eachofwhichproducesadifferentsetofinformationfromagivenlistofbcdfiles.Eachcommandtakesalistoffilesasarguments.Thedefaultinputfileextensionisbcd.Theoutputfileextensionisderivedfromthecommandname,andisgivenwiththedescriptionofeachcommand.Therearenoswitchesoroptions.Eachlistingfilestartswithinformationaboutthebcdfilebeingexamined.Asanexample,forthecommand"bcdListLister"theoutputfileisLister.bcdList,whichstartswithLister.bcdListobject:Lister.bcd{4365c935458b}source:Lister.config{00008a129bc4(October24,19837:14pm)}creator:{0c0b0003000f}Theversionstampsareprintedinhexadecimal.Inthecaseofsourcefiles,theversionstampsarealsointerpretedascreatedates.Thecreatoristheversionstampofthecompilerorbinderthatproducedthebcdfile.AsaCedarcomponent,ListerisdescribedbyLister.df.ThetoolisnamedLister.bcd.Theregisteredcommandsarelistedbelow.BcdListerThiscommandsliststhecontentsofabcdfile,whichmaycontainmultiplemodules.TheextensionfortheproducedfileisbcdList.Theinformationproducedincludes:Configurations-forbcdfilesproducedbytheBinder,thisgroupgivesinformationabouttheconfigurationsinthebcdfile.Imports-liststhedefinitionsmodulesthatareimportedbythebcdfile.Exports-liststhedefinitionsmodulesthatareexportedbythebcdfile.Exportedvariables-liststhevariables(ifany)thatareexportedbythebcdfile.Modules-liststhemodulesthatarecontainedbythebcdfile.Anexamplelistingfollows:CodeListerImpl[14],file:CodeListerImpl[4],config:Lister[0]switches:bc-jlns,packageable,pî ìï_/qî1ï_/ pî(îï_/qî3Cï_/î9çî<$pî ìï[Sqî1ï[Sî�pî(îï[Sqî3Cï[Spî ìïWwqî1ïWwî pî(îïWw qî3CïWwrî ìïSAsî ìïJüîY qî ìïFî î¦îîÁî¡î+î#î(Åî+äî/|î2Zî5yî;Ëî=øî@ˆîFØî ìïD^îwîwîîî,îÇî ”î'æî+,î,ùî1î7î8Lî>î@7îB î ìïB¶î Sî}î1îoî(îÕî ìï@;î pîâîqî¬îûîÅîÄî!ƒ î)/î,î0Òî4Žî7î=8tî>µï@;î?eï@;qîB3ï@;îEî ìï>”î ]î‚îõîòî`îÇî%/î)Nî, î-€î1;î4]î6Ä î=Þî?žîBÖî ìï<ìî îîAîHî«îoî ìï:qî ‰îËî^îîa î#î' î)ªî,�î/î3 î:xî<³î>ÍîDÈîG/î ìï8ÊîMîèî„îäî!Vî#¿î%+î.-î2:î5Ïî ®ï6Ü îoï4îî îm îoï2ÿî8 î% î%”î+[î-˜î0Þî3íîoï1î… î ìï.–î Íî�î7î“îpî& î'öî)Îî,6î/-î0îî5Fî8”î:üî?ÌîDfîFÂî ìï,ï îîÙîòîƒîrî#$î$¦î'î+úî0î1íî4cî:4î<î@ŠîCoî ìï+Gî Kîùî ìï(Ìî î Cîi îøîñîkî$¤î&® î-*î0î2ëî4eî8ú î@^îCD î ìï'%îÑî%îÏuî ìï!Zqî ìï î îäî£îÿîjî î!Fî#ïî&­î*·î-¸î2“î8 î>bîA7îGRî ìïdî KîlîÕtîAïdîñïdqî‡ïdîçïdî¿ î&Iî,itî ®ïv qî±ïvî†ïvîíîÄî Üî'&î)Kî+Ôî0Ýî3¨î7Ôî;p îC$îG/îÐïÎ îÇîuîÔî �tî ®ïàqîAïàîÂïàî„îä î³î%7î(î*Yî0Lî2Gî4§î7Ttî ®ïòqîJïòîÌïòîŽîí î¼î%@î(î*bî0î2î4yî7&tî ®ïîŒqî«ïî-ïîïîNî% î&ãî)ýî,Ëî/î4Ûî6Öî96î;ãtî ®ïqîªïî,ïîîîNîÒî! î#ôî*?î,;î.šî1Gî4Œî6àîSpaces-BodyListerThiscommandsliststhebodiesofasinglemodulebcdfile.TheextensionfortheproducedfileisbodyList.Eachbodylistingentrygivesthenameoftheprocedure(ifany),theentrypoint(forprocedures),theframeaddress(fornestedprocedures),thecontextindex,andthenestinglevelofthebody.AnexampleofthefirstfewentriesinCodeListerImpl.bodyListis:Body:CodeListerImpl,ep:0,attrs:--ncontext:20,level:2Body:DigestFGT,ep:1,attrs:x--context:34,level:2Body:AddMyEntry,ep:6,frameaddr:10,attrs:x--context:0,level:3Body:(anon)context:56,level:3Body:(anon)context:58,level:3Body:AddBodyFGT,ep:4,frameaddr:26,attrs:x-ncontext:60,level:3CodeListerThiscommandsliststhecodeofasinglemodulebcdfile.TheextensionfortheproducedfileiscodeList.Theoutputshowssourcestatements(providedthattheappropriatesourceisavailable),followedbythecodeproducedbythosesourcestatements.AnexampleprocedurefromCodeListerImplis:wî£ïfå î(¢ xîHDïfåvîÐï_, îgî¤î/î¼î! î"šî&dîÐï]„î�î îîBî"†î%&î)jî,�î1Bî6xî9DîÐï[Üî– î î$vî&³î*÷îÐïZ4îûî8yîïX� îè î"@ î'— î-| î3a î8¹ î>� îD‚ îïVå î[ î!³ î' î,b î1º î7 î vîÐïS–î>îËîîœyîïQîîmîIî²î vîÐïPFîÆîPîÐïNŸîXîîLî�îyîïL÷îúîðîæî"Ýî%Óî(Éî+Àî.¶î1¬î4£î7™î:�î=†î@|îCrîFiîïKPîúîðîæî"Ýî%Óî(Éî+Àî.¶î1¬î4£î7™î:�î=†î@|îCrtî ®ïG¹qîxïG¹îúïG¹î¼îî î:î �î%Hî*Tî-"î/uî5‰î77î:ëî=Kî?øtî ®ïEËîôqîzïEËîüïEËî"îk tî ®ïCÝqî­ïCÝî/ïCÝîUîž uî ìï>Ÿ qî ìï;Pî /î=î(î°î3î î!hî%|î*¥î-{î1î4î:Zî<Àî?HîE‘îH#tî ìï9¨qîíï9¨îáï9¨î�îeîÆî £î$_î'î+î-î/½î6‰î8­îîÖ îwîáînî!÷îÐï+–îî[îî¿ï(GîÖ î¡î î˜î#Žî'Dî)�î- îÐï&Ÿîî«îjî¿ï#OîÖîÐï!§îî[îî¿ïWîÖîÐï¯îî[îî¿ï_îÖ î\îÆî Sî$Iî'ÿî*<î-ÅîÐï·îî[îuî ìïÀ qî ìïpî îî»îeî¬îÛî|îŽî"aî'Hî)Ýî,òî/²î5¹î7Þî:%î@-îB~tîCÒïpîDmïpqîH³ïpî ìï Éî Çî;îJîœ î Yî&¦î)wî+Ù î3;î7�î8û î?ŠîE1îG/î ìï "î 3îSîOîîî= î$Óî'&î,Ÿî3"î6‰ î@rÿ‡TVm$¿Inter-OfficeMemorandum3GetByte:PROC[pc:CARDINAL]RETURNS[BYTE]={Entrypoint:14,Framesize:111657B,E3536B:[167B]LINKB12B1660B,E3540B:[34B]PL1w:LONGPOINTERTOPrincOps.InstWord=codebase+pc/2;1660B,O3541B:[65B]LIN11661B,E3542B:[263B]SHIFT1661B,O3543B:[56B]LI01662B,E3544B:[10B]LL01662B,O3545B:[114B]RDB21B1663B,O3547B:[264B]DADD1664B,E3550B:[162B]SLDB6BRETURN[IFpcMOD2=0THENw.evenbyteELSEw.oddbyte];};1665B,E3552B:[11B]LL11665B,O3553B:[57B]LI11666B,E3554B:[260B]AND1666B,O3555B:[245B]JZNEB10B(3565B)1667B,O3557B:[21B]LLDB6B1670B,O3561B:[56B]LI01671B,E3562B:[153B]RSTRL0B1672B,E3564B:[204B]J6(3572B)1672B,O3565B:[21B]LLDB6B1673B,O3567B:[56B]LI01674B,E3570B:[153B]RSTRL1B1675B,E3572B:[343B]RETInstructions:21,Bytes:30ExportsListerThiscommandsliststheexportsofabcdfile,whichmaycontainmultiplemodules.TheextensionfortheproducedfileisexportsList.FGTListerThiscommandsliststhefinegraintableofasinglemodulebcdfile.TheextensionfortheproducedfileisfgtList.GlobalFramesListerThiscommandsliststheglobalframesofabcdfile,whichmaycontainmultiplemodules.TheextensionfortheproducedfileisglobalFramesList.RTBcdListerThiscommandsliststheruntimetypesinformationforabcdfile,whichmaycontainmultiplemodules.TheextensionfortheproducedfileisrtBcdList.ShortBcdListerwî£ïfå î(¢ xîHDïfåuî¿ï^–vî¨ï^–pî¦ï^–îNï^–vîMï^–pîï^–îÛï^–vî!Gï^–pî".ï^–î#ï^–vî(:ï^–pî(�ï^–î)Vï^–vî+œï^–î,ƒï^–î.hîÐï\îî¦î¾îî iî$îÐï[Fî=îÄï[Fî&„ï[Fî.Eï[FîÐïY�î=îÄïY�î&„ïY�î¿ïWõpîºïWõîsïWõî«ïWõîLïWõvîeïWõî(`î*Eî0"î2îÐïVMîiîÄïVMî&„ïVMîÐïT¥î=îÄïT¥î&„ïT¥îÐïRýîiîÄïRýî&„ïRýîÐïQUî=îÄïQUî&„ïQUîÐïO­îiîÄïO­î&„ïO­î.EïO­îÐïNîiîÄïNî&„ïNîÐïL\î=îÄïL\î&„ïL\î.EïL\pî¿ïJ´vî+ïJ´pîŽïJ´îøïJ´vî6ïJ´pîïJ´î-ïJ´vîtïJ´î¨î�pîÂïJ´î {ïJ´vî#‡ïJ´ pî*®ïJ´î+hïJ´vî-ýïJ´ î¿ïI îÐïGdî=îÄïGdî&„ïGdîÐïE¼îiîÄïE¼î&„ïE¼îÐïDî=îÄïDî&„ïDîÐïBkîiîÄïBkî&„ïBkî.EïBkî1îÐï@ÃîiîÄï@Ãî&„ï@Ãî.Eï@ÃîÐï?îiîÄï?î&„ï?îÐï=sî=îÄï=sî&„ï=sî.Eï=sîÐï;Ëî=îÄï;Ëî&„ï;Ëî1ãï;ËîÐï:#îiîÄï:#î&„ï:#î.Eï:#îÐï8{îiîÄï8{î&„ï8{îÐï6Òî=îÄï6Òî&„ï6Òî.Eï6ÒîÐï5*î=îÄï5*î&„ï5*î¿ï3‚ î¹îöî$uî ìï-· qî ìï*gî î÷î¾î#îüî»î êî#�î&dî*xî-�î2fî7åî>PîA.îGRî ìï(¿î KîlîÕtîAï(¿îÜï(¿ qîÇï(¿î'ï(¿î#Rî%Çî( uî ìï%pqî ìï" î îîæîXî7îÒî#Mî%î&Uî*Sî/fî2&î5‘î8{î>¬î@üîCoî ìï yî Utî Áï yî0ï yqî›ï yîûï yî'îœîå uî ìï)qî ìïÙî ôîÈîxîÆî×î!@î"çî#ÿî&šî)Jî-Fî08î5î:nî@ªîCpî ìï2î )î‰î©îtî~ï2î.ï2qî"—ï2î#÷ï2î)"î+—î-à uî ìïâ qî ìï’î îîî±îîJî!ß î)jî+©î,Óî/‚î2Dî6Sî9Xî>8îC³î ìïëî Äîâî îîŸî tî!tïëî!ùïëqî&òïëî(Rïëî-~î/óî2; uî ìï › 1TVm$Inter-OfficeMemorandum4Thiscommandsliststhecontentsofabcdfile,whichmaycontainmultiplemodules.TheextensionfortheproducedfileisbcdList.ThelistinghasslightlylessinformationthanthatproducedbyBcdLister.SymbolListerThiscommandsliststhebodiesofasinglemodulebcdfile.TheextensionfortheproducedfileissymbolList.UnboundListerThiscommandsliststheunboundexportsforabcdfile,whichmaycontainmultiplemodules.Theoutputgoestothecommandoutputstream,ratherthantoafile.Thiscommandisusefultodetermineifthereareexportedfileswithsomeoftheirentriesunbound.UsingListerThiscommandgeneratesaDIRECTORYclauseforasinglemodulebcdfile.TheextensionfortheproducedfileisusingList.Theresultsmaynotbeentirelycorrect,yetshouldbequiteclose(unfortunately,theinformationinthebcdfilemaybeambiguous).TheintentionisforpeopletodevelopmoduleswithoutusingUSINGclauses,thentousethiscommandtogeneratethoseclauses.WherethereareextranamesormissingnamesintheclausesthecompilerwillgeneratesufficientmessagestoallowrepairoftheUSINGclausesin(typically)asinglepass.wî£ïfå î(¢ xîHDïfåqî ìï_/î îäî£îÿîjî î!Fî#ïî&­î*·î-¸î2“î8 î>bîA7îGRî ìï]ˆî KîlîÕtîAï]ˆîñï]ˆqî‡ï]ˆîçï]ˆî¿î"×î%Lî*î,ª î44î7Zî:(î@HîBD uî ìïZ9 qî ìïVêî /î=î(î°î3î î!hî%|î*¥î-{î1î4î:Zî<Àî?HîE‘îH#tî ìïUC qî:ïUCîšïUCîÆî;î„ uî ìïQô qî ìïN¦î +î5îî î®î$¦î'î(Wî+)î.î2Bî5kî:oî@ îF·î ìïLþî]îvî#î�îáî Rî%î)&î,Kî-ùî/!î2dî5}î;Ýî=HîA_îC î ìïKWî MîÖî)îåîÓîîî �î":î%�î)ñuî ìïH qî ìïDºî @îÛîpî€ïDºîfïDºqî##ïDºî'uî)ìî+Pî/uî4¯î7–î;Nî>`îD¸îG/î ìïCîåî'tîlïCî)ïCqîÊïCîÜïCî�î µî#’î%àî'ªî,‚î1Fî3gî7¼î9†î<éî@)î ìïAkî k îîâîaî.î·î Úî"ê î+zî.rî4nî5ùî8Vî<ñî>¿îD î ìï?Äîípî�ï?Äîrï?ÄqîÌï?Äî¶îÒî vî"àî%wî+Îî-rî2ëî6€î;äî@TîCÓîFî ìï>î8îîîLîîjî"î$wî*:î,îî2z î8€î>dî@îCÌîGÖî ìï