|
|
1.1 ! root 1: %!PS-Adobe-2.0 ! 2: %%Creator: dvips 5.482 Copyright 1986-92 Radical Eye Software ! 3: %%Title: install.dvi ! 4: %%Pages: 12 -1 ! 5: %%BoundingBox: 0 0 612 792 ! 6: %%EndComments ! 7: %DVIPSCommandLine: dvips install.dvi ! 8: %%BeginProcSet: tex.pro ! 9: /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N} ! 10: B /TR{translate}N /isls false N /vsize 11 72 mul N /@rigin{isls{[0 -1 1 0 0 0] ! 11: concat}if 72 Resolution div 72 VResolution div neg scale isls{Resolution hsize ! 12: -72 div mul 0 TR}if Resolution VResolution vsize -72 div 1 add mul TR matrix ! 13: currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put ! 14: setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed ! 15: true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N ! 16: /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix ! 17: fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{ ! 18: CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn ! 19: put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 ! 20: 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data ! 21: dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ! 22: ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 ! 23: sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type ! 24: /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N ! 25: /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get ! 26: S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height ! 27: sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 ! 28: -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}imagemask restore}B /D{/cc X dup ! 29: type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ! 30: ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N} ! 31: B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin ! 32: 0 0 moveto}N /eop{SI restore showpage userdict /eop-hook known{eop-hook}if}N ! 33: /@start{userdict /start-hook known{start-hook}if /VResolution X /Resolution X ! 34: 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn ! 35: put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 ! 36: 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V ! 37: statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval ! 38: (Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale ! 39: rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ! 40: ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{moveto}B ! 41: /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} ! 42: B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B ! 43: /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 ! 44: w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{ ! 45: /SS save N}B /eos{SS restore}B end ! 46: %%EndProcSet ! 47: TeXDict begin 40258431 52099146 1000 300 300 @start /Fa 1 98 ! 48: df<00200000700000700000700000B80000B80000B800011C00011C00011C00020E00020E0004 ! 49: 070004070007FF000803800803800803801801C03803C0FE0FF815157F9419>97 ! 50: D E /Fb 2 122 df<07878008C84010F0C020F1E020E3C040E18000E00000E00001C00001C000 ! 51: 01C00001C000638080F38080F38100E5810084C60078780013127E9118>120 ! 52: D<1C00C02701C04701C04701C08703808703800E03800E03801C07001C07001C07001C0700180E ! 53: 00180E00180E001C1E000C3C0007DC00001C00001800603800F03000F06000E0C0004180003E00 ! 54: 00121A7E9114>I E /Fc 43 125 df<003C00000063003000C100700180807003808020030180 ! 55: 2007038040070300800E0001000E0002000E0004000EE01A000F1022000E1041000E1081001A20 ! 56: 808039C10080300160807000E0807000E080E0000100E0000100E0000100E0000200E000020060 ! 57: 0004007000080030001000180060000E03800001FC00001C1F7B9D20>38 ! 58: D<183C3C3C0404080810204080060C779C0D>I<183878380808101020404080050C7D830D>44 ! 59: D<FFC0FFC0FFC00A037D890F>I<3078F06005047C830D>I<00020006000C001C007C039C003800 ! 60: 3800380038007000700070007000E000E000E000E001C001C001C001C003800380038003800780 ! 61: FFF00F1C7C9B15>49 D<003E0000C1800101800200C00400C00440C00841C00841C00841C00883 ! 62: 80070380000700000E0001F800003800000C00000C00000E00000E00000E00000E00700E00E01C ! 63: 00801C0080380080300040600021C0001F0000121D7C9B15>51 D<00C06000FFC001FF8001FE00 ! 64: 010000010000020000020000020000020000047800058C00060600040600080600000700000700 ! 65: 000600000E00000E00700E00700C00E01C0080180080380040300040600021C0001F0000131D7C ! 66: 9B15>53 D<001E000061000081800180800300C00300C006018006018006018007030007860003 ! 67: CC0003F00001F000037800063C00081E00180E00300E00600600600600600600C00C00C00C00C0 ! 68: 180060100060200030C0000F0000121D7C9B15>56 D<003C0000C6000183000303000603000E03 ! 69: 000C03801C03801C03001C0300380700380700380700380F00380E00181E00181E000C6C00079C ! 70: 00001C00001800003800003000006000E0C000E0C0008180008600007C0000111D7B9B15>I<00 ! 71: 00180000001800000038000000380000007800000078000000B8000001B8000001380000023800 ! 72: 00023C0000041C0000041C0000081C0000181C0000101C0000201C0000201C00007FFC0000401C ! 73: 0000801C0001801C0001001C0002001C0002001C0004000E000C000E001C001E00FF00FFC01A1D ! 74: 7E9C1F>65 D<0003F020001E0C60003002E000E003C001C001C0038001C0070000C00E0000801E ! 75: 0000801C0000803C0000803C000000780000007800000078000000F0000000F0000000F0000000 ! 76: F0000000F0000400F0000400F0000400F0000800700008007000100038002000180040000C0180 ! 77: 000706000001F800001B1E7A9C1E>67 D<01FFFE00003C0780003801C0003801C0003800E00038 ! 78: 00E0007000F00070007000700070007000F000E000F000E000F000E000F000E000F001C001E001 ! 79: C001E001C001E001C001C0038003C003800380038007800380070007000E0007001C0007003800 ! 80: 070070000E01C000FFFF00001C1C7D9B1F>I<01FFFFE0003C00E0003800600038004000380040 ! 81: 003800400070004000700040007020400070200000E0400000E0400000E0C00000FFC00001C080 ! 82: 0001C0800001C0800001C080000381010003800100038002000380020007000400070004000700 ! 83: 0C00070018000E007800FFFFF0001B1C7D9B1C>I<0003F020001E0C60003002E000E003C001C0 ! 84: 01C0038001C0070000C00E0000801E0000801C0000803C0000803C000000780000007800000078 ! 85: 000000F0000000F0000000F001FFC0F0001E00F0001C00F0001C00F0001C00F0001C0070003800 ! 86: 7000380038003800180078000C0090000707100001F800001B1E7A9C20>71 ! 87: D<01FFC0003C0000380000380000380000380000700000700000700000700000E00000E00000E0 ! 88: 0000E00001C00001C00001C00001C0000380000380000380000380000700000700000700000700 ! 89: 000F0000FFE000121C7E9B10>73 D<01FFE0003C00003800003800003800003800007000007000 ! 90: 00700000700000E00000E00000E00000E00001C00001C00001C00001C000038008038008038008 ! 91: 0380100700100700300700600700E00E03C0FFFFC0151C7D9B1A>76 D<01FC03FE001C0070003C ! 92: 0060002E0040002E0040002E004000470080004700800047008000438080008381000083810000 ! 93: 8181000081C1000101C2000101C2000100E2000100E2000200E400020074000200740002007400 ! 94: 0400380004003800040038000C0018001C001000FF8010001F1C7D9B1F>78 ! 95: D<01FFFC00003C070000380380003801C0003801C0003801C0007003C0007003C0007003C00070 ! 96: 038000E0078000E0070000E00E0000E0380001FFE00001C0000001C0000001C000000380000003 ! 97: 8000000380000003800000070000000700000007000000070000000F000000FFE000001A1C7D9B ! 98: 1C>80 D<000F8400304C00403C0080180100180300180300180600100600100600000700000700 ! 99: 0003E00003FC0001FF00007F800007C00001C00001C00000C00000C02000C02000C06001806001 ! 100: 80600300600200F00400CC180083E000161E7D9C17>83 D<01FF81FE001E00F0001C0060001E00 ! 101: 80000E0180000E0100000F02000007040000070800000790000003A0000003C0000001C0000001 ! 102: C0000001E0000002E0000004E0000008F0000010700000207000006038000040380000803C0001 ! 103: 001C0002001C0006001E001E001E00FF80FFC01F1C7E9B1F>88 D<03CC063C0C3C181C38383038 ! 104: 70387038E070E070E070E070E0E2C0E2C0E261E462643C380F127B9115>97 ! 105: D<01F007080C08181C3838300070007000E000E000E000E000E000E008E010602030C01F000E12 ! 106: 7B9113>99 D<001F80000380000380000700000700000700000700000E00000E00000E00000E00 ! 107: 03DC00063C000C3C00181C00383800303800703800703800E07000E07000E07000E07000E0E200 ! 108: C0E200C0E20061E4006264003C3800111D7B9C15>I<01E007100C1018083810701070607F80E0 ! 109: 00E000E000E000E000E0086010602030C01F000D127B9113>I<0003C0000670000C70001C6000 ! 110: 1C00001C0000380000380000380000380000380003FF8000700000700000700000700000700000 ! 111: E00000E00000E00000E00000E00001C00001C00001C00001C00001C00003800003800003800003 ! 112: 0000030000070000C60000E60000CC00007800001425819C0D>I<00F3018F030F06070E0E0C0E ! 113: 1C0E1C0E381C381C381C381C383830383038187818F00F700070007000E000E0C0C0E1C0C3007E ! 114: 00101A7D9113>I<0FC00001C00001C00003800003800003800003800007000007000007000007 ! 115: 00000E78000E8C000F0E000E0E001C0E001C0E001C0E001C0E00381C00381C00381C0038380070 ! 116: 3880703880707080707100E03200601C00111D7D9C15>I<018003800100000000000000000000 ! 117: 00000000001C002600470047008E008E000E001C001C001C003800380071007100710072007200 ! 118: 3C00091C7C9B0D>I<1F800380038007000700070007000E000E000E000E001C001C001C001C00 ! 119: 38003800380038007000700070007000E400E400E400E40068003800091D7C9C0B>108 ! 120: D<3C1E0780266318C04683A0E04703C0E08E0380E08E0380E00E0380E00E0380E01C0701C01C07 ! 121: 01C01C0701C01C070380380E0388380E0388380E0708380E0710701C0320300C01C01D127C9122 ! 122: >I<3C3C002646004687004707008E07008E07000E07000E07001C0E001C0E001C0E001C1C0038 ! 123: 1C40381C40383840383880701900300E0012127C9117>I<01E007180C0C180C380C300E700E70 ! 124: 0EE01CE01CE01CE018E038E030E06060C031801E000F127B9115>I<07870004D98008E0C008E0 ! 125: C011C0E011C0E001C0E001C0E00381C00381C00381C00381800703800703000707000706000E8C ! 126: 000E70000E00000E00001C00001C00001C00001C00003C0000FF8000131A7F9115>I<3C3C26C2 ! 127: 468747078E068E000E000E001C001C001C001C0038003800380038007000300010127C9112> ! 128: 114 D<01F006080C080C1C18181C001F001FC00FF007F0007800386030E030C030806060C01F00 ! 129: 0E127D9111>I<00C001C001C001C00380038003800380FFE00700070007000E000E000E000E00 ! 130: 1C001C001C001C00384038403840388019000E000B1A7D990E>I<1E0300270700470700470700 ! 131: 870E00870E000E0E000E0E001C1C001C1C001C1C001C1C003838803838801838801839001C5900 ! 132: 078E0011127C9116>I<1E01832703874703874703838707018707010E07010E07011C0E021C0E ! 133: 021C0E021C0E04180C04181C04181C081C1C100C263007C3C018127C911C>119 ! 134: D<070E0019910010E38020E38041C30041C00001C00001C0000380000380000380000380000702 ! 135: 00670200E70400CB04008B080070F00011127D9113>I<1E03270747074707870E870E0E0E0E0E ! 136: 1C1C1C1C1C1C1C1C38383838183818381C7007F00070007000E0E0C0E1C0818047003C00101A7C ! 137: 9114>I<FFFFC012017C8B15>123 D<FFFFFFFFF825017B8B2A>I E /Fd ! 138: 79 124 df<007E1F0001C1B1800303E3C00703C3C00E03C1800E01C0000E01C0000E01C0000E01 ! 139: C0000E01C0000E01C000FFFFFC000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E ! 140: 01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C000 ! 141: 7F87FC001A1D809C18>11 D<007E0001C1800301800703C00E03C00E01800E00000E00000E0000 ! 142: 0E00000E0000FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0 ! 143: 0E01C00E01C00E01C00E01C00E01C00E01C07F87F8151D809C17>I<007FC001C1C00303C00703 ! 144: C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFFFC00E01C00E01C00E01C00E01C00E01 ! 145: C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07FCFF8151D ! 146: 809C17>I<6060F0F0F8F86868080808080808101010102020404080800D0C7F9C15>34 ! 147: D<00E0000001900000030800000308000007080000070800000708000007080000071000000710 ! 148: 0000072000000740000003C03FE003800F00038006000380040005C0040009C0080010E0100030 ! 149: E010006070200060702000E0384000E03C4000E01C8000E00F0020E0070020700780403009C040 ! 150: 1830E18007C03E001B1F7E9D20>38 D<60F0F8680808081010204080050C7C9C0C>I<00400080 ! 151: 0100020006000C000C0018001800300030007000600060006000E000E000E000E000E000E000E0 ! 152: 00E000E000E000E000E000600060006000700030003000180018000C000C000600020001000080 ! 153: 00400A2A7D9E10>I<800040002000100018000C000C0006000600030003000380018001800180 ! 154: 01C001C001C001C001C001C001C001C001C001C001C001C0018001800180038003000300060006 ! 155: 000C000C00180010002000400080000A2A7E9E10>I<60F0F0701010101020204080040C7C830C> ! 156: 44 D<FFE0FFE00B0280890E>I<60F0F06004047C830C>I<00010003000600060006000C000C00 ! 157: 0C0018001800180030003000300060006000C000C000C001800180018003000300030006000600 ! 158: 0C000C000C00180018001800300030003000600060006000C000C00010297E9E15>I<03C00C30 ! 159: 1818300C300C700E60066006E007E007E007E007E007E007E007E007E007E007E007E007E00760 ! 160: 066006700E300C300C18180C3007E0101D7E9B15>I<030007003F00C700070007000700070007 ! 161: 00070007000700070007000700070007000700070007000700070007000700070007000F80FFF8 ! 162: 0D1C7C9B15>I<07C01830201C400C400EF00FF80FF807F8077007000F000E000E001C001C0038 ! 163: 0070006000C00180030006010C01180110023FFE7FFEFFFE101C7E9B15>I<07E01830201C201C ! 164: 781E780E781E381E001C001C00180030006007E00030001C001C000E000F000F700FF80FF80FF8 ! 165: 0FF00E401C201C183007E0101D7E9B15>I<000C00000C00001C00003C00003C00005C0000DC00 ! 166: 009C00011C00031C00021C00041C000C1C00081C00101C00301C00201C00401C00C01C00FFFFC0 ! 167: 001C00001C00001C00001C00001C00001C00001C0001FFC0121C7F9B15>I<300C3FF83FF03FC0 ! 168: 20002000200020002000200023E024302818301C200E000E000F000F000F600FF00FF00FF00F80 ! 169: 0E401E401C2038187007C0101D7E9B15>I<00F0030C06040C0E181E301E300C700070006000E3 ! 170: E0E430E818F00CF00EE006E007E007E007E007E007600760077006300E300C18180C3003E0101D ! 171: 7E9B15>I<4000007FFF807FFF007FFF0040020080040080040080080000100000100000200000 ! 172: 600000400000C00000C00001C00001800001800003800003800003800003800007800007800007 ! 173: 8000078000078000078000030000111D7E9B15>I<03E00C301008200C20066006600660067006 ! 174: 780C3E083FB01FE007F007F818FC307E601E600FC007C003C003C003C00360026004300C1C1007 ! 175: E0101D7E9B15>I<03C00C301818300C700C600EE006E006E007E007E007E007E0076007700F30 ! 176: 0F18170C2707C700060006000E300C780C78187010203030C00F80101D7E9B15>I<60F0F06000 ! 177: 00000000000000000060F0F06004127C910C>I<60F0F0600000000000000000000060F0F07010 ! 178: 10101020204080041A7C910C>I<000600000006000000060000000F0000000F0000000F000000 ! 179: 17800000178000001780000023C0000023C0000023C0000041E0000041E0000041E0000080F000 ! 180: 0080F0000180F8000100780001FFF80003007C0002003C0002003C0006003E0004001E0004001E ! 181: 000C001F001E001F00FF80FFF01C1D7F9C1F>65 D<FFFFC00F00F00F00380F003C0F001C0F001E ! 182: 0F001E0F001E0F001E0F001C0F003C0F00780F01F00FFFE00F00780F003C0F001E0F000E0F000F ! 183: 0F000F0F000F0F000F0F000F0F001E0F001E0F003C0F0078FFFFE0181C7E9B1D>I<001F808000 ! 184: E0618001801980070007800E0003801C0003801C00018038000180780000807800008070000080 ! 185: F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000070000080780000 ! 186: 8078000080380000801C0001001C0001000E000200070004000180080000E03000001FC000191E ! 187: 7E9C1E>I<FFFFC0000F00F0000F003C000F000E000F0007000F0007000F0003800F0003C00F00 ! 188: 01C00F0001C00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F ! 189: 0001C00F0001C00F0003C00F0003800F0007800F0007000F000E000F001C000F007000FFFFC000 ! 190: 1B1C7E9B20>I<FFFFFC0F003C0F000C0F00040F00040F00060F00020F00020F02020F02000F02 ! 191: 000F02000F06000FFE000F06000F02000F02000F02000F02010F00010F00020F00020F00020F00 ! 192: 060F00060F000C0F003CFFFFFC181C7E9B1C>I<FFFFF80F00780F00180F00080F00080F000C0F ! 193: 00040F00040F02040F02000F02000F02000F06000FFE000F06000F02000F02000F02000F02000F ! 194: 00000F00000F00000F00000F00000F00000F00000F8000FFF800161C7E9B1B>I<001F808000E0 ! 195: 618001801980070007800E0003801C0003801C00018038000180780000807800008070000080F0 ! 196: 000000F0000000F0000000F0000000F0000000F0000000F000FFF0F0000F807000078078000780 ! 197: 78000780380007801C0007801C0007800E00078007000B800180118000E06080001F80001C1E7E ! 198: 9C21>I<FFF3FFC00F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C ! 199: 000F003C000F003C000F003C000F003C000FFFFC000F003C000F003C000F003C000F003C000F00 ! 200: 3C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C00FFF3FFC01A ! 201: 1C7E9B1F>I<FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F ! 202: 000F000F000F000F000F000F000F000F000F000F00FFF00C1C7F9B0F>I<1FFF00F80078007800 ! 203: 7800780078007800780078007800780078007800780078007800780078007800787078F878F878 ! 204: F878F0F040E021C01F00101D7F9B15>I<FFF8000F80000F00000F00000F00000F00000F00000F ! 205: 00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00080F00080F ! 206: 00080F00180F00180F00100F00300F00700F01F0FFFFF0151C7E9B1A>76 ! 207: D<FF8000FF800F8000F8000F8000F8000BC00178000BC00178000BC001780009E002780009E002 ! 208: 780008F004780008F004780008F0047800087808780008780878000878087800083C107800083C ! 209: 107800083C107800081E207800081E207800081E207800080F407800080F407800080780780008 ! 210: 07807800080780780008030078001C03007800FF8307FF80211C7E9B26>I<FF007FC00F800E00 ! 211: 0F8004000BC0040009E0040009E0040008F0040008F8040008780400083C0400083C0400081E04 ! 212: 00080F0400080F0400080784000807C4000803C4000801E4000801E4000800F40008007C000800 ! 213: 7C0008003C0008003C0008001C0008000C001C000C00FF8004001A1C7E9B1F>I<003F800000E0 ! 214: E0000380380007001C000E000E001C0007003C00078038000380780003C0780003C0700001C0F0 ! 215: 0001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C0780003C0 ! 216: 780003C0380003803C0007801C0007000E000E0007001C000380380000E0E000003F80001B1E7E ! 217: 9C20>I<FFFF800F00E00F00780F003C0F001C0F001E0F001E0F001E0F001E0F001E0F001C0F00 ! 218: 3C0F00780F00E00FFF800F00000F00000F00000F00000F00000F00000F00000F00000F00000F00 ! 219: 000F00000F0000FFF000171C7E9B1C>I<FFFF00000F01E0000F0078000F003C000F001C000F00 ! 220: 1E000F001E000F001E000F001E000F001C000F003C000F0078000F01E0000FFF00000F03C0000F ! 221: 00E0000F00F0000F0078000F0078000F0078000F0078000F0078000F0078000F0078100F007810 ! 222: 0F0038100F003C20FFF01C20000007C01C1D7E9B1F>82 D<07E0801C1980300580700380600180 ! 223: E00180E00080E00080E00080F00000F800007C00007FC0003FF8001FFE0007FF0000FF80000F80 ! 224: 0007C00003C00001C08001C08001C08001C0C00180C00180E00300D00200CC0C0083F800121E7E ! 225: 9C17>I<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020800F00 ! 226: 20000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F ! 227: 0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F800003FFFC001B ! 228: 1C7F9B1E>I<FFF07FC00F000E000F0004000F0004000F0004000F0004000F0004000F0004000F ! 229: 0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F000400 ! 230: 0F0004000F0004000F0004000F0004000700080007800800038010000180100000C020000070C0 ! 231: 00001F00001A1D7E9B1F>I<FFE00FF01F0003C00F0001800F0001000F80030007800200078002 ! 232: 0003C0040003C0040003C0040001E0080001E0080001F0080000F0100000F0100000F830000078 ! 233: 200000782000003C4000003C4000003C4000001E8000001E8000001F8000000F0000000F000000 ! 234: 06000000060000000600001C1D7F9B1F>I<FFE0FFE0FF1F001F003C1E001E00180F001F00100F ! 235: 001F00100F001F001007801F00200780278020078027802003C027804003C043C04003C043C040 ! 236: 03E043C04001E081E08001E081E08001E081E08000F100F10000F100F10000F100F100007900FA ! 237: 00007A007A00007A007A00003E007C00003C003C00003C003C00003C003C000018001800001800 ! 238: 18000018001800281D7F9B2B>I<7FF0FFC00FC03E000780180003C0180003E0100001E0200001 ! 239: F0600000F0400000788000007D8000003D0000001E0000001F0000000F0000000F8000000F8000 ! 240: 0013C0000023E0000021E0000041F00000C0F8000080780001007C0003003C0002001E0006001F ! 241: 001F003F80FFC0FFF01C1C7F9B1F>I<FFF007FC0F8001E00780008007C0018003C0010003E002 ! 242: 0001F0020000F0040000F8040000780800007C1800003C1000001E2000001F2000000F4000000F ! 243: C00000078000000780000007800000078000000780000007800000078000000780000007800000 ! 244: 07800000078000007FF8001E1C809B1F>I<7FFFF07C01F07001E06003C06003C0400780400F80 ! 245: 400F00401E00001E00003C00007C0000780000F00000F00001E00003E00003C010078010078010 ! 246: 0F00101F00301E00203C00203C00607800E0F803E0FFFFE0141C7E9B19>I<FEFEC0C0C0C0C0C0 ! 247: C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FEFE07297C9E0C> ! 248: I<08081010202040404040808080808080B0B0F8F8787830300D0C7A9C15>I<FEFE0606060606 ! 249: 0606060606060606060606060606060606060606060606060606060606060606FEFE0729809E0C ! 250: >I<0810204040808080B0F87830050C7D9C0C>96 D<1FC000307000783800781C00301C00001C ! 251: 00001C0001FC000F1C00381C00701C00601C00E01C40E01C40E01C40603C40304E801F87001212 ! 252: 7E9115>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C ! 253: 7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C00C01C ! 254: 01C01C01801E030019060010F800131D7F9C17>I<07E00C301878307870306000E000E000E000 ! 255: E000E000E00060007004300418080C3007C00E127E9112>I<003F000007000007000007000007 ! 256: 0000070000070000070000070000070000070003E7000C1700180F00300700700700600700E007 ! 257: 00E00700E00700E00700E00700E00700600700700700300700180F000C370007C7E0131D7E9C17 ! 258: >I<03E00C301818300C700E6006E006FFFEE000E000E000E00060007002300218040C1803E00F ! 259: 127F9112>I<00F8018C071E061E0E0C0E000E000E000E000E000E00FFE00E000E000E000E000E ! 260: 000E000E000E000E000E000E000E000E000E000E000E007FE00F1D809C0D>I<00038003C4C00C ! 261: 38C01C3880181800381C00381C00381C00381C001818001C38000C300013C00010000030000018 ! 262: 00001FF8001FFF001FFF803003806001C0C000C0C000C0C000C06001803003001C0E0007F80012 ! 263: 1C7F9215>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0000 ! 264: 1C7C001C87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C0380 ! 265: 1C03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C003C001800000000000000000000 ! 266: 0000000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00 ! 267: FF80091D7F9C0C>I<00C001E001E000C000000000000000000000000000000FE000E000E000E0 ! 268: 00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E060E0F0C0F1 ! 269: C061803E000B25839C0D>I<FC00001C00001C00001C00001C00001C00001C00001C00001C0000 ! 270: 1C00001C00001C3FC01C0F001C0C001C08001C10001C20001C40001CE0001DE0001E70001C7800 ! 271: 1C38001C3C001C1C001C0E001C0F001C0F80FF9FE0131D7F9C16>I<FC001C001C001C001C001C ! 272: 001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00 ! 273: 1C001C001C00FF80091D7F9C0C>I<FC7E07E0001C838838001D019018001E01E01C001C01C01C ! 274: 001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C0 ! 275: 1C001C01C01C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87 ! 276: 001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03 ! 277: 801C03801C0380FF9FF014127F9117>I<03F0000E1C00180600300300700380600180E001C0E0 ! 278: 01C0E001C0E001C0E001C0E001C06001807003803003001806000E1C0003F00012127F9115>I< ! 279: FC7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C01C0 ! 280: 1C01C01C01801E03001D06001CF8001C00001C00001C00001C00001C00001C00001C0000FF8000 ! 281: 131A7F9117>I<03C1000C3300180B00300F00700700700700E00700E00700E00700E00700E007 ! 282: 00E00700600700700700300F00180F000C370007C7000007000007000007000007000007000007 ! 283: 00000700003FE0131A7E9116>I<FCE01D301E781E781C301C001C001C001C001C001C001C001C ! 284: 001C001C001C001C00FFC00D127F9110>I<1F9030704030C010C010E010F8007F803FE00FF000 ! 285: F880388018C018C018E010D0608FC00D127F9110>I<04000400040004000C000C001C003C00FF ! 286: E01C001C001C001C001C001C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F99 ! 287: 10>I<FC1F801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380 ! 288: 1C03801C03801C07800C07800E1B8003E3F014127F9117>I<FF07E03C03801C01001C01000E02 ! 289: 000E020007040007040007040003880003880003D80001D00001D00000E00000E00000E0000040 ! 290: 0013127F9116>I<FF3FCFE03C0F03801C0701801C0701001C0B01000E0B82000E0B82000E1182 ! 291: 000711C4000711C4000720C40003A0E80003A0E80003C0680001C0700001C07000018030000080 ! 292: 20001B127F911E>I<7F8FF00F03800F030007020003840001C80001D80000F000007000007800 ! 293: 00F800009C00010E00020E000607000403801E07C0FF0FF81512809116>I<FF07E03C03801C01 ! 294: 001C01000E02000E020007040007040007040003880003880003D80001D00001D00000E00000E0 ! 295: 0000E000004000004000008000008000F08000F10000F300006600003C0000131A7F9116>I<7F ! 296: FC70386038407040F040E041C003C0038007000F040E041C043C0C380870087038FFF80E127F91 ! 297: 12>I<FFFFF01401808B15>I E /Fe 80 126 df<E038F078F078F078F078F078F078F078E038E0 ! 298: 3860300D0B7C9816>34 D<0387000387000387000387000387000387007FFFC0FFFFE0FFFFE007 ! 299: 0E00070E00070E000E1C000E1C000E1C000E1C00FFFFE0FFFFE07FFFC01C38001C38001C38001C ! 300: 38001C38001C380013197F9816>I<00C00001C00001C00001C00007F0001FFC003FFE007DCF00 ! 301: 71C780E1C380E1C780E1C780F1C30079C0003FC0001FF00007FC0001FE0001CF0001C70061C380 ! 302: F1C380F1C380E1C38071C70079DF003FFE001FF80007E00001C00001C00000C00011207E9C16> ! 303: I<03800007E0000FE0001E70001C70001C70001C70001C77E01CE7E01DE7E00FC7000F8E000F0E ! 304: 001E0E003F1C007F1C00739C00E3F800E1F800E0F1C0E0F1C071F9C07FFFC03F9F801E07001319 ! 305: 7F9816>38 D<30787C3C1C1C1C1C3878F0E040060D789816>I<00E001E0038007000E001C001C ! 306: 0038003800700070007000E000E000E000E000E000E000E000E000E00070007000700038003800 ! 307: 1C001C000E000700038001E000E00B217A9C16>I<C000E000700038001C000E000E0007000700 ! 308: 03800380038001C001C001C001C001C001C001C001C001C0038003800380070007000E000E001C ! 309: 0038007000E000C0000A217B9C16>I<01C00001C00001C00001C00071C700F9CF807FFF001FFC ! 310: 0007F00007F0001FFC007FFF00F9CF8071C70001C00001C00001C00001C00011127E9516>I<01 ! 311: C00001C00001C00001C00001C00001C00001C00001C000FFFF80FFFF80FFFF8001C00001C00001 ! 312: C00001C00001C00001C00001C00001C00011137E9516>I<387C7E7E3E0E1E1C78F060070B7984 ! 313: 16>I<FFFF80FFFF80FFFF8011037E8D16>I<70F8F8F8700505788416>I<000180000380000380 ! 314: 000700000700000E00000E00001C00001C0000380000380000700000700000E00000E00001C000 ! 315: 01C0000380000380000700000700000E00000E00001C00001C0000380000380000700000700000 ! 316: E00000E00000C0000011207E9C16>I<03E0000FF8001FFC001E3C00380E00780F007007007007 ! 317: 00E00380E00380E00380E00380E00380E00380E00380E00380F00780700700700700780F003C1E ! 318: 001E3C001FFC000FF80003E00011197E9816>I<01800380038007800F807F80FF807380038003 ! 319: 800380038003800380038003800380038003800380038003807FF87FFC7FF80E197C9816>I<07 ! 320: E0001FF8003FFC00783E00E00700F00780F00380600380000380000380000700000700000E0000 ! 321: 1C0000380000700000E00001C0000380000F00001E03803803807FFF80FFFF807FFF8011197E98 ! 322: 16>I<07E0001FF8003FFC00781E00780700300700000700000700000E00003E0007FC0007F000 ! 323: 07FC00001E00000700000300000380000380600380F00380E00700781E003FFC001FF80007E000 ! 324: 11197E9816>I<007C0000FC0000DC0001DC00039C00039C00071C000F1C000E1C001E1C003C1C ! 325: 00381C00781C00F01C00FFFFE0FFFFE0FFFFE0001C00001C00001C00001C00001C0001FFC001FF ! 326: C001FFC013197F9816>I<00F80003FC0007FE000F07001C0F00380F00780600700000700000E3 ! 327: F800EFFC00FFFE00F80F00F00700F00380E00380E003807003807003807007803807003C1E001F ! 328: FC000FF80003E00011197E9816>54 D<E00000FFFF80FFFF80FFFF80E00F00E01E00001C000038 ! 329: 0000780000700000E00000E00001C00001C00001C0000380000380000380000380000700000700 ! 330: 00070000070000070000070000070000111A7E9916>I<07F0001FFC003FFE007C1F00F00780E0 ! 331: 0380E00380E003807007007C1F001FFC0007F0001FFC003C1E00700700F00780E00380E00380E0 ! 332: 0380F007807007007C1F003FFE001FFC0007F00011197E9816>I<03E0000FF8001FFC003C1E00 ! 333: 700E00700700E00700E00780E00380E00380E00780700780780F803FFF801FFB800FE380000700 ! 334: 000700300700780E00781C007078003FF0001FE0000F800011197E9816>I<70F8F8F870000000 ! 335: 000000000070F8F8F8700512789116>I<387C7C7C38000000000000000038787C7C3C1C1C3870 ! 336: E0400618799116>I<000180000780001F80003E0000F80001F00007C0000F80003E0000FC0000 ! 337: F00000FC00003E00000F800007C00001F00000F800003E00001F8000078000018011157E9616> ! 338: I<7FFF00FFFF80FFFF80000000000000000000000000000000FFFF80FFFF807FFF00110B7E9116 ! 339: >I<C00000F00000FC00003E00000F800007C00001F00000F800003E00001F80000780001F8000 ! 340: 3E0000F80001F00007C0000F80003E0000FC0000F00000C0000011157E9616>I<00F80003FC00 ! 341: 07FE000F07001C3F80387F8078FF8071C3C071C3C0E381C0E381C0E381C0E381C0E381C0E381C0 ! 342: E381C071C38071C38078FF00387E001C3C000F03C007FFC003FF0000FC0012197E9816>64 ! 343: D<00E00001F00001F00001B00001B00003B80003B80003B800031800071C00071C00071C00071C ! 344: 00071C000E0E000E0E000FFE000FFE001FFF001C07001C07001C07007F1FC0FF1FE07F1FC01319 ! 345: 7F9816>I<7FF800FFFE007FFF001C0F001C07801C03801C03801C03801C07801C07001FFF001F ! 346: FE001FFE001C1F001C03801C03C01C01C01C01C01C01C01C01C01C03C01C07807FFF80FFFF007F ! 347: FC0012197F9816>I<01F18007FB800FFF801F0F803C0780380380700380700380F00000E00000 ! 348: E00000E00000E00000E00000E00000E00000F000007003807003803803803C07001F0F000FFE00 ! 349: 07FC0001F00011197E9816>I<7FF800FFFE007FFF001C0F001C07801C03C01C01C01C01C01C01 ! 350: E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01C01C03C01C07801C0F ! 351: 807FFF00FFFE007FF8001319809816>I<7FFFC0FFFFC07FFFC01C01C01C01C01C01C01C01C01C ! 352: 00001C00001C1C001C1C001FFC001FFC001FFC001C1C001C1C001C00001C00E01C00E01C00E01C ! 353: 00E01C00E07FFFE0FFFFE07FFFE013197F9816>I<FFFFE0FFFFE0FFFFE01C00E01C00E01C00E0 ! 354: 1C00E01C00001C00001C1C001C1C001FFC001FFC001FFC001C1C001C1C001C00001C00001C0000 ! 355: 1C00001C00001C0000FF8000FFC000FF800013197F9816>I<03E30007FF000FFF001E1F003C0F ! 356: 00380700700700700700F00000E00000E00000E00000E00000E03F80E07FC0E03F80F007007007 ! 357: 00700700380F003C0F001E1F000FFF0007F70003E70012197E9816>I<7F1FC0FFBFE07F1FC01C ! 358: 07001C07001C07001C07001C07001C07001C07001FFF001FFF001FFF001C07001C07001C07001C ! 359: 07001C07001C07001C07001C07001C07007F1FC0FFBFE07F1FC013197F9816>I<FFFEFFFEFFFE ! 360: 0380038003800380038003800380038003800380038003800380038003800380038003800380FF ! 361: FEFFFEFFFE0F197D9816>I<FFC000FFC000FFC0001C00001C00001C00001C00001C00001C0000 ! 362: 1C00001C00001C00001C00001C00001C00001C00001C00001C00401C00E01C00E01C00E01C00E0 ! 363: FFFFE0FFFFE0FFFFE013197F9816>76 D<FC07E0FE0FE0FE0FE03A0B803B1B803B1B803B1B803B ! 364: 1B803B1B803BBB8039B38039B38039B38039B38039F38038E38038E38038038038038038038038 ! 365: 0380380380FE0FE0FE0FE0FE0FE013197F9816>I<7E1FC0FF3FE07F1FC01D07001D87001D8700 ! 366: 1D87001DC7001DC7001CC7001CC7001CE7001CE7001CE7001C67001C67001C77001C77001C3700 ! 367: 1C37001C37001C17007F1F00FF9F007F0F0013197F9816>I<1FFC003FFE007FFF00780F00F007 ! 368: 80E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E003 ! 369: 80E00380F00780F00780780F007FFF003FFE001FFC0011197E9816>I<7FF800FFFE007FFF001C ! 370: 0F801C03801C03C01C01C01C01C01C01C01C03C01C03801C0F801FFF001FFE001FF8001C00001C ! 371: 00001C00001C00001C00001C00001C00007F0000FF80007F000012197F9816>I<7FE000FFF800 ! 372: 7FFC001C1E001C0F001C07001C07001C07001C07001C0F001C1E001FFC001FF8001FFC001C1C00 ! 373: 1C0E001C0E001C0E001C0E001C0E201C0E701C0E707F07E0FF87E07F03C014197F9816>82 ! 374: D<07E3001FFF003FFF00781F00F00700E00700E00700E00000F000007800003F80001FF00007FC ! 375: 0000FE00000F00000700000380000380600380E00380E00700F80F00FFFE00FFFC00C7F0001119 ! 376: 7E9816>I<7FFFE0FFFFE0FFFFE0E0E0E0E0E0E0E0E0E0E0E0E000E00000E00000E00000E00000 ! 377: E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00007FC000FFE0007 ! 378: FC0013197F9816>I<7F07F0FF8FF87F07F01C01C01C01C01C01C01C01C01C01C01C01C01C01C0 ! 379: 1C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C00E03800E038007070007FF00 ! 380: 03FE0000F8001519809816>I<FC07E0FE0FE0FC07E07001C07001C07001C03001803803803803 ! 381: 8038038038E38039F38039F38039B38019B30019B30019B30019B30019B30019B3001913001B1B ! 382: 000F1E000F1E000E0E0013197F9816>87 D<7F1F807F3F807F1F800E1E000E1C00073C00073800 ! 383: 03B80003F00001F00001E00000E00001E00001F00003F00003B80007B800071C00071C000E0E00 ! 384: 0E0E001C07007F1FC0FF1FE07F1FC013197F9816>I<FFF0FFF0FFF0E000E000E000E000E000E0 ! 385: 00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000 ! 386: E000FFF0FFF0FFF00C20789C16>91 D<C00000E00000E000007000007000003800003800001C00 ! 387: 001C00000E00000E000007000007000003800003800001C00001C00000E00000E0000070000070 ! 388: 00003800003800001C00001C00000E00000E0000070000070000038000038000018011207E9C16 ! 389: >I<FFF0FFF0FFF000700070007000700070007000700070007000700070007000700070007000 ! 390: 700070007000700070007000700070007000700070FFF0FFF0FFF00C207F9C16>I<FFFF80FFFF ! 391: 80FFFF8011037E7E16>95 D<1FE0003FF0007FF800783C00300E00000E00000E0003FE001FFE00 ! 392: 3E0E00700E00E00E00E00E00E00E00783E007FFFE03FE7E00F83E013127E9116>97 ! 393: D<7E0000FE00007E00000E00000E00000E00000E00000E3E000EFF000FFF800F83C00F00E00E00 ! 394: E00E00700E00700E00700E00700E00700E00700E00E00F01E00F83C00FFF800EFF00063C001419 ! 395: 809816>I<03F80FFC1FFE3C1E780C7000E000E000E000E000E000F000700778073E0E1FFC0FF8 ! 396: 03F010127D9116>I<003F00007F00003F0000070000070000070000070003C7000FF7001FFF00 ! 397: 3C1F00780F00700700E00700E00700E00700E00700E00700E00700700F00700F003C1F001FFFE0 ! 398: 0FE7F007C7E014197F9816>I<03E00FF81FFC3C1E780E7007E007FFFFFFFFFFFFE000E0007007 ! 399: 78073C0F1FFE0FFC03F010127D9116>I<001F00007F8000FF8001E78001C30001C00001C0007F ! 400: FF00FFFF00FFFF0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001 ! 401: C00001C0003FFE007FFF003FFE0011197F9816>I<03E3C007F7E00FFFE01C1CC0380E00380E00 ! 402: 380E00380E00380E001C1C000FF8001FF0001BE0003800001800001FFC001FFF003FFF807803C0 ! 403: E000E0E000E0E000E0E000E07001C07C07C03FFF800FFE0003F800131C7F9116>I<7E0000FE00 ! 404: 007E00000E00000E00000E00000E00000E3C000EFE000FFF000F87800F03800E03800E03800E03 ! 405: 800E03800E03800E03800E03800E03800E03800E03807FC7F0FFE7F87FC7F01519809816>I<01 ! 406: 8003C003C0018000000000000000007FC07FC07FC001C001C001C001C001C001C001C001C001C0 ! 407: 01C001C001C07FFFFFFF7FFF101A7D9916>I<7E0000FE00007E00000E00000E00000E00000E00 ! 408: 000E7FE00E7FE00E7FE00E0F000E1E000E3C000E78000EF0000FF0000FF8000FBC000F1E000E0E ! 409: 000E07000E07807F87F0FFCFF07F87F01419809816>107 D<FFC000FFC000FFC00001C00001C0 ! 410: 0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0 ! 411: 0001C00001C00001C00001C000FFFF80FFFF80FFFF8011197E9816>I<F9C380FFEFC0FFFFE03C ! 412: 78E03C78E03870E03870E03870E03870E03870E03870E03870E03870E03870E03870E0FE7CF8FE ! 413: 7CF8FE3C781512809116>I<7E3C00FEFE007FFF000F87800F03800E03800E03800E03800E0380 ! 414: 0E03800E03800E03800E03800E03800E03807FC7F0FFE7F87FC7F01512809116>I<03E0000FF8 ! 415: 001FFC003C1E00780F00700700E00380E00380E00380E00380E00380F00780700700780F003C1E ! 416: 001FFC000FF80003E00011127E9116>I<7E3E00FEFF007FFF800F83C00F00E00E00E00E00700E ! 417: 00700E00700E00700E00700E00700E00E00F01E00F83C00FFF800EFF000E3C000E00000E00000E ! 418: 00000E00000E00000E00007FC000FFE0007FC000141B809116>I<07C7000FE7001FF7003C1F00 ! 419: 700F00700F00E00700E00700E00700E00700E00700E00700700F00700F003C3F003FF7001FE700 ! 420: 07C700000700000700000700000700000700000700003FE0007FF0003FE0141B7E9116>I<FF0F ! 421: C0FF3FE0FF7FE007F04007C0000780000780000700000700000700000700000700000700000700 ! 422: 00070000FFFC00FFFC00FFFC0013127F9116>I<0FEC3FFC7FFCF03CE01CE01C70007F801FF007 ! 423: F8003C600EE00EF00EF81EFFFCFFF8C7E00F127D9116>I<030000070000070000070000070000 ! 424: 7FFF00FFFF00FFFF00070000070000070000070000070000070000070000070100070380070380 ! 425: 07038007870003FE0001FC0000F80011177F9616>I<7E1F80FE3F807E1F800E03800E03800E03 ! 426: 800E03800E03800E03800E03800E03800E03800E03800E03800E0F800FFFF007FBF803E3F01512 ! 427: 809116>I<7F1FC0FF1FE07F1FC01C07001E0F000E0E000E0E000E0E00071C00071C00071C0007 ! 428: 1C0003B80003B80003B80001F00001F00000E00013127F9116>I<FF1FE0FFBFE0FF1FE0380380 ! 429: 38038038038038038038E38019F30019F30019B3001DB7001DB7001DB7001DB7000F1E000F1E00 ! 430: 0F1E0013127F9116>I<7F1FC07F3FC07F1FC00F1C00073C0003B80003F00001F00000E00001E0 ! 431: 0001F00003B800073C00071C000E0E007F1FC0FF3FE07F1FC013127F9116>I<7F1FC0FF9FE07F ! 432: 1FC01C07000E07000E0E000E0E00070E00071C00071C00039C00039C0003980001B80001B80000 ! 433: F00000F00000F00000E00000E00000E00001C00079C0007BC0007F80003F00003C0000131B7F91 ! 434: 16>I<3FFFC07FFFC07FFFC0700780700F00701E00003C0000780001F00003E0000780000F0000 ! 435: 1E01C03C01C07801C0FFFFC0FFFFC0FFFFC012127F9116>I<001F80007F8000FF8001E00001C0 ! 436: 0001C00001C00001C00001C00001C00001C00001C00001C00003C0007F8000FF0000FF00007F80 ! 437: 0003C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001E00000FF80007F ! 438: 80001F8011207E9C16>I<E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0 ! 439: E0E0E0E00320779C16>I<7C0000FF0000FF800003C00001C00001C00001C00001C00001C00001 ! 440: C00001C00001C00001C00001E00000FF00007F80007F8000FF0001E00001C00001C00001C00001 ! 441: C00001C00001C00001C00001C00001C00003C000FF8000FF00007C000011207E9C16>I ! 442: E /Ff 37 122 df<000E00001E00007E0007FE00FFFE00FFFE00F8FE0000FE0000FE0000FE0000 ! 443: FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000 ! 444: FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE007F ! 445: FFFE7FFFFE7FFFFE17277BA622>49 D<00FF800003FFF0000FFFFC001F03FE003800FF007C007F ! 446: 80FE003FC0FF003FC0FF003FE0FF001FE0FF001FE07E001FE03C003FE000003FE000003FC00000 ! 447: 3FC000007F8000007F000000FE000000FC000001F8000003F0000003E00000078000000F000000 ! 448: 1E0000003C00E0007000E000E000E001C001C0038001C0070001C00FFFFFC01FFFFFC03FFFFFC0 ! 449: 7FFFFFC0FFFFFF80FFFFFF80FFFFFF801B277DA622>I<007F800003FFF00007FFFC000F81FE00 ! 450: 1F00FF003F80FF003F807F803F807F803F807F801F807F800F007F800000FF000000FF000000FE ! 451: 000001FC000001F8000007F00000FFC00000FFF0000001FC0000007E0000007F0000007F800000 ! 452: 3FC000003FC000003FE000003FE03C003FE07E003FE0FF003FE0FF003FE0FF003FC0FF007FC07E ! 453: 007F807C007F003F01FE001FFFFC0007FFF00000FF80001B277DA622>I<00000E0000001E0000 ! 454: 003E0000007E000000FE000000FE000001FE000003FE0000077E00000E7E00000E7E00001C7E00 ! 455: 00387E0000707E0000E07E0000E07E0001C07E0003807E0007007E000E007E000E007E001C007E ! 456: 0038007E0070007E00E0007E00FFFFFFF8FFFFFFF8FFFFFFF80000FE000000FE000000FE000000 ! 457: FE000000FE000000FE000000FE000000FE00007FFFF8007FFFF8007FFFF81D277EA622>I<0C00 ! 458: 03000F803F000FFFFE000FFFFC000FFFF8000FFFF0000FFFE0000FFFC0000FFE00000E0000000E ! 459: 0000000E0000000E0000000E0000000E0000000E7FC0000FFFF8000F80FC000E003E000C003F00 ! 460: 00001F8000001FC000001FC000001FE000001FE018001FE07C001FE0FE001FE0FE001FE0FE001F ! 461: E0FE001FC0FC001FC078003F8078003F803C007F001F01FE000FFFF80003FFF00000FF80001B27 ! 462: 7DA622>I<0007F000003FFC0000FFFE0001FC0F0003F01F8007E03F800FC03F801FC03F801F80 ! 463: 3F803F801F003F8000007F0000007F0000007F000000FF000000FF0FC000FF3FF800FF707C00FF ! 464: C03E00FFC03F00FF801F80FF801FC0FF001FC0FF001FE0FF001FE0FF001FE07F001FE07F001FE0 ! 465: 7F001FE07F001FE03F001FE03F001FC01F801FC01F803F800FC03F0007E07E0003FFFC0000FFF0 ! 466: 00003FC0001B277DA622>I<380000003E0000003FFFFFF03FFFFFF03FFFFFF07FFFFFE07FFFFF ! 467: C07FFFFF807FFFFF0070000E0070000E0070001C00E0003800E0007000E000E0000000E0000001 ! 468: C000000380000007800000078000000F0000000F0000001F0000001F0000003F0000003E000000 ! 469: 3E0000007E0000007E0000007E0000007E000000FE000000FE000000FE000000FE000000FE0000 ! 470: 00FE000000FE000000FE0000007C0000003800001C297CA822>I<000003800000000007C00000 ! 471: 000007C0000000000FE0000000000FE0000000000FE0000000001FF0000000001FF0000000003F ! 472: F8000000003FF8000000003FF80000000073FC0000000073FC00000000F3FE00000000E1FE0000 ! 473: 0000E1FE00000001C0FF00000001C0FF00000003C0FF80000003807F80000007807FC000000700 ! 474: 3FC0000007003FC000000E003FE000000E001FE000001E001FF000001C000FF000001FFFFFF000 ! 475: 003FFFFFF800003FFFFFF80000780007FC0000700003FC0000700003FC0000E00001FE0000E000 ! 476: 01FE0001E00001FF0001C00000FF0001C00000FF00FFFE001FFFFEFFFE001FFFFEFFFE001FFFFE ! 477: 2F297EA834>65 D<FFFFFFF80000FFFFFFFF8000FFFFFFFFC00003F8001FF00003F8000FF80003 ! 478: F80007FC0003F80003FC0003F80003FC0003F80003FE0003F80001FE0003F80001FE0003F80001 ! 479: FE0003F80003FE0003F80003FC0003F80003FC0003F80007F80003F8000FF00003F8001FE00003 ! 480: F800FFC00003FFFFFE000003FFFFFFE00003F80007F00003F80003FC0003F80001FE0003F80001 ! 481: FE0003F80000FF0003F80000FF0003F80000FF8003F80000FF8003F80000FF8003F80000FF8003 ! 482: F80000FF8003F80000FF8003F80000FF0003F80001FF0003F80003FE0003F80007FC0003F8001F ! 483: F800FFFFFFFFF000FFFFFFFFC000FFFFFFFE000029297DA831>I<00003FF001800003FFFE0380 ! 484: 000FFFFF8780003FF007DF8000FF8001FF8001FE00007F8003FC00003F8007F000001F800FF000 ! 485: 000F801FE0000007801FE0000007803FC0000007803FC0000003807FC0000003807F8000000380 ! 486: 7F8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000 ! 487: 000000FF8000000000FF8000000000FF80000000007F80000000007F80000000007FC000000380 ! 488: 3FC0000003803FC0000003801FE0000003801FE0000007000FF00000070007F000000E0003FC00 ! 489: 001E0001FE00003C0000FF8000F800003FF007E000000FFFFFC0000003FFFF000000003FF80000 ! 490: 29297CA832>I<FFFFFFF80000FFFFFFFF8000FFFFFFFFE00003FC001FF80003FC0007FC0003FC ! 491: 0001FE0003FC0000FF0003FC00007F8003FC00003FC003FC00001FC003FC00001FE003FC00001F ! 492: E003FC00000FF003FC00000FF003FC00000FF003FC00000FF003FC00000FF803FC00000FF803FC ! 493: 00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000F ! 494: F803FC00000FF803FC00000FF003FC00000FF003FC00000FF003FC00001FE003FC00001FE003FC ! 495: 00001FC003FC00003FC003FC00007F8003FC00007F0003FC0001FE0003FC0003FC0003FC001FF8 ! 496: 00FFFFFFFFE000FFFFFFFF8000FFFFFFFC00002D297DA835>I<FFFFFCFFFFFCFFFFFC01FE0001 ! 497: FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001 ! 498: FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001 ! 499: FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00FFFFFCFFFFFCFFFFFC16297EA81A>73 ! 500: D<FFFFFFF800FFFFFFFF00FFFFFFFFC003FC003FE003FC000FF003FC0007F803FC0007FC03FC00 ! 501: 03FC03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC ! 502: 0003FC03FC0007FC03FC0007F803FC000FF003FC003FE003FFFFFF8003FFFFFE0003FC00000003 ! 503: FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC000000 ! 504: 03FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC000000FFFFF000 ! 505: 00FFFFF00000FFFFF0000027297DA82F>80 D<FFFFFFE00000FFFFFFFE0000FFFFFFFF800003FC ! 506: 007FE00003FC000FF00003FC0007F80003FC0007FC0003FC0003FC0003FC0003FE0003FC0003FE ! 507: 0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FC0003FC0007F80003FC ! 508: 0007F80003FC001FE00003FC007FC00003FFFFFE000003FFFFF0000003FC00FC000003FC007F00 ! 509: 0003FC003F800003FC003F800003FC001FC00003FC001FE00003FC001FE00003FC001FE00003FC ! 510: 001FE00003FC001FE00003FC001FF00003FC001FF00003FC001FF00003FC001FF00703FC001FF8 ! 511: 0703FC000FF80703FC0007F80EFFFFF003FE1CFFFFF001FFF8FFFFF0003FF030297DA834>82 ! 512: D<007F806003FFF0E007FFF9E00F807FE01F001FE03E0007E07C0003E07C0001E0FC0001E0FC00 ! 513: 01E0FC0000E0FE0000E0FE0000E0FF000000FFC000007FFE00007FFFE0003FFFFC001FFFFE000F ! 514: FFFF8007FFFFC003FFFFE000FFFFE00007FFF000007FF000000FF8000007F8000003F8600001F8 ! 515: E00001F8E00001F8E00001F8F00001F0F00001F0F80003F0FC0003E0FF0007C0FFE01F80F3FFFF ! 516: 00E0FFFE00C01FF0001D297CA826>I<FFFFF0003FFF80FFFFF0003FFF80FFFFF0003FFF8003FE ! 517: 000001E00001FE000001C00001FF000003C00000FF000003800000FF0000038000007F80000700 ! 518: 00007F8000070000007FC0000F0000003FC0000E0000003FE0001E0000001FE0001C0000001FF0 ! 519: 001C0000000FF000380000000FF0003800000007F8007000000007F8007000000007FC00F00000 ! 520: 0003FC00E000000003FE01E000000001FE01C000000001FF01C000000000FF038000000000FF03 ! 521: 8000000000FF8780000000007F8700000000007FCF00000000003FCE00000000003FFE00000000 ! 522: 001FFC00000000001FFC00000000000FF800000000000FF800000000000FF8000000000007F000 ! 523: 0000000007F0000000000003E0000000000003E0000000000001C000000031297FA834>86 ! 524: D<7FFFF81FFFF07FFFF81FFFF07FFFF81FFFF001FF0000780000FF8000F000007FC001E000007F ! 525: C001C000003FE003C000001FF0078000000FF80F0000000FF80E00000007FC1E00000003FE3C00 ! 526: 000003FE7800000001FF7000000000FFF0000000007FE0000000007FC0000000003FE000000000 ! 527: 1FF0000000001FF0000000001FF8000000001FFC000000003FFE000000007BFE00000000F1FF00 ! 528: 000000E0FF80000001E0FFC0000003C07FC0000007803FE0000007001FF000000F001FF000001E ! 529: 000FF800003C0007FC0000380003FE0000780003FE0000F00001FF0000E00000FF80FFFF801FFF ! 530: FEFFFF801FFFFEFFFF801FFFFE2F297EA834>88 D<01FF800007FFF0000F81F8001FC07E001FC0 ! 531: 7E001FC03F000F803F8007003F8000003F8000003F8000003F80000FFF8000FFFF8007FC3F800F ! 532: E03F803F803F803F003F807F003F80FE003F80FE003F80FE003F80FE003F807E007F807F00DF80 ! 533: 3F839FFC0FFF0FFC01FC03FC1E1B7E9A21>97 D<FFE0000000FFE0000000FFE00000000FE00000 ! 534: 000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000 ! 535: 00000FE00000000FE00000000FE00000000FE1FE00000FE7FF80000FFE07E0000FF801F0000FF0 ! 536: 00F8000FE000FC000FE000FE000FE0007F000FE0007F000FE0007F000FE0007F800FE0007F800F ! 537: E0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F000FE0007F000FE0007F00 ! 538: 0FE000FE000FE000FC000FF001F8000FF803F0000F9E07E0000F07FF80000E01FC0000212A7EA9 ! 539: 26>I<001FF80000FFFE0003F01F0007E03F800FC03F801F803F803F801F007F800E007F000000 ! 540: 7F000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000007F0000007F0000 ! 541: 007F8000003F8001C01F8001C00FC0038007E0070003F01E0000FFFC00001FE0001A1B7E9A1F> ! 542: I<00003FF80000003FF80000003FF800000003F800000003F800000003F800000003F800000003 ! 543: F800000003F800000003F800000003F800000003F800000003F800000003F800000003F800001F ! 544: E3F80000FFFBF80003F03FF80007E00FF8000FC007F8001F8003F8003F8003F8007F0003F8007F ! 545: 0003F8007F0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800 ! 546: FF0003F8007F0003F8007F0003F8007F0003F8003F8003F8001F8003F8000F8007F80007C00FF8 ! 547: 0003F03BFF8000FFF3FF80003FC3FF80212A7EA926>I<003FE00001FFF80003F07E0007C01F00 ! 548: 0F801F801F800F803F800FC07F000FC07F0007C07F0007E0FF0007E0FF0007E0FFFFFFE0FFFFFF ! 549: E0FF000000FF000000FF0000007F0000007F0000007F0000003F8000E01F8000E00FC001C007E0 ! 550: 038003F81F0000FFFE00001FF0001B1B7E9A20>I<0007F0003FFC00FE3E01F87F03F87F03F07F ! 551: 07F07F07F03E07F00007F00007F00007F00007F00007F00007F000FFFFC0FFFFC0FFFFC007F000 ! 552: 07F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F000 ! 553: 07F00007F00007F00007F00007F00007F00007F0007FFF807FFF807FFF80182A7EA915>I<00FF ! 554: 81F003FFE7F80FC1FE7C1F80FC7C1F007C383F007E107F007F007F007F007F007F007F007F007F ! 555: 007F007F007F003F007E001F007C001F80FC000FC1F8001FFFE00018FF80003800000038000000 ! 556: 3C0000003E0000003FFFF8001FFFFF001FFFFF800FFFFFC007FFFFE01FFFFFF03E0007F07C0001 ! 557: F8F80000F8F80000F8F80000F8F80000F87C0001F03C0001E01F0007C00FC01F8003FFFE00007F ! 558: F0001E287E9A22>I<FFE0000000FFE0000000FFE00000000FE00000000FE00000000FE0000000 ! 559: 0FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000 ! 560: 000FE00000000FE07F00000FE1FFC0000FE787E0000FEE03F0000FF803F0000FF803F8000FF003 ! 561: F8000FF003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE0 ! 562: 03F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000F ! 563: E003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3FFF80212A7DA926>I<07000F801FC03FE0 ! 564: 3FE03FE01FC00F8007000000000000000000000000000000FFE0FFE0FFE00FE00FE00FE00FE00F ! 565: E00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE ! 566: 0F2B7DAA14>I<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0 ! 567: 0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F ! 568: E00FE00FE00FE0FFFEFFFEFFFE0F2A7DA914>108 D<FFC07F800FF000FFC1FFE03FFC00FFC383 ! 569: F0707E000FC603F8C07F000FCC01F9803F000FD801FF003F800FF001FE003F800FF001FE003F80 ! 570: 0FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC ! 571: 003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800F ! 572: E001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F80FFFE1FFFC3 ! 573: FFF8FFFE1FFFC3FFF8FFFE1FFFC3FFF8351B7D9A3A>I<FFC07F0000FFC1FFC000FFC787E0000F ! 574: CE03F0000FD803F0000FD803F8000FF003F8000FF003F8000FE003F8000FE003F8000FE003F800 ! 575: 0FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8 ! 576: 000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3F ! 577: FF80211B7D9A26>I<003FE00001FFFC0003F07E000FC01F801F800FC03F800FE03F0007E07F00 ! 578: 07F07F0007F07F0007F0FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF ! 579: 0007F87F0007F07F0007F03F800FE03F800FE01F800FC00FC01F8007F07F0001FFFC00003FE000 ! 580: 1D1B7E9A22>I<FFE1FE0000FFE7FF8000FFFE07E0000FF803F0000FF001F8000FE000FC000FE0 ! 581: 00FE000FE000FF000FE0007F000FE0007F000FE0007F800FE0007F800FE0007F800FE0007F800F ! 582: E0007F800FE0007F800FE0007F800FE0007F000FE000FF000FE000FF000FE000FE000FE001FC00 ! 583: 0FF001F8000FF803F0000FFE0FE0000FE7FF80000FE1FC00000FE00000000FE00000000FE00000 ! 584: 000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000000FFFE000000FFFE00 ! 585: 0000FFFE00000021277E9A26>I<FFC1F0FFC7FCFFCE3E0FD87F0FD87F0FF07F0FF03E0FF01C0F ! 586: E0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000F ! 587: E0000FE0000FE000FFFF00FFFF00FFFF00181B7E9A1C>114 D<03FE300FFFF01E03F03800F070 ! 588: 0070F00070F00070F80070FC0000FFE0007FFE007FFF803FFFE01FFFF007FFF800FFF80003FC00 ! 589: 00FC60007CE0003CF0003CF00038F80038FC0070FF01E0F7FFC0C1FF00161B7E9A1B>I<007000 ! 590: 00700000700000700000F00000F00000F00001F00003F00003F00007F0001FFFF0FFFFF0FFFFF0 ! 591: 07F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F000 ! 592: 07F03807F03807F03807F03807F03807F03803F03803F87001F86000FFC0001F8015267FA51B> ! 593: I<FFE03FF800FFE03FF800FFE03FF8000FE003F8000FE003F8000FE003F8000FE003F8000FE003 ! 594: F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE0 ! 595: 03F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE007F80007E007F80007 ! 596: E00FF80003F03BFF8001FFF3FF80003FC3FF80211B7D9A26>I<FFFE03FF80FFFE03FF80FFFE03 ! 597: FF8007F000700007F000700007F800F00003F800E00003FC01E00001FC01C00001FC01C00000FE ! 598: 03800000FE038000007F070000007F070000007F8F0000003F8E0000003FDE0000001FDC000000 ! 599: 1FDC0000000FF80000000FF80000000FF800000007F000000007F000000003E000000003E00000 ! 600: 0001C00000211B7F9A24>I<FFFE03FF80FFFE03FF80FFFE03FF8007F000700007F000700007F8 ! 601: 00F00003F800E00003FC01E00001FC01C00001FC01C00000FE03800000FE038000007F07000000 ! 602: 7F070000007F8F0000003F8E0000003FDE0000001FDC0000001FDC0000000FF80000000FF80000 ! 603: 000FF800000007F000000007F000000003E000000003E000000001C000000001C0000000038000 ! 604: 00000380000038078000007C07000000FE0F000000FE0E000000FE1E000000FE3C0000007C7800 ! 605: 00003FE00000000FC000000021277F9A24>121 D E /Fg 47 122 df<003C0000000062000000 ! 606: 00C200000001810000000181000000038100000003810000000381000000038100000003820000 ! 607: 0003820000000384000000038800000001C800000001D000000001E003FF8001C0007C0000E000 ! 608: 380001E000300001F0002000027000400004700040000838008000183C008000301C010000701E ! 609: 020000700E020000F007040000F007880000F003880000F001D00100F000E00100780070030038 ! 610: 00B802003C031C04000E0C0E0C0003F003F00021257EA326>38 D<70F8FCFC7404040404080810 ! 611: 102040060F7C840E>44 D<70F8F8F87005057C840E>46 D<01F000071C000C0600180300380380 ! 612: 3803807001C07001C07001C07001C0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0 ! 613: F001E0F001E0F001E0F001E0F001E0F001E07001C07001C07001C07803C03803803803801C0700 ! 614: 0C0600071C0001F00013227EA018>48 D<008003800F80F3800380038003800380038003800380 ! 615: 038003800380038003800380038003800380038003800380038003800380038003800380038003 ! 616: 8007C0FFFE0F217CA018>I<03F0000C1C001007002007804003C04003C08003E0F003E0F801E0 ! 617: F801E0F801E02003E00003E00003C00003C0000780000700000E00001C00001800003000006000 ! 618: 00C0000180000100000200200400200800201800603000403FFFC07FFFC0FFFFC013217EA018> ! 619: I<000200000600000E00000E00001E00001E00002E00004E00004E00008E00008E00010E00020E ! 620: 00020E00040E00040E00080E00100E00100E00200E00200E00400E00800E00FFFFF8000E00000E ! 621: 00000E00000E00000E00000E00000E00001F0001FFF015217FA018>52 D<1000801E07001FFF00 ! 622: 1FFE001FF80013E00010000010000010000010000010000010000010F800130E00140700180380 ! 623: 1003800001C00001C00001E00001E00001E00001E07001E0F001E0F001E0E001C08001C04003C0 ! 624: 4003802007001006000C1C0003F00013227EA018>I<007E0001C1000300800601C00E03C01C03 ! 625: C0180180380000380000780000700000700000F0F800F30C00F40600F40300F80380F801C0F001 ! 626: C0F001E0F001E0F001E0F001E0F001E07001E07001E07001E03801C03801C01803801C03000C06 ! 627: 00070C0001F00013227EA018>I<4000006000007FFFE07FFFC07FFFC0400080C0010080010080 ! 628: 020080020000040000080000080000100000300000200000600000600000600000E00000C00000 ! 629: C00001C00001C00001C00001C00003C00003C00003C00003C00003C00003C00003C00003C00001 ! 630: 800013237DA118>I<01F800060E000803001001802001802000C06000C06000C06000C07000C0 ! 631: 7801803E01003F02001FC4000FF80003F80003FC00067F00083F80100F803007C06001C06000E0 ! 632: C000E0C00060C00060C00060C000606000406000C03000801803000E0E0003F00013227EA018> ! 633: I<01F000060C000C0600180700380380700380700380F001C0F001C0F001C0F001E0F001E0F001 ! 634: E0F001E0F001E07001E07003E03803E01805E00C05E00619E003E1E00001C00001C00001C00003 ! 635: 80000380300300780700780600700C002018001030000FC00013227EA018>I<00018000000180 ! 636: 00000180000003C0000003C0000003C0000005E0000005E000000DF0000008F0000008F0000010 ! 637: F800001078000010780000203C0000203C0000203C0000401E0000401E0000401E0000800F0000 ! 638: 800F0000FFFF000100078001000780030007C0020003C0020003C0040003E0040001E0040001E0 ! 639: 0C0000F00C0000F03E0001F8FF800FFF20237EA225>65 D<FFFFF8000F800E0007800780078003 ! 640: C0078003E0078001E0078001F0078001F0078001F0078001F0078001F0078001E0078003E00780 ! 641: 07C007800F8007803E0007FFFE0007800780078003C0078001E0078001F0078000F0078000F807 ! 642: 8000F8078000F8078000F8078000F8078000F8078001F0078001F0078003E0078007C00F800F00 ! 643: FFFFFC001D227EA123>I<0007E0100038183000E0063001C00170038000F0070000F00E000070 ! 644: 1E0000701C0000303C0000303C0000307C0000107800001078000010F8000000F8000000F80000 ! 645: 00F8000000F8000000F8000000F8000000F800000078000000780000107C0000103C0000103C00 ! 646: 00101C0000201E0000200E000040070000400380008001C0010000E0020000381C000007E0001C ! 647: 247DA223>I<FFFFF0000F801E0007800700078003C0078001C0078000E0078000F00780007807 ! 648: 8000780780007C0780003C0780003C0780003C0780003E0780003E0780003E0780003E0780003E ! 649: 0780003E0780003E0780003E0780003E0780003C0780003C0780007C0780007807800078078000 ! 650: F0078000E0078001E0078003C0078007000F801E00FFFFF8001F227EA125>I<FFFFFFC00F8007 ! 651: C0078001C0078000C0078000400780004007800060078000200780002007800020078020200780 ! 652: 20000780200007802000078060000780E00007FFE0000780E00007806000078020000780200007 ! 653: 802000078020000780000007800000078000000780000007800000078000000780000007800000 ! 654: 078000000FC00000FFFE00001B227EA120>70 D<FFFC3FFF0FC003F0078001E0078001E0078001 ! 655: E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E00780 ! 656: 01E0078001E007FFFFE0078001E0078001E0078001E0078001E0078001E0078001E0078001E007 ! 657: 8001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E00FC003F0FFFC3FFF ! 658: 20227EA125>72 D<03FFF0001F00000F00000F00000F00000F00000F00000F00000F00000F0000 ! 659: 0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000 ! 660: 0F00000F00000F00700F00F80F00F80F00F80E00F01E00401C0020380018700007C00014237EA1 ! 661: 19>74 D<FFFE00000FC00000078000000780000007800000078000000780000007800000078000 ! 662: 000780000007800000078000000780000007800000078000000780000007800000078000000780 ! 663: 000007800000078000000780000007800080078000800780008007800080078001800780018007 ! 664: 800100078003000780030007800F000F803F00FFFFFF0019227EA11E>76 ! 665: D<FFC00003FF0FC00003F007C00003E005E00005E005E00005E004F00009E004F00009E004F000 ! 666: 09E004780011E004780011E004780011E0043C0021E0043C0021E0043C0021E0041E0041E0041E ! 667: 0041E0040F0081E0040F0081E0040F0081E004078101E004078101E004078101E00403C201E004 ! 668: 03C201E00401E401E00401E401E00401E401E00400F801E00400F801E00400F801E004007001E0 ! 669: 0E007001E01F007003F0FFE0203FFF28227EA12D>I<FF8007FF07C000F807C0007005E0002004 ! 670: F0002004F0002004780020047C0020043C0020041E0020041F0020040F00200407802004078020 ! 671: 0403C0200401E0200401E0200400F0200400F8200400782004003C2004003E2004001E2004000F ! 672: 2004000F20040007A0040003E0040003E0040001E0040001E0040000E00E0000601F000060FFE0 ! 673: 002020227EA125>I<FFFFF0000F803C0007800F0007800780078007C0078003C0078003E00780 ! 674: 03E0078003E0078003E0078003E0078003E0078003C0078007C00780078007800F0007803C0007 ! 675: FFF000078000000780000007800000078000000780000007800000078000000780000007800000 ! 676: 07800000078000000780000007800000078000000FC00000FFFC00001B227EA121>80 ! 677: D<FFFFE000000F803C000007800E00000780078000078007C000078003C000078003E000078003 ! 678: E000078003E000078003E000078003E000078003C000078007C000078007800007800E00000780 ! 679: 3C000007FFE000000780700000078038000007801C000007801E000007800E000007800F000007 ! 680: 800F000007800F000007800F000007800F800007800F800007800F800007800F808007800FC080 ! 681: 078007C0800FC003C100FFFC01E2000000007C0021237EA124>82 D<03F0200C0C601802603001 ! 682: E07000E0600060E00060E00060E00020E00020E00020F00000F000007800007F00003FF0001FFE ! 683: 000FFF0003FF80003FC00007E00001E00000F00000F0000070800070800070800070800070C000 ! 684: 60C00060E000C0F000C0C80180C6070081FC0014247DA21B>I<7FFFFFF8780780786007801840 ! 685: 0780084007800840078008C007800C800780048007800480078004800780040007800000078000 ! 686: 000780000007800000078000000780000007800000078000000780000007800000078000000780 ! 687: 00000780000007800000078000000780000007800000078000000780000007800000078000000F ! 688: C00003FFFF001E227EA123>I<FFFC07FF0FC000F8078000700780002007800020078000200780 ! 689: 002007800020078000200780002007800020078000200780002007800020078000200780002007 ! 690: 800020078000200780002007800020078000200780002007800020078000200780002007800020 ! 691: 0380004003C0004003C0004001C0008000E000800060010000300600001C08000003F00020237E ! 692: A125>I<FFF03FFC03FE1F8007E000F80F0003C000700F0003C000200F0003C00020078001E000 ! 693: 40078001E00040078001E0004003C002F0008003C002F0008003C002F0008001E00478010001E0 ! 694: 0478010001E00478010000F0083C020000F0083C020000F0083C020000F8183E06000078101E04 ! 695: 000078101E0400007C101E0400003C200F0800003C200F0800003C200F0800001E40079000001E ! 696: 40079000001E40079000000F8003E000000F8003E000000F8003E00000070001C00000070001C0 ! 697: 0000070001C0000003000180000002000080002F237FA132>87 D<0FE0001838003C0C003C0E00 ! 698: 18070000070000070000070000FF0007C7001E07003C0700780700700700F00708F00708F00708 ! 699: F00F087817083C23900FC1E015157E9418>97 D<0E0000FE00001E00000E00000E00000E00000E ! 700: 00000E00000E00000E00000E00000E00000E00000E00000E1F000E61C00E80600F00300E00380E ! 701: 003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E001C0E003C0E00380F00700C ! 702: 80600C41C0083F0017237FA21B>I<01FE000703000C07801C0780380300780000700000F00000 ! 703: F00000F00000F00000F00000F00000F000007000007800403800401C00800C010007060001F800 ! 704: 12157E9416>I<0000E0000FE00001E00000E00000E00000E00000E00000E00000E00000E00000 ! 705: E00000E00000E00000E001F8E00704E00C02E01C01E03800E07800E07000E0F000E0F000E0F000 ! 706: E0F000E0F000E0F000E0F000E07000E07800E03800E01801E00C02E0070CF001F0FE17237EA21B ! 707: >I<01FC000707000C03801C01C03801C07801E07000E0F000E0FFFFE0F00000F00000F00000F0 ! 708: 0000F000007000007800203800201C00400E008007030000FC0013157F9416>I<003C00C6018F ! 709: 038F030F070007000700070007000700070007000700FFF8070007000700070007000700070007 ! 710: 00070007000700070007000700070007000700070007807FF8102380A20F>I<0E0000FE00001E ! 711: 00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F800E ! 712: 60C00E80E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E ! 713: 00700E00700E00700E00700E00700E0070FFE7FF18237FA21B>104 D<1C003E003E003E001C00 ! 714: 000000000000000000000000000000000E00FE001E000E000E000E000E000E000E000E000E000E ! 715: 000E000E000E000E000E000E000E000E00FFC00A227FA10E>I<0E00FE001E000E000E000E000E ! 716: 000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00 ! 717: 0E000E000E000E000E000E000E000E00FFE00B237FA20E>108 D<0E1FC07F00FE60E183801E80 ! 718: 7201C00F003C00E00F003C00E00E003800E00E003800E00E003800E00E003800E00E003800E00E ! 719: 003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E0 ! 720: 0E003800E00E003800E0FFE3FF8FFE27157F942A>I<0E1F80FE60C01E80E00F00700F00700E00 ! 721: 700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00 ! 722: 700E0070FFE7FF18157F941B>I<01FC000707000C01801800C03800E0700070700070F00078F0 ! 723: 0078F00078F00078F00078F00078F000787000707800F03800E01C01C00E038007070001FC0015 ! 724: 157F9418>I<0E1F00FE61C00E80600F00700E00380E003C0E001C0E001E0E001E0E001E0E001E ! 725: 0E001E0E001E0E001E0E003C0E003C0E00380F00700E80E00E41C00E3F000E00000E00000E0000 ! 726: 0E00000E00000E00000E00000E00000E0000FFE000171F7F941B>I<0E3CFE461E8F0F0F0F060F ! 727: 000E000E000E000E000E000E000E000E000E000E000E000E000E000F00FFF010157F9413>114 ! 728: D<0F8830786018C018C008C008E008F0007F803FE00FF001F8003C801C800C800CC00CC008E018 ! 729: D0308FC00E157E9413>I<02000200020002000600060006000E001E003E00FFF80E000E000E00 ! 730: 0E000E000E000E000E000E000E000E000E040E040E040E040E040E040708030801F00E1F7F9E13 ! 731: >I<0E0070FE07F01E00F00E00700E00700E00700E00700E00700E00700E00700E00700E00700E ! 732: 00700E00700E00700E00700E00F00E00F006017003827800FC7F18157F941B>I<FFC1FE1E0078 ! 733: 0E00300E00200E002007004007004003808003808003808001C10001C10000E20000E20000E200 ! 734: 00740000740000380000380000380000100017157F941A>I<FFC1FE1E00780E00300E00200E00 ! 735: 2007004007004003808003808003808001C10001C10000E20000E20000E2000074000074000038 ! 736: 00003800003800001000001000002000002000002000004000F04000F08000F180004300003C00 ! 737: 00171F7F941A>121 D E /Fh 9 117 df<FFFF80FFFF8007F00003E00003E00003E00003E00003 ! 738: E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003 ! 739: E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003 ! 740: E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00007 ! 741: F000FFFF80FFFF8011317DB017>73 D<00FE00000303C0000C00E00010007000100038003C003C ! 742: 003E001C003E001E003E001E0008001E0000001E0000001E0000001E00000FFE0000FC1E0003E0 ! 743: 1E000F801E001F001E003E001E003C001E007C001E00F8001E04F8001E04F8001E04F8003E04F8 ! 744: 003E0478003E047C005E043E008F080F0307F003FC03E01E1F7D9E21>97 ! 745: D<003F8000E0600380180700040F00041E001E1C003E3C003E7C003E7C0008780000F80000F800 ! 746: 00F80000F80000F80000F80000F80000F80000F800007800007C00007C00003C00011E00011E00 ! 747: 020F000207000403801800E060003F80181F7D9E1D>99 D<000000F0007F030801C1C41C0380E8 ! 748: 1C070070080F0078001E003C001E003C003E003E003E003E003E003E003E003E003E003E003E00 ! 749: 3E001E003C001E003C000F007800070070000780E00009C1C000087F0000180000001800000018 ! 750: 00000018000000180000001C0000000E0000000FFFF80007FFFF0003FFFF800E000FC0180001E0 ! 751: 300000F070000070E0000038E0000038E0000038E0000038E00000387000007070000070380000 ! 752: E01C0001C00700070001C01C00003FE0001E2F7E9F21>103 D<0F001F801F801F801F800F0000 ! 753: 0000000000000000000000000000000000000000000780FF80FF800F8007800780078007800780 ! 754: 07800780078007800780078007800780078007800780078007800780078007800780078007800F ! 755: C0FFF8FFF80D307EAF12>105 D<0780FF80FF800F800780078007800780078007800780078007 ! 756: 800780078007800780078007800780078007800780078007800780078007800780078007800780 ! 757: 0780078007800780078007800780078007800780078007800780078007800FC0FFFCFFFC0E327E ! 758: B112>108 D<0780FE0000FF83078000FF8C03C0000F9001E00007A001E00007A000F00007C000 ! 759: F00007C000F000078000F000078000F000078000F000078000F000078000F000078000F0000780 ! 760: 00F000078000F000078000F000078000F000078000F000078000F000078000F000078000F00007 ! 761: 8000F000078000F000078000F000078000F000078000F000078000F0000FC001F800FFFC1FFF80 ! 762: FFFC1FFF80211F7E9E25>110 D<01FC100E03301800F0300070600030E00030E00010E00010E0 ! 763: 0010F00010F800007E00003FF0001FFF000FFFC003FFE0003FF00001F80000F880003C80003C80 ! 764: 001CC0001CC0001CE0001CE00018F00038F00030CC0060C301C080FE00161F7E9E1A>115 ! 765: D<00400000400000400000400000400000C00000C00000C00001C00001C00003C00007C0000FC0 ! 766: 001FFFE0FFFFE003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0 ! 767: 0003C00003C00003C00003C00003C00003C01003C01003C01003C01003C01003C01003C01003C0 ! 768: 1001C02001E02000E0400078C0001F00142C7FAB19>I E end ! 769: %%EndProlog ! 770: %%BeginSetup ! 771: %%Feature: *Resolution 300 ! 772: TeXDict begin ! 773: ! 774: %%EndSetup ! 775: %%Page: 12 1 ! 776: bop 262 307 a Fd(a)13 b(program)f(and)h(uses)i Fe(diff)e Fd(to)g(compare)g ! 777: (the)h(generated)h(sym)o(b)q(olic)d(co)q(de)i(with)f(the)h(ex-)262 ! 778: 357 y(p)q(ected)d(co)q(de)f(\(the)g(exp)q(ected)h(co)q(de)f(for)f ! 779: Fe(tst/8q.c)f Fd(is)h(in)g Fe(gen0/vax-bsd/ts)o(t/8q.)o(s.bak)o ! 780: Fd(,)262 407 y(etc.\).)18 b(There)d(should)f(b)q(e)h(no)e(di\013erences.)21 ! 781: b(The)14 b(script)h(also)e(compares)g(the)i(diagnostics)262 ! 782: 457 y(from)f(the)i(compiler)e(with)i(the)g(exp)q(ected)i(diagnostics)e(\(the) ! 783: g(exp)q(ected)i(diagnostics)e(for)262 506 y Fe(tst/8q.c)c Fd(are)i(in)f ! 784: Fe(tst/8q.2)p Fd(,)f(etc.\).)324 556 y Fe(make)21 b(clean)13 ! 785: b Fd(cleans)i(up,)f(but)g(do)q(es)h(not)f(remo)o(v)o(e)f Fe(rcc)p ! 786: Fd(,)g(and)h Fe(make)21 b(clobber)13 b Fd(cleans)262 606 y(up)g(and)h(remo)o ! 787: (v)o(es)g Fe(rcc)p Fd(.)262 743 y Ff(7)69 b(Rep)r(orting)22 ! 788: b(Bugs)262 834 y Fd(Bugs)15 b(can)g(b)q(e)h(rep)q(orted)g(b)o(y)f(sending)g ! 789: (mail)d(with)j(the)g(shortest)i(program)c(that)i(exp)q(oses)262 ! 790: 884 y(them)c(and)h(the)g(details)g(rep)q(orted)i(b)o(y)e Fe(lcc)p ! 791: Fd('s)f Fe(-v)g Fd(option)h(to)g Fe(lcc-bugs@princet)o(on.ed)o(u)p ! 792: Fd(.)262 934 y(Other)17 b(questions,)h(commen)o(ts,)e(and)g(requests)j(to)e ! 793: (b)q(e)g(added)g(to)g(the)g Fe(lcc)g Fd(maili)o(ng)d(list)262 ! 794: 984 y(can)g(b)q(e)g(sen)o(t)h(to)f Fe(lcc-requests@pr)o(incet)o(on.ed)o(u)p ! 795: Fd(.)262 1121 y Ff(References)262 1212 y Fd([1])19 b(American)j(National)f ! 796: (Standard)h(Institute,)j(Inc.,)f(New)f(Y)m(ork.)43 b Fc(A)o(meric)n(an)23 ! 797: b(Na-)326 1262 y(tional)15 b(Standar)n(ds)h(for)e(Information)h(Systems,)g ! 798: (Pr)n(o)n(gr)n(amming)g(L)n(anguage)h(C)f(ANSI)326 1312 y(X3.159{1989)p ! 799: Fd(,)g(1990.)262 1395 y([2])k(B.)d(J.)f(Cornelius,)h(I.)f(R.)f(Lo)o(wman,)g ! 800: (and)h(D.)g(J.)h(Robson.)22 b(Steady-state)17 b(compilers.)326 ! 801: 1444 y Fc(Softwar)n(e|Pr)n(actic)n(e)d(&)h(Exp)n(erienc)n(e)p ! 802: Fd(,)f(14\(8\):705{709,)c(Aug.)k(1984.)262 1527 y([3])19 b(C.)d(W.)g(F)m ! 803: (raser.)27 b(A)16 b(language)g(for)g(writing)g(co)q(de)i(generators.)27 ! 804: b Fc(Pr)n(o)n(c)n(e)n(e)n(dings)17 b(of)h(the)326 1577 y(SIGPLAN'89)13 ! 805: b(Confer)n(enc)n(e)g(on)g(Pr)n(o)n(gr)n(amming)g(L)n(anguage)h(Design)f(and)h ! 806: (Implemen-)326 1627 y(tation,)h(SIGPLAN)g(Notic)n(es)p Fd(,)e ! 807: (24\(7\):238{245,)e(July)i(1989.)262 1710 y([4])19 b(C.)g(W.)g(F)m(raser)i ! 808: (and)f(D.)f(R.)g(Hanson.)36 b(A)20 b(co)q(de)g(generation)g(in)o(terface)h ! 809: (for)e(ANSI)326 1760 y(C.)29 b(T)m(ec)o(hnical)18 b(Rep)q(ort)g ! 810: (CS-TR-270-90,)e(Princeton)i(Univ)o(ersit)o(y)m(,)g(Departmen)o(t)f(of)326 ! 811: 1810 y(Computer)c(Science,)i(Princeton,)f(NJ,)g(July)g(1990.)262 ! 812: 1893 y([5])19 b(C.)c(W.)g(F)m(raser)i(and)e(D.)g(R.)g(Hanson.)24 ! 813: b(A)16 b(co)q(de)g(generation)g(in)o(terface)h(for)e(ANSI)h(C.)326 ! 814: 1942 y Fc(Softwar)n(e|Pr)n(actic)n(e)e(&)h(Exp)n(erienc)n(e)p ! 815: Fd(,)f(21\(9\):963{988,)c(Sept.)k(1991.)262 2026 y([6])19 b(C.)h(W.)g(F)m ! 816: (raser)i(and)e(D.)g(R.)g(Hanson.)39 b(A)21 b(retargetable)g(compiler)f(for)g ! 817: (ANSI)h(C.)326 2075 y Fc(SIGPLAN)15 b(Notic)n(es)p Fd(,)e(26\(10\):29{43,)e ! 818: (Oct.)k(1991.)262 2158 y([7])k(C.)d(W.)f(F)m(raser)i(and)f(D.)f(R.)h(Hanson.) ! 819: 25 b(Simple)14 b(register)j(spilling)e(in)h(a)g(retargetable)326 ! 820: 2208 y(compiler.)h Fc(Softwar)n(e|Pr)n(actic)n(e)d(&)g(Exp)n(erienc)n(e)p ! 821: Fd(,)g(22\(1\):85{99,)d(Jan.)j(1992.)957 2574 y(12)p eop ! 822: %%Page: 11 2 ! 823: bop 324 307 a Fd(The)13 b(default)g(and)f(only)g(acceptable)i ! 824: Fe(TARGET)e Fd(is)h Fe(vax)f Fd(and)g(the)i(default)e Fe(OS)h ! 825: Fd(is)g Fe(bsd)p Fd(,)f(so)262 357 y(the)i(commands)262 435 ! 826: y Fe($)21 b(cd)g(gen3)262 485 y($)g(make)g(test)262 564 y Fd(build)e(and)h ! 827: (test)h Fe(vax-bsd/rcc)p Fd(;)f(The)h Fe(makefile)d Fd(uses)j ! 828: Fe(lcc)f Fd(instead)g(of)f Fe(cc)h Fd(b)q(ecause)262 613 y ! 829: Fe(gen3/gen.c)14 b Fd(is)j(written)g(in)f(ANSI)h(C.)f(If)g ! 830: Fe(lcc)g Fd(is)h(una)o(v)n(ailable,)d(use)k(another)f(ANSI)g(C)262 ! 831: 663 y(compiler,)12 b(e.g.,)g Fe(gcc)p Fd(,)h(and)h(use)g(a)g(command)d(lik)o ! 832: (e)262 742 y Fe($)21 b(make)g(CC=gcc)g(test)262 820 y Fd(to)d(build)g(the)h ! 833: (demonstration)f(compiler.)31 b(Alternativ)o(ely)m(,)19 b(y)o(ou)f(can)h(sp)q ! 834: (ecify)g(another)262 870 y(ANSI)14 b(C)f(compiler)g(b)o(y)h(editing)f ! 835: Fe(gen3/makefile)p Fd(.)324 920 y(There)f(ma)o(y)c(b)q(e)k(w)o(arnings,)e ! 836: (but)h(there)h(should)f(b)q(e)g(no)f(errors.)19 b(As)11 b(for)f(the)h(pro)q ! 837: (duction)262 969 y(co)q(de)19 b(generators,)h(this)f(command)d(tests)k ! 838: Fe(vax-bsd/rcc)c Fd(b)o(y)i(running)h(a)f(shell)g(script,)262 ! 839: 1019 y Fe(gen3/run)p Fd(,)10 b(on)j(eac)o(h)h(C)f(program)e(in)h(the)i(test)g ! 840: (suite.)k(This)13 b(script)h(compiles)e(a)g(program)262 1069 ! 841: y(and)k(compares)g(the)h(generated)h(V)-5 b(AX)17 b(co)q(de)g(with)f(the)h ! 842: (exp)q(ected)i(co)q(de)e(\(the)h(exp)q(ected)262 1119 y(V)-5 ! 843: b(AX)11 b(co)q(de)g(for)f Fe(tst/8q.c)f Fd(is)i(in)f Fe(gen3/vax-bsd/tst/)o ! 844: (8q.s.)o(bak)p Fd(,)d(etc.\).)18 b(There)12 b(should)262 1169 ! 845: y(b)q(e)19 b(no)f(signi\014can)o(t)g(di\013erences.)34 b(If)18 ! 846: b(there)i(are)f(di\013erences,)j(the)d(script)g(executes)i(the)262 ! 847: 1218 y(generated)11 b(co)q(de)f(and)g(compares)f(the)i(output)e(with)h(the)g ! 848: (exp)q(ected)i(output)e(\(the)h(exp)q(ected)262 1268 y(output)j(from)e ! 849: Fe(tst/8q.c)g Fd(is)i(in)f Fe(gen3/vax-bsd/tst/8)o(q.1.b)o(ak)p ! 850: Fd(,)d(etc.\).)324 1318 y Fe(make)21 b(triple)9 b Fd(is)h(the)h(same)e(as)i ! 851: (for)f(the)h(pro)q(duction)f(compilers,)g Fe(make)21 b(clean)9 ! 852: b Fd(cleans)262 1368 y(up,)k(but)h(do)q(es)h(not)f(remo)o(v)o(e)e ! 853: Fe(rcc)p Fd(,)h(and)h Fe(make)21 b(clobber)12 b Fd(cleans)j(up)f(and)f(remo)o ! 854: (v)o(es)h Fe(rcc)p Fd(.)262 1504 y Ff(6)69 b(Building)21 b(the)h(Sym)n(b)r ! 855: (olic)f(Compiler)262 1595 y Fd(The)13 b(co)q(de)h(generator)g(in)f ! 856: Fe(gen0)f Fd(do)q(cumen)o(ts)h(the)g(in)o(terface)h(b)q(et)o(w)o(een)h(the)e ! 857: (fron)o(t)g(end)h(and)262 1645 y(the)f(co)q(de)h(generator)g(and)g(is)f(used) ! 858: h(routinely)f(in)f(fron)o(t-end)i(dev)o(elopmen)o(t.)j(The)c(output)262 ! 859: 1695 y(of)h(this)i(co)q(de)g(generator)g(is)f(a)g(prin)o(table)g(represen)o ! 860: (tation)i(of)e(the)h(input)f(program,)f(e.g.,)262 1744 y(the)f(dags)f ! 861: (constructed)j(b)o(y)d(the)i(fron)o(t)e(end)h(are)g(prin)o(ted,)g(and)f ! 862: (other)h(in)o(terface)h(functions)262 1794 y(prin)o(t)h(their)h(argumen)o ! 863: (ts.)22 b(The)16 b(output)g(is)g(not)f(executable,)i(unlik)o(e)e(the)h ! 864: (output)g(of)f(the)262 1844 y(demonstration)d(V)-5 b(AX)15 ! 865: b(co)q(de)g(generator.)324 1894 y(The)i(in)o(terface)h(is)f(describ)q(ed)j ! 866: (in)c(Refs.)h([4)o(,)g(5].)28 b(The)17 b(L)1208 1889 y Fa(a)1227 ! 867: 1894 y Fd(T)1250 1906 y(E)1274 1894 y(X)g(source)h(for)f(the)h(latest)262 ! 868: 1944 y(v)o(ersion)c(of)f(Ref.)g([4)o(])h(is)f(in)h Fe(doc/interface.te)o(x)p ! 869: Fd(.)324 1994 y Fe(makefile)j Fd(uses)j Fe(include)d Fd(directiv)o(es,)j ! 870: (whic)o(h)f(are)g(supp)q(orted)h(b)o(y)f(most)e(v)o(ersions)262 ! 871: 2043 y(of)i Fe(make)p Fd(.)35 b(If)19 b(y)o(our)h(v)o(ersion)g(of)f ! 872: Fe(make)g Fd(do)q(esn't)h(supp)q(ort)h Fe(include)p Fd(,)e(build)g(a)h ! 873: (suitable)262 2093 y Fe(makefile)12 b Fd(b)o(y)h(replacing)h(the)h ! 874: Fe(include)p Fd(s)d(with)i(the)g(sp)q(eci\014ed)i Fe(makefile)p ! 875: Fd(s.)324 2143 y(F)m(or)e(the)h(sym)o(b)q(olic)d(compiler,)h ! 876: Fe(TARGET)g Fd(and)h Fe(OS)g Fd(serv)o(e)h(only)f(to)g(iden)o(tify)f(an)i ! 877: (include)262 2193 y(directory)m(,)c(and)f Fe(gen0/makefile)e ! 878: Fd(sp)q(eci\014es)k Fe(vax)e Fd(and)h Fe(bsd)e Fd(as)i(defaults.)17 ! 879: b(The)11 b(commands)262 2271 y Fe($)21 b(cd)g(gen0)262 2321 ! 880: y($)g(make)g(test)262 2399 y Fd(build)c(the)i(sym)o(b)q(olic)e(compiler,)h ! 881: Fe(vax-bsd/rcc)p Fd(,)f(and)h(tests)i(it)e(b)o(y)g(running)h(the)g(shell)262 ! 882: 2449 y(script)14 b Fe(gen0/run)e Fd(on)h(eac)o(h)h(C)f(program)f(in)h(the)h ! 883: (test)h(suite,)e Fe(tst)p Fd(.)k(This)d(script)g(compiles)957 ! 884: 2574 y(11)p eop ! 885: %%Page: 10 3 ! 886: bop 327 307 a Fe(-I../mips)20 b(-I..)h(-I../../c)f(../../c/dag.c)262 ! 887: 357 y(...)262 407 y(lcc)h(-B./)g(-d0.1)f(-A)i(-s)f(-o)h(mips-ultrix/rcc)327 ! 888: 457 y(mips-ultrix/dag.o)c(...)j(mips-ultrix/sel.o)262 506 y(od)g(+8)g ! 889: (<mips-ultrix/rcc)e(>mips-ultrix/tst)o(/od3)262 556 y(cmp)i(mips-ultrix/tst/) ! 890: o(od[23)o(])e(&&)i(rm)h(mips-ultrix/tst/)o(od[23)o(])262 639 ! 891: y Fd(This)9 b(command)d(builds)j Fe(mips-ultrix/rcc)d Fd(t)o(wice;)11 ! 892: b(once)f(using)f(the)h Fe(mips-ultrix/rcc)262 689 y Fd(built)15 ! 893: b(b)o(y)i Fe(cc)f Fd(and)h(again)e(using)h(the)i Fe(mips-ultrix/rcc)13 ! 894: b Fd(built)j(b)o(y)h Fe(lcc)p Fd(.)25 b(After)18 b(build-)262 ! 895: 739 y(ing)d(eac)o(h)i(v)o(ersion,)g(an)f(o)q(ctal)h(dump)e(of)h(the)h ! 896: (resulting)g(binary)f(is)g(made,)g(and)g(the)h(t)o(w)o(o)262 ! 897: 789 y(dumps)g(are)i(compared.)30 b(They)19 b(should)f(b)q(e)h(iden)o(tical,)f ! 898: (as)g(sho)o(wn)h(at)f(the)h(end)f(of)g(the)262 839 y(output)c(ab)q(o)o(v)o ! 899: (e.)20 b(If)14 b(they)h(aren't,)f(our)h(compiler)e(is)i(generating)f(bad)h ! 900: (co)q(de.)20 b(This)15 b(triple-)262 888 y(compilation)c(test)16 ! 901: b(is)f(describ)q(ed)h(in)e(Ref.)g([2].)20 b(\(They)15 b(name)e(four)i ! 902: (generations)g(b)q(ecause)262 938 y(they)f(n)o(um)o(b)q(er)f(them)g ! 903: (di\013eren)o(tly)m(.\))324 988 y(The)k(\014nal)f(v)o(ersion)g(of)g ! 904: Fe(mips-ultrix/rcc)d Fd(should)k(also)f(pass)h(the)g(test)g(suite;)h(i.e.,) ! 905: 262 1038 y(the)i(output)h(from)d Fe(make)j(TARGET=mips)f(OS=ultrix)g(test)f ! 906: Fd(should)h(b)q(e)h(iden)o(tical)f(to)262 1088 y(that)13 b(from)g(the)h ! 907: (previous)g Fe(make)p Fd(.)324 1137 y(No)o(w)f(install)g(the)i(\014nal)e(v)o ! 908: (ersion)h(of)f Fe(mips-ultrix/rcc)p Fd(:)262 1220 y Fe($)21 ! 909: b(cp)g(mips-ultrix/rcc)e(/usr/local/lib/rcc)262 1303 y Fd(where)c(the)f ! 910: (destination)g(is)f(the)i(lo)q(cation)e(c)o(hosen)i(for)e Fe(rcc)h ! 911: Fd(in)f(Sec.)h(2.)324 1353 y(On)f(some)f(systems,)h(y)o(ou)g(ma)o(y)e(b)q(e)i ! 912: (able)g(to)g(use)h(en)o(vironmen)o(t)d(v)n(ariables)i(and)g ! 913: Fe(make)p Fd('s)262 1403 y Fe(-e)h Fd(option)h(to)g(a)o(v)o(oid)f(sp)q ! 914: (ecifying)h Fe(TARGET)f Fd(and)h Fe(OS)g Fd(on)g(eac)o(h)h ! 915: Fe(make)e Fd(command,)f(and)i(the)262 1453 y Fe(make)e Fd(commands)e(describ) ! 916: q(ed)16 b(ab)q(o)o(v)o(e)d(can)h(b)q(e)h(done)f(with)g(a)f(single)h(command:) ! 917: 262 1536 y Fe($)21 b(TARGET=mips)f(OS=ultrix)g(export)g(TARGET)h(OS)262 ! 918: 1586 y($)g(make)g(-e)g(test)g(triple)g(test)g(clean)262 1669 ! 919: y(make)f(clean)9 b Fd(cleans)h(up,)f(but)h(do)q(es)g(not)f(remo)o(v)o(e)f ! 920: Fe(mips-ultrix/rcc)p Fd(,)f(and)i Fe(make)21 b(clobber)262 ! 921: 1719 y Fd(cleans)14 b(up)g(and)g(remo)o(v)o(es)f Fe(mips-ultrix/rcc)p ! 922: Fd(.)324 1768 y(The)k(soft)o(w)o(are)g(used)g(to)g(build)f(the)h(pro)q ! 923: (duction)g(co)q(de)g(generators)h(is)f(describ)q(ed)h(in)262 ! 924: 1818 y(Ref.)13 b([3)o(];)g(it)g(is)h(not)g(a)o(v)n(ailable.)262 ! 925: 1955 y Ff(5)69 b(Building)21 b(the)h(Demonstration)g(V)-8 b(AX)23 ! 926: b(Compiler)262 2046 y Fd(The)13 b(co)q(de)i(generator)f(in)f ! 927: Fe(gen3)g Fd(emits)f(naiv)o(e)h(V)-5 b(AX)15 b(co)q(de.)j(It)c(is)f(not)h(a)f ! 928: (pro)q(duction)h(co)q(de)262 2096 y(generator.)23 b(It)16 b(is)f(included)h ! 929: (only)f(to)g(illustrate)g(the)i(in)o(terface)f(b)q(et)o(w)o(een)h(the)f(fron) ! 930: o(t)f(end)262 2146 y(and)g(the)i(co)q(de)f(generator.)25 b(If)15 ! 931: b(y)o(ou)h(w)o(an)o(t)f(to)h(replace)g Fe(lcc)p Fd('s)f(co)q(de)i(generator,) ! 932: g(study)f(it)262 2196 y(and)d(not)h(the)h(larger)e(pro)q(duction)h(co)q(de)h ! 933: (generators.)324 2246 y(This)e(co)q(de)i(generator)g(is)e(detailed)h(in)f ! 934: (Refs.)h([4)o(,)f(5,)g(7].)18 b Fe(doc/interface.te)o(x)11 ! 935: b Fd(holds)262 2295 y(the)j(L)344 2290 y Fa(a)363 2295 y Fd(T)386 ! 936: 2308 y(E)409 2295 y(X)g(source)i(for)d(the)i(latest)f(v)o(ersion)g(of)f(Ref.) ! 937: g([4)o(].)324 2345 y Fe(makefile)k Fd(uses)j Fe(include)d Fd(directiv)o(es,)j ! 938: (whic)o(h)f(are)g(supp)q(orted)h(b)o(y)f(most)e(v)o(ersions)262 ! 939: 2395 y(of)i Fe(make)p Fd(.)35 b(If)19 b(y)o(our)h(v)o(ersion)g(of)f ! 940: Fe(make)g Fd(do)q(esn't)h(supp)q(ort)h Fe(include)p Fd(,)e(build)g(a)h ! 941: (suitable)262 2445 y Fe(makefile)12 b Fd(b)o(y)h(replacing)h(the)h ! 942: Fe(include)p Fd(s)d(with)i(the)g(sp)q(eci\014ed)i Fe(makefile)p ! 943: Fd(s.)957 2574 y(10)p eop ! 944: %%Page: 9 4 ! 945: bop 262 307 a Fe(mips-ultrix)19 b(sort:)262 357 y(mips-ultrix)g(spill:)262 ! 946: 407 y(mips-ultrix)g(stdarg:)262 457 y(mips-ultrix)g(struct:)262 ! 947: 506 y(mips-ultrix)g(switch:)262 556 y(mips-ultrix)g(wf1:)262 ! 948: 606 y(mips-ultrix)g(yacc:)262 681 y Fd(F)m(or)h(eac)o(h)h(C)f(program)f(in)h ! 949: (the)h(test)h(suite,)g Fe(gen2/run)d Fd(compiles)g(the)i(program)e(and)262 ! 950: 731 y(uses)i Fe(diff)f Fd(to)g(compare)g(the)h(generated)h(assem)o(bly)d(co)q ! 951: (de)j(with)e(the)h(exp)q(ected)i(co)q(de)262 780 y(\(the)11 ! 952: b(exp)q(ected)h(MIPS)f(co)q(de)g(for)f Fe(tst/8q.c)f Fd(is)h(in)g ! 953: Fe(gen2/mips-ultrix/t)o(st/8q)o(.s.ba)o(k)p Fd(,)262 830 y(etc.\).)25 ! 954: b(If)15 b(there)i(are)g(di\013erences,)h(the)f(script)f(executes)j(the)d ! 955: (generated)i(co)q(de)e(with)g(the)262 880 y(input)d(giv)o(en)g(in)g ! 956: Fe(tst)g Fd(\(the)i(input)e(for)g Fe(tst/8q.c)f Fd(is)i(in)f ! 957: Fe(tst/8q.0)p Fd(,)e(etc.\))19 b(and)14 b(compares)262 930 ! 958: y(the)c(output)g(with)f(the)i(exp)q(ected)h(output)e(\(the)g(exp)q(ected)i ! 959: (output)e(from)e Fe(tst/8q.c)g Fd(on)i(the)262 980 y(MIPS)k(is)g(in)g ! 960: Fe(gen2/mips-ultrix)o(/tst/)o(8q.1.)o(bak)p Fd(,)c(etc.\).)20 ! 961: b(The)15 b(script)f(also)g(compares)262 1029 y(the)g(diagnostics)g(from)e ! 962: (the)i(compiler)f(with)g(the)i(exp)q(ected)h(diagnostics.)324 ! 963: 1079 y(On)11 b(some)f(systems,)h(there)h(ma)o(y)d(b)q(e)i(a)g(few)g ! 964: (di\013erences)i(b)q(et)o(w)o(een)f(the)g(generated)g(co)q(de)262 ! 965: 1129 y(and)k(the)i(exp)q(ected)h(co)q(de.)28 b(These)18 b(di\013erences)h(o)q ! 966: (ccur)f(b)q(ecause)h(the)e(exp)q(ected)i(co)q(de)f(is)262 1179 ! 967: y(generated)13 b(b)o(y)f(cross)i(compilation)9 b(on)j(a)h(MIPS)f(and)g(the)h ! 968: (least-signi\014can)o(t)f(bits)h(of)e(some)262 1229 y(\015oating-p)q(oin)o(t) ! 969: k(constan)o(ts)k(di\013er)e(from)f(those)i(bits)g(in)f(constan)o(ts)h ! 970: (generated)h(on)e(y)o(our)262 1279 y(system.)24 b(There)18 ! 971: b(should)d(b)q(e)i(no)f(di\013erences)j(in)c(the)i(output)f(from)f(executing) ! 972: i(the)g(test)262 1328 y(programs.)324 1378 y(The)g Fe(mips-ultrix)d ! 973: Fd(preceding)k(the)g(name)d(of)h(eac)o(h)i(test)g(program)d(in)h(the)h ! 974: (output)262 1428 y(ab)q(o)o(v)o(e)d(indicates)h(a)f Fc(tar)n(get)t(-system)j ! 975: Fd(com)o(bination,)12 b(e.g.,)h(\\generating)i(co)q(de)g(for)f(a)g ! 976: Fe(mips)262 1478 y Fd(running)f(the)i Fe(ultrix)d Fd(op)q(erating)i(system".) ! 977: 324 1528 y(Next,)g(build)f Fe(rcc)g Fd(again)g(using)g(the)i(just-built)e ! 978: Fe(rcc)p Fd(:)262 1602 y Fe($)21 b(make)g(TARGET=mips)f(OS=ultrix)g(triple) ! 979: 262 1652 y(rm)h(-f)g(mips-ultrix/*.o)262 1702 y(make)f(TARGET=mips)g ! 980: (OS=ultrix)g(CC='lcc)g(-B./)h(-d0.1)g(-A')327 1752 y(CFLAGS='-N)f ! 981: (-I../../include/)o(mips)o(_ultr)o(ix)f(')327 1802 y(LDFLAGS='-s')g ! 982: (mips-ultrix/rcc)262 1851 y(cd)i(mips-ultrix;)327 1901 y(lcc)g(-B./)g(-d0.1)g ! 983: (-A)g(-c)h(-Dmips_ultrix)d(-N)i(-I../../include/mi)o(ps_u)o(ltrix)327 ! 984: 1951 y(-I../mips)f(-I..)h(-I../../c)f(../../c/dag.c)262 2001 ! 985: y(...)262 2051 y(lcc)h(-B./)g(-d0.1)f(-A)i(-s)f(-o)h(mips-ultrix/rcc)327 ! 986: 2100 y(mips-ultrix/dag.o)c(...)j(mips-ultrix/sel.o)262 2150 ! 987: y(od)g(+8)g(<mips-ultrix/rcc)e(>mips-ultrix/tst)o(/od2)262 ! 988: 2200 y(rm)i(-f)g(mips-ultrix/*.o)262 2250 y(make)f(TARGET=mips)g(OS=ultrix)g ! 989: (CC='lcc)g(-B./)h(-d0.1)g(-A')327 2300 y(CFLAGS='-N)f(-I../../include/)o ! 990: (mips)o(_ultr)o(ix)f(')327 2350 y(LDFLAGS='-s')g(mips-ultrix/rcc)262 ! 991: 2399 y(cd)i(mips-ultrix;)327 2449 y(lcc)g(-B./)g(-d0.1)g(-A)g(-c)h ! 992: (-Dmips_ultrix)d(-N)i(-I../../include/mi)o(ps_u)o(ltrix)967 ! 993: 2574 y Fd(9)p eop ! 994: %%Page: 8 5 ! 995: bop 262 307 a Fd(tiv)o(ely)m(.)34 b(There)20 b(are)g(directories)h(for)e(the) ! 996: i(supp)q(orted)g Fc(tar)n(get)t Fd(,)f Fc(system)i Fd(com)o(binations,)262 ! 997: 357 y(e.g.,)12 b Fe(mips-ultrix)p Fd(.)324 407 y(The)17 b Fc(tar)n(get)k ! 998: Fd(and)c Fc(system)j Fd(v)n(alues)c(are)i(read)g(from)d(the)j(v)n(ariables)e ! 999: Fe(TARGET)g Fd(and)h Fe(OS)p Fd(,)262 457 y(resp)q(ectiv)o(ely)m(.)26 ! 1000: b(V)m(alues)17 b(for)f(these)i(v)n(ariables)d(m)o(ust)h(b)q(e)h(sp)q ! 1001: (eci\014ed)h(when)f(in)o(v)o(oking)d Fe(make)262 506 y Fd(along)i(with)i ! 1002: (system-sp)q(eci\014c)h(v)n(alues)f(for)f Fe(CFLAGS)g Fd(and)g ! 1003: Fe(LDFLAGS)p Fd(,)f(if)h(necessary)m(.)32 b(The)262 556 y(follo)o(wing)12 ! 1004: b(table)j(lists)g(the)h Fe(make)e Fd(commands)f(for)h(the)i(supp)q(orted)h ! 1005: Fc(tar)n(get)t(-system)g Fd(com-)262 606 y(binations.)427 678 ! 1006: y Fe(make)j(TARGET=vax)70 b(OS=bsd)427 728 y(make)20 b(TARGET=vax)70 ! 1007: b(OS=ultrix)427 778 y(make)20 b(TARGET=vax)70 b(OS=v9)427 846 ! 1008: y(make)20 b(TARGET=mips)48 b(OS=iris)92 b(CFLAGS=-cckr)427 ! 1009: 895 y(make)20 b(TARGET=mips)48 b(OS=ultrix)427 945 y(make)20 ! 1010: b(TARGET=mips)48 b(OS=mips)427 1013 y(make)20 b(TARGET=mc)92 ! 1011: b(OS=sun)114 b(LDFLAGS='-s)20 b(-Bstatic')427 1063 y(make)g(TARGET=mc)92 ! 1012: b(OS=next)262 1144 y Fd(F)m(or)11 b(example,)f(to)i(build)f(an)g ! 1013: Fe(rcc)g Fd(for)h(a)f(MIPS)h(running)g(Ultrix,)f(execute)j(the)e(commands)262 ! 1014: 1227 y Fe($)21 b(cd)g(gen2)262 1277 y($)g(make)g(TARGET=mips)f(OS=ultrix)262 ! 1015: 1327 y(cd)h(mips-ultrix;)327 1376 y(cc)g(-c)h(-Dmips_ultrix)d(-I../mips)h ! 1016: (-I..)h(-I../../c)f(../../c/dag.c)262 1426 y(...)262 1476 y(cd)h ! 1017: (mips-ultrix;)327 1526 y(cc)g(-c)h(-Dmips_ultrix)d(-I../mips)h(-I..)h ! 1018: (-I../../c)f(../mips/sel.c)262 1576 y(cc)h(-s)g(-o)h(mips-ultrix/rcc)c ! 1019: (mips-ultrix/dag.o)40 b(...)j(mips-ultrix/sel.o)262 1659 y ! 1020: Fd(There)15 b(ma)o(y)c(b)q(e)k(a)f(few)g(w)o(arnings,)f(but)h(there)h(should) ! 1021: f(b)q(e)g(no)g(errors.)324 1708 y(Once)g Fe(rcc)f Fd(is)g(built)g(with)g(the) ! 1022: h(host)g(C)f(compiler,)f(run)i(the)g(test)g(suite)g(to)g(v)o(erify)f(that)262 ! 1023: 1758 y Fe(rcc)d Fd(is)g(w)o(orking)g(correctly)m(,)i(sp)q(ecifying)e(the)i ! 1024: (appropriate)f(op)q(erating)f(system)h(from)e(those)262 1808 ! 1025: y(listed)k(in)h(Sec.)g(2,)f(e.g.,)262 1891 y Fe($)21 b(make)g(TARGET=mips)f ! 1026: (OS=ultrix)g(test)262 1941 y(mips-ultrix)f(8q:)262 1991 y(mips-ultrix)g ! 1027: (array:)262 2040 y(mips-ultrix)g(cf:)262 2090 y(mips-ultrix)g(cq:)262 ! 1028: 2140 y(mips-ultrix)g(cvt:)262 2190 y(mips-ultrix)g(fields:)262 ! 1029: 2240 y(mips-ultrix)g(front:)262 2290 y(mips-ultrix)g(incr:)262 ! 1030: 2339 y(mips-ultrix)g(init:)262 2389 y(mips-ultrix)g(limits:)262 ! 1031: 2439 y(mips-ultrix)g(paranoia:)967 2574 y Fd(8)p eop ! 1032: %%Page: 7 6 ! 1033: bop 262 307 a Fe($)21 b(make)g(bbexit.o)262 357 y($)g(cp)g(bbexit.o)g ! 1034: (/usr/local/lib/b)o(bexi)o(t.o)262 439 y Fd(If)d(necessary)m(,)j(c)o(hange)f ! 1035: Fe(/usr/local/lib)c Fd(to)i(re\015ect)j(lo)q(cal)d(con)o(v)o(en)o(tions.)33 ! 1036: b(The)19 b Fe(exit)262 488 y Fd(function)10 b(in)g Fe(etc/bbexit.c)e ! 1037: Fd(w)o(orks)j(on)f(the)h(systems)g(listed)f(in)g(Sec.)h(2,)g(but)g(ma)o(y)d ! 1038: (need)k(to)262 538 y(b)q(e)f(mo)q(di\014ed)e(for)i(other)g(systems.)17 ! 1039: b(The)12 b(implemen)o(tati)o(on)c(of)i(the)i Fe(-b)e Fd(option)g(is)h ! 1040: (describ)q(ed)262 588 y(in)h(Ref.)h([6)o(].)k(The)d(L)565 583 ! 1041: y Fa(a)584 588 y Fd(T)607 601 y(E)631 588 y(X)f(source)i(for)e(the)g(tec)o ! 1042: (hnical)h(rep)q(ort)g(v)o(ersion)g(of)f(this)g(pap)q(er)h(is)f(in)262 ! 1043: 638 y Fe(doc/overview.te)o(x)p Fd(.)324 688 y(If)j Fe(option)f ! 1044: Fd(supp)q(orts)i Fe(-b)p Fd(,)f(y)o(ou)g(should)h(also)e(install)h ! 1045: Fe(etc/bprint.c)p Fd(,)d(whic)o(h)k(reads)262 738 y Fe(prof.out)d ! 1046: Fd(and)i(generates)h(a)f(listing)f(annotated)h(with)f(execution)i(coun)o(ts.) ! 1047: 25 b(After)16 b Fe(lcc)262 787 y Fd(is)d(installed,)g(install)g ! 1048: Fe(bprint)f Fd(with)i(the)g(commands)262 869 y Fe($)21 b(make)g(bprint)262 ! 1049: 919 y($)g(cp)g(bprint)g(/usr/local/bin/bpr)o(int)262 969 y($)g(cp)g(bprint.1) ! 1050: g(/usr/local/man/m)o(an1)262 1050 y Fd(The)e Fe(makefile)f ! 1051: Fd(uses)i Fe(lcc)f Fd(to)g(compile)e Fe(bprint.c)p Fd(;)j(y)o(ou)f(m)o(ust)f ! 1052: (use)i Fe(lcc)f Fd(or)g(another)262 1100 y(ANSI)h(C)g(compiler,)f(e.g.,)i ! 1053: Fe(gcc)p Fd(,)f(b)q(ecause)i Fe(bprint.c)c Fd(is)i(written)g(in)g(ANSI)g(C.)f ! 1054: (Also,)262 1150 y Fe(bprint.c)12 b Fc(includes)17 b Fe("../c/profio.c")p ! 1055: Fd(,)11 b(so)j(it)f(m)o(ust)g(b)q(e)h(compiled)f(in)g Fe(etc)p ! 1056: Fd(.)324 1200 y(T)m(o)h(complete)g(the)h(driv)o(er,)g(write)g(an)f ! 1057: (appropriate)h Fe(option)e Fd(function)h(for)h(y)o(our)f(sys-)262 ! 1058: 1250 y(tem,)e(and)i(mak)o(e)e(and)i(install)f(the)h(driv)o(er)g(as)g(describ) ! 1059: q(ed)i(ab)q(o)o(v)o(e.)262 1387 y Ff(4)69 b(Installing)21 b(a)i(Pro)r ! 1060: (duction)g(Compiler)262 1477 y Fe(gen2)11 b Fd(con)o(tains)h(source)h(co)q ! 1061: (de)g(common)c(to)j(all)e(of)i(the)g(pro)q(duction)h(co)q(de)g(generators)g ! 1062: (and)262 1527 y(directories)i(for)e(eac)o(h)i(of)e(the)h(supp)q(orted)i ! 1063: (targets:)491 1614 y Fe(gen2/vax)70 b Fd(V)-5 b(AX)15 b(co)q(de)f(generator) ! 1064: 491 1664 y Fe(gen2/mips)48 b Fd(MIPS)14 b(co)q(de)h(generator)491 ! 1065: 1714 y Fe(gen2/mc)92 b Fd(Motorola)13 b(68020)g(&)h(68881)e(co)q(de)j ! 1066: (generator)324 1802 y(A)c(pro)q(duction)f(compiler,)g Fe(rcc)p ! 1067: Fd(,)g(is)g(built)g(b)o(y)h(compiling)d(it)i(with)g(the)i(host)e(C)h ! 1068: (compiler)262 1851 y(and)h(then)i(using)f(the)h(result)g(to)f(re-compile)f ! 1069: (itself.)17 b(A)c(test)h(suite)g(is)f(used)h(to)f(v)o(erify)g(that)262 ! 1070: 1901 y(the)i(compiler)e(is)i(w)o(orking)e(correctly)m(.)22 ! 1071: b(The)15 b(examples)f(b)q(elo)o(w)g(use)i(the)f(MIPS)g(compiler)262 ! 1072: 1951 y(under)f(Ultrix)e(to)i(illustrate)f(this)g(pro)q(cess.)20 ! 1073: b(Y)m(ou)12 b(m)o(ust)h(ha)o(v)o(e)g(the)h(driv)o(er,)f Fe(lcc)p ! 1074: Fd(,)f(installed)262 2001 y(in)k(order)h(to)f(build)g(and)h(test)g ! 1075: Fe(rcc)p Fd(.)26 b(If)16 b(an)o(y)g(of)g(the)h(steps)h(b)q(elo)o(w)f(fail,)e ! 1076: (con)o(tact)i(us)g(\(see)262 2051 y(Sec.)d(7\).)324 2100 y(The)f ! 1077: Fe(makefile)e Fd(runs)j(the)f(shell)g(script)g Fe(gen2/run)e ! 1078: Fd(on)i(eac)o(h)g(C)g(program)e(in)h(the)i(test)262 2150 y(suite,)19 ! 1079: b Fe(tst)p Fd(.)31 b Fe(gen2/makefile)15 b Fd(uses)20 b Fe(include)c ! 1080: Fd(directiv)o(es,)k(whic)o(h)e(are)h(supp)q(orted)h(b)o(y)262 ! 1081: 2200 y(most)13 b(v)o(ersions)j(of)e Fe(make)p Fd(.)20 b(If)15 ! 1082: b(y)o(our)g(v)o(ersion)g(of)f Fe(make)g Fd(do)q(esn't)h(supp)q(ort)h ! 1083: Fe(include)p Fd(,)d(build)262 2250 y(a)j(suitable)h Fe(makefile)e ! 1084: Fd(b)o(y)h(replacing)h(the)g Fe(include)p Fd(s)f(with)h(the)g(sp)q(eci\014ed) ! 1085: h Fe(makefile)p Fd(s.)262 2300 y(Note)c(that)g(the)g(path)g(names)f(are)h ! 1086: (relativ)o(e)g(to)g(the)g Fe(gen2)f Fd(directory)m(.)324 2350 ! 1087: y(The)j(ob)r(ject)h(\014les,)g Fe(rcc)p Fd(,)f(and)g(the)h(generated)g(co)q ! 1088: (de)g(for)f(the)h(programs)e(in)h(the)h(test)262 2399 y(suite)k(are)h(placed) ! 1089: f(in)g(the)h(directory)g Fe(gen2/)p Fc(tar)n(get)t Fe(-)p Fc(system)g ! 1090: Fd(where)g Fc(tar)n(get)j Fd(and)c Fc(sys-)262 2449 y(tem)g ! 1091: Fd(are)d(the)h(names)f(of)g(y)o(our)g(target)g(mac)o(hine)f(and)h(its)h(op)q ! 1092: (erating)f(system,)h(resp)q(ec-)967 2574 y(7)p eop ! 1093: %%Page: 6 7 ! 1094: bop 262 307 a Fd(Leading)15 b(spaces)j(indicate)e(lines)h(that)f(ha)o(v)o(e)g ! 1095: (b)q(een)i(folded)e(man)o(ually)d(to)j(\014t)h(this)f(page.)262 ! 1096: 357 y(Note)h(the)g(use)g(of)f(a)h(pip)q(eline)f(to)h(connect)h(the)f(prepro)q ! 1097: (cessor)i(and)e(compiler.)25 b Fe(lcc)16 b Fd(ar-)262 407 y(ranges)e(this)g ! 1098: (pip)q(eline)g(itself;)f(it)g(do)q(es)i(not)f(call)f(the)h(shell.)324 ! 1099: 457 y(As)i(the)g(output)f(sho)o(ws,)h Fe(lcc)f Fd(places)g(temp)q(orary)g ! 1100: (\014les)h(in)f Fe(/tmp)p Fd(.)21 b(Alternativ)o(es)16 b(can)262 ! 1101: 506 y(b)q(e)e(sp)q(eci\014ed)h(b)o(y)f(de\014ning)g Fe(TEMPDIR)e ! 1102: Fd(in)i Fe(CFLAGS)e Fd(when)j(making)c(the)k(driv)o(er,)e(e.g.,)262 ! 1103: 581 y Fe($)21 b(make)g(CFLAGS='-DTEMPDIR=)o(\\"/us)o(r/tm)o(p\\"')d ! 1104: (HOST=hart)262 656 y Fd(causes)d Fe(lcc)e Fd(to)h(place)g(temp)q(orary)f ! 1105: (\014les)h(in)g Fe(/usr/tmp)p Fd(.)324 706 y(Once)h(the)f(driv)o(er)h(is)e ! 1106: (completed,)g(install)g(it)g(b)o(y)262 780 y Fe($)21 b(cp)g(a.out)g ! 1107: (/usr/local/bin/lcc)262 855 y Fd(where)15 b(the)f(destination)g(is)f(the)i ! 1108: (lo)q(cation)e(c)o(hosen)i(for)e Fe(lcc)h Fd(in)f(Sec.)h(2.)324 ! 1109: 905 y(The)i Fe(option)f Fd(function)h(is)g(called)g(for)g(the)g(options)g ! 1110: Fe(-g)p Fd(,)g Fe(-p)p Fd(,)g Fe(-pg)p Fd(,)f(and)h Fe(-b)g ! 1111: Fd(b)q(ecause)262 955 y(these)g(compiler)e(options)h(migh)o(t)e(also)h ! 1112: (a\013ect)j(the)e(loader's)g(argumen)o(ts.)22 b(F)m(or)14 b(these)j(op-)262 ! 1113: 1005 y(tions,)11 b(the)g(driv)o(er)h(calls)e Fe(option\(arg\))f ! 1114: Fd(to)i(giv)o(e)g(the)g(host-sp)q(eci\014c)i(co)q(de)f(an)f(opp)q(ortunit)o ! 1115: (y)262 1054 y(to)j(edit)g(the)i Fe(ld)e Fd(protot)o(yp)q(e,)g(if)g(necessary) ! 1116: m(.)21 b Fe(option)13 b Fd(can)i(c)o(hange)g Fe(ld)p Fd(,)e(if)h(necessary)m ! 1117: (,)i(and)262 1104 y(return)d Fe(1)f Fd(to)g(announce)h(its)f(acceptance)i(of) ! 1118: e(the)h(option.)j(If)c(the)h(option)f(is)g(unsupp)q(orted,)262 ! 1119: 1154 y Fe(option)g Fd(should)i(return)h Fe(0)p Fd(.)324 1204 ! 1120: y(F)m(or)g(example,)g(in)g(resp)q(onse)j(to)e Fe(-g)p Fd(,)g(the)g ! 1121: Fe(option)f Fd(function)g(sho)o(wn)h(ab)q(o)o(v)o(e)g(c)o(hanges)262 ! 1122: 1254 y Fe(as[3])d Fd(from)f Fe("")i Fd(to)g Fe("-g")p Fd(,)f(whic)o(h)h(sp)q ! 1123: (eci\014es)i(the)f(debugging)e(option)h(to)g(the)g(assem)o(bler.)262 ! 1124: 1303 y(If)d Fe(-g)g Fd(is)h(not)g(sp)q(eci\014ed,)h(the)g Fe("")e ! 1125: Fd(argumen)o(t)g(is)g(omitted)g(from)f(the)i Fe(as)g Fd(command)d(b)q(ecause) ! 1126: 262 1353 y(it's)k(empt)o(y)m(.)324 1403 y(Lik)o(ewise,)g(the)h ! 1127: Fe(-p)f Fd(causes)h Fe(option)f Fd(to)g(c)o(hange)h(the)f(name)g(of)f(the)i ! 1128: (startup)h(co)q(de)f(and)262 1453 y(add)j(the)g(name)f(of)h(the)h ! 1129: (pro\014ling)e(library)m(.)27 b(Note)17 b(that)g Fe(option)f ! 1130: Fd(has)i(b)q(een)g(written)g(to)262 1503 y(supp)q(ort)c(sim)o(ultaneous)f ! 1131: (use)h(of)g Fe(-g)f Fd(and)h Fe(-p)p Fd(,)f(e.g.,)262 1577 ! 1132: y Fe($)21 b(a.out)g(-v)g(-v)h(-g)f(-p)g(foo.s)g(baz.o)g(-o)g(myfoo)262 ! 1133: 1627 y(a.out)f(version)h(1.9)262 1677 y(/bin/as)f(-o)h(foo.o)g(-g)g(-nocpp)g ! 1134: (-EL)g(foo.s)262 1727 y(/usr/bin/ld)e(-o)i(myfoo)g(/usr/lib/mcrt0.o)e(foo.o)h ! 1135: (baz.o)327 1777 y(/usr/lib/libprof1)o(.a)f(-lm)i(-lc)262 1826 ! 1136: y(rm)g(/tmp/lcc18317.s)324 1901 y Fd(On)14 b(Suns,)g(the)h(driv)o(er)f ! 1137: (passes)h(an)o(y)f(option)f(b)q(eginning)g(with)h Fe(-f)f Fd(to)h ! 1138: Fe(option)f Fd(to)g(sup-)262 1951 y(p)q(ort)d(Sun's)h Fe(-f68881)e ! 1139: Fd(option.)16 b(The)11 b(driv)o(er)g(also)e(recognizes)j Fe(-Bstatic)d ! 1140: Fd(and)i Fe(-Bdynamic)262 2001 y Fd(as)i(link)o(er)h(options,)f(and)h ! 1141: (recognizes)h(but)f(ignores)g(Sun's)g Fe(-target)e Fc(name)18 ! 1142: b Fd(option.)324 2051 y(The)f(option)f Fe(-Wo)p Fc(ar)n(g)j ! 1143: Fd(causes)g(the)e(driv)o(er)g(to)g(pass)g Fc(ar)n(g)j Fd(to)c ! 1144: Fe(option)p Fd(.)26 b(Suc)o(h)17 b(options)262 2100 y(ha)o(v)o(e)j(no)g ! 1145: (other)h(e\013ect;)k(this)c(mec)o(hanism)d(is)i(pro)o(vided)h(to)f(supp)q ! 1146: (ort)h(system-sp)q(eci\014c)262 2150 y(options)13 b(that)h(a\013ect)h(the)f ! 1147: (commands)e(executed)k(b)o(y)d(the)i(driv)o(er.)324 2200 y(The)f ! 1148: Fe(-b)f Fd(option)g(causes)i(the)f(compiler)f(to)g(generate)i(co)q(de)g(to)e ! 1149: (coun)o(t)h(the)g(n)o(um)o(b)q(er)f(of)262 2250 y(times)h(eac)o(h)i ! 1150: (expression)g(is)f(executed.)24 b(The)16 b Fe(exit)e Fd(function)h(in)g ! 1151: Fe(etc/bbexit.c)e Fd(writes)262 2300 y(these)f(coun)o(ts)f(to)f ! 1152: Fe(prof.out)f Fd(when)i(the)g(program)e(terminates.)17 b(If)10 ! 1153: b Fe(option)f Fd(is)i(called)f(with)262 2350 y Fe(-b)p Fd(,)j(it)h(m)o(ust)g ! 1154: (edit)g(the)i Fe(ld)e Fd(command)d(accordingly)m(,)i(as)i(sho)o(wn)g(ab)q(o)o ! 1155: (v)o(e.)k(This)c(v)o(ersion)f(of)262 2399 y Fe(option)e Fd(uses)j(the)g ! 1156: Fe(access)d Fd(system)i(call)f(to)g(insure)i(that)f Fe(bbexit.o)e ! 1157: Fd(is)i(installed)f(b)q(efore)262 2449 y(editing)g(the)h Fe(ld)g ! 1158: Fd(command.)h(T)m(o)e(install)g Fe(bbexit.o)f Fd(execute)967 ! 1159: 2574 y(6)p eop ! 1160: %%Page: 5 8 ! 1161: bop 262 307 a Fd(\014les)16 b(w)o(ere)i(copied)f(in)f(Sec.)g(2.)26 ! 1162: b(The)17 b(driv)o(er)g(adds)f(these)i(options)e(to)h Fe(cpp)p ! 1163: Fd('s)e(argumen)o(ts)262 357 y(when)f(it)f(in)o(v)o(ok)o(es)h(the)g(prepro)q ! 1164: (cessor,)i(except)g(when)e Fe(-N)f Fd(is)h(sp)q(eci\014ed.)324 ! 1165: 407 y(Design)9 b(this)h(list)g(carefully)m(.)15 b(Mixing)9 ! 1166: b(ANSI)h(and)g(pre-ANSI)g(headers)i(\(e.g.,)d(b)o(y)h(listing)262 ! 1167: 457 y Fe(/usr/include)k Fd(after)i(the)i(directory)f(of)f(ANSI)h(headers)h ! 1168: (as)f(sho)o(wn)f(ab)q(o)o(v)o(e\))h(ma)o(y)e(mix)262 506 y(incompatible)d ! 1169: (headers.)21 b(Unless)16 b(the)f(default)f(list)h(holds)f Fc(only)h ! 1170: Fe(/usr/include)d Fd(or)i Fc(only)262 556 y Fd(the)g(ANSI)g(headers,)h(man)o ! 1171: (y)d(users)j(ma)o(y)d(b)q(e)j(forced)f(to)g(use)h Fe(-N)e Fd(and)h ! 1172: Fe(-I)f Fd(incessan)o(tly)m(.)324 606 y Fe(com)c Fd(giv)o(es)h(the)g(command) ! 1173: d(for)i(in)o(v)o(oking)f(the)j(compiler.)k(This)10 b(protot)o(yp)q(e)g(can)g ! 1174: (app)q(ear)262 656 y(exactly)17 b(as)g(sho)o(wn)h(ab)q(o)o(v)o(e,)f(except)i ! 1175: (that)e(the)h(command)d(name)h(should)h(b)q(e)h(edited)g(to)262 ! 1176: 706 y(re\015ect)d(the)g(lo)q(cation)e(of)g(the)h(compiler)f(c)o(hosen)i(in)e ! 1177: (Sec.)h(2.)324 756 y Fe(as)f Fd(giv)o(es)h(the)g(command)e(for)h(in)o(v)o ! 1178: (oking)f(the)j(assem)o(bler.)324 805 y Fe(ld)c Fd(giv)o(es)h(the)h(command)c ! 1179: (for)j(in)o(v)o(oking)e(the)i(loader.)18 b(F)m(or)11 b(the)i(other)f ! 1180: (commands,)e(the)262 855 y(list)15 b Fe($2)g Fd(con)o(tains)h(a)g(single)f ! 1181: (\014le;)i(for)e Fe(ld)p Fd(,)h Fe($2)f Fd(con)o(tains)h(all)f(`.o')f ! 1182: (\014les)i(and)g(libraries,)g(and)262 905 y Fe($3)e Fd(is)g ! 1183: Fe(a.out)p Fd(,)g(unless)h(the)g Fe(-o)g Fd(option)f(is)g(sp)q(eci\014ed.)22 ! 1184: b(As)15 b(suggested)h(in)f(the)g(co)q(de)g(ab)q(o)o(v)o(e,)262 ! 1185: 955 y Fe(ld)e Fd(m)o(ust)g(also)g(sp)q(ecify)h(the)h(appropriate)f(startup)h ! 1186: (co)q(de)f(and)g(default)f(libraries.)324 1005 y(The)18 b Fe(option)f ! 1187: Fd(function)g(is)h(describ)q(ed)i(b)q(elo)o(w;)f(for)f(no)o(w,)g(use)h(an)e ! 1188: (existing)h Fe(option)262 1054 y Fd(function)13 b(or)h(one)g(that)g(returns)h ! 1189: Fe(0)p Fd(.)324 1104 y(After)f(sp)q(ecifying)g(the)h(protot)o(yp)q(es,)f ! 1190: (compile)e(the)j(driv)o(er)f(b)o(y)262 1187 y Fe($)21 b(cd)g(etc)262 ! 1191: 1237 y($)g(make)g(HOST=hart)262 1320 y Fd(where)e Fe(hart)e ! 1192: Fd(is)i(replaced)g(b)o(y)f Fc(yourhostname)p Fd(.)32 b(Run)18 ! 1193: b(the)h(resulting)g Fe(a.out)e Fd(with)h(the)262 1370 y(options)13 ! 1194: b Fe(-v)21 b(-v)14 b Fd(to)g(displa)o(y)e(the)j(commands)c(that)j(w)o(ould)f ! 1195: (b)q(e)i(executed,)g(e.g.,)262 1453 y Fe($)21 b(a.out)g(-v)g(-v)h(foo.c)e ! 1196: (baz.c)h(mylib.a)f(-lX11)262 1503 y(a.out)g(version)h(1.9)262 ! 1197: 1553 y(foo.c:)262 1602 y(/usr/gnu/lib/gc)o(c-cpp)d(-undef)j(-DLANGUAGE_C)e ! 1198: (-D_LANGUAGE_C)327 1652 y(-D__LANGUAGE_C)g(-D_unix)h(-D__unix)g(-Dultrix)g ! 1199: (-D_ultrix)g(-D__ultrix)327 1702 y(-Dmips)g(-D_mips)h(-D__mips)f(-Dhost_mips) ! 1200: f(-D_host_mips)h(-D__host_mips)327 1752 y(-DMIPSEL)g(-D_MIPSEL)g(-D__MIPSEL)g ! 1201: (-Dunix)g(-D__LCC__)g(-v)327 1802 y(-I/usr/local/incl)o(ude/a)o(nsi)f(foo.c)h ! 1202: (|)327 1851 y(/usr/local/lib/rc)o(c)f(-v)i(-)h(/tmp/lcc18299.s)262 ! 1203: 1901 y(/bin/as)e(-o)h(foo.o)g(-nocpp)g(-EL)g(/tmp/lcc18299.s)262 ! 1204: 1951 y(baz.c:)262 2001 y(/usr/gnu/lib/gc)o(c-cpp)d(-undef)j(-DLANGUAGE_C)e ! 1205: (-D_LANGUAGE_C)327 2051 y(-D__LANGUAGE_C)g(-D_unix)h(-D__unix)g(-Dultrix)g ! 1206: (-D_ultrix)g(-D__ultrix)327 2100 y(-Dmips)g(-D_mips)h(-D__mips)f(-Dhost_mips) ! 1207: f(-D_host_mips)h(-D__host_mips)327 2150 y(-DMIPSEL)g(-D_MIPSEL)g(-D__MIPSEL)g ! 1208: (-Dunix)g(-D__LCC__)g(-v)327 2200 y(-I/usr/local/incl)o(ude/a)o(nsi)f(baz.c)h ! 1209: (|)327 2250 y(/usr/local/lib/rc)o(c)f(-v)i(-)h(/tmp/lcc18299.s)262 ! 1210: 2300 y(/bin/as)e(-o)h(baz.o)g(-nocpp)g(-EL)g(/tmp/lcc18299.s)262 ! 1211: 2350 y(/usr/bin/ld)e(-o)i(a.out)g(/usr/lib/crt0.o)e(foo.o)i(baz.o)f(mylib.a) ! 1212: 327 2399 y(-lX11)h(-lm)g(-lc)262 2449 y(rm)g(/tmp/lcc18299.s)967 ! 1213: 2574 y Fd(5)p eop ! 1214: %%Page: 4 9 ! 1215: bop 262 357 a Fe(int)21 b(option\(arg\))e(char)i(*arg;)g({)436 ! 1216: 407 y(if)g(\(strcmp\(arg,)f("-g"\))g(==)i(0\))610 457 y(as[3])f(=)h("-g";)436 ! 1217: 506 y(else)f(if)g(\(strcmp\(arg,)f("-p"\))g(==)i(0)436 556 ! 1218: y(&&)f(strcmp\(ld[3],)e("/usr/lib/crt0.o"\))f(==)k(0\))f({)610 ! 1219: 606 y(ld[3])g(=)h("/usr/lib/mcrt0)o(.o";)610 656 y(ld[7])f(=)h ! 1220: ("/usr/lib/libpr)o(of1.a)o(";)436 706 y(})f(else)g(if)h(\(strcmp\(arg,)d ! 1221: ("-b"\))i(==)g(0)436 756 y(&&)g(access\("/usr/local/)o(lib/)o(bbexi)o(t.o",)d ! 1222: (4\))k(==)f(0\))610 805 y(ld[6])g(=)h("/usr/local/lib)o(/bbex)o(it.o")o(;)436 ! 1223: 855 y(else)610 905 y(return)f(0;)436 955 y(return)f(1;)262 ! 1224: 1005 y(})324 1088 y Fd(Most)10 b(of)g(the)g(host-sp)q(eci\014c)i(co)q(de)f ! 1225: (is)f(data)g(that)g(giv)o(es)g(protot)o(yp)q(es)h(for)e(the)i(commands)262 ! 1226: 1137 y(that)j(in)o(v)o(ok)o(e)g(the)i(prepro)q(cessor,)h(compiler,)c(assem)o ! 1227: (bler,)i(and)f(loader.)21 b(Eac)o(h)15 b(command)262 1187 y(protot)o(yp)q(e) ! 1228: 20 b(is)h(an)f(arra)o(y)g(of)g(p)q(oin)o(ters)h(to)f(strings)h(terminated)e ! 1229: (with)h(a)h(n)o(ull)e(p)q(oin)o(ter;)262 1237 y(the)e(\014rst)i(string)e(is)g ! 1230: (the)h(full)e(path)h(name)g(of)f(the)i(command)d(and)i(the)h(others)g(are)g ! 1231: (the)262 1287 y(argumen)o(ts)13 b(or)h(argumen)o(t)e(placeholders,)i(whic)o ! 1232: (h)g(are)g(describ)q(ed)i(b)q(elo)o(w.)324 1337 y(The)k Fe(cpp)g ! 1233: Fd(arra)o(y)g(giv)o(es)g(the)h(command)c(for)j(running)g(the)h(prepro)q ! 1234: (cessor.)39 b Fe(lcc)20 b Fd(is)262 1386 y(in)o(tended)10 b(to)g(b)q(e)g ! 1235: (used)h(with)f(an)f(ANSI)i(prepro)q(cessor,)h(suc)o(h)f(as)f(the)g(GNU)g(C)g ! 1236: (prepro)q(cessor)262 1436 y(a)o(v)n(ailable)h(from)h(the)j(F)m(ree)g(Soft)o ! 1237: (w)o(are)e(F)m(oundation.)k(If)d(the)g(GNU)g(prepro)q(cessor)i(is)e(used,)262 ! 1238: 1486 y(it)f(m)o(ust)g(b)q(e)h(named)f Fe(gcc-cpp)g Fd(in)g(order)i(for)e ! 1239: Fe(lcc)p Fd('s)g Fe(-N)h Fd(option)f(to)h(w)o(ork)f(correctly)m(.)324 ! 1240: 1536 y(Literal)k(argumen)o(ts)f(sp)q(eci\014ed)j(in)e(protot)o(yp)q(es,)i ! 1241: (e.g.,)e Fe("-Dmips")e Fd(in)i(the)h Fe(cpp)f Fd(com-)262 1586 ! 1242: y(mand)12 b(ab)q(o)o(v)o(e,)h(are)h(passed)h(to)f(the)g(command)e(as)h(giv)o ! 1243: (en.)324 1636 y(The)h(strings)h Fe("$1")p Fd(,)d Fe("$2")p ! 1244: Fd(,)h(and)h Fe("$3")f Fd(in)h(protot)o(yp)q(es)g(are)h(placeholders)g(for)e ! 1245: Fc(lists)g Fd(of)262 1685 y(argumen)o(ts)f(that)h(are)h(substituted)h(in)e(a) ! 1246: g(cop)o(y)g(of)g(the)h(protot)o(yp)q(e)f(b)q(efore)h(the)g(command)262 ! 1247: 1735 y(is)f(executed.)21 b Fe($1)14 b Fd(is)g(replaced)h(b)o(y)e(the)i ! 1248: Fc(options)g Fd(sp)q(eci\014ed)g(b)o(y)f(the)h(user;)g(for)e(the)i(prepro-) ! 1249: 262 1785 y(cessor,)g(this)f(list)g(alw)o(a)o(ys)f(con)o(tains)i(at)f(least)g ! 1250: Fe(-Dunix)f Fd(and)h Fe(-D__LCC__)p Fd(.)k Fe($2)13 b Fd(is)i(replaced)262 ! 1251: 1835 y(b)o(y)e(the)i Fc(input)f Fd(\014les,)g(and)f Fe($3)h ! 1252: Fd(is)g(replaced)g(b)o(y)g(the)h Fc(output)f Fd(\014le.)324 ! 1253: 1885 y(Zero-length)d(argumen)o(ts)f(after)h(replacemen)o(t)g(are)g(remo)o(v)o ! 1254: (ed)e(from)g(the)j(argumen)o(t)d(list)262 1934 y(b)q(efore)14 ! 1255: b(the)g(command)d(is)j(in)o(v)o(ok)o(ed.)j(So,)c(e.g.,)g(if)g(the)h(prepro)q ! 1256: (cessor)i(is)e(in)o(v)o(ok)o(ed)f(without)262 1984 y(an)f(output)h(\014le,)f ! 1257: Fe("$3")g Fd(b)q(ecomes)h Fe("")p Fd(,)f(whic)o(h)g(is)h(remo)o(v)o(ed)f ! 1258: (from)f(the)i(\014nal)f(argumen)o(t)g(list.)324 2034 y(F)m(or)d(example,)f ! 1259: (to)h(sp)q(ecify)h(a)f(prepro)q(cessor)j(command)6 b(protot)o(yp)q(e)k(to)f ! 1260: (in)o(v)o(ok)o(e)g Fe(/bin/cpp)262 2084 y Fd(with)k(the)i(options)e ! 1261: Fe(-Dmips)g Fd(and)g Fe(-Dultrix)p Fd(,)f(the)j Fe(cpp)e Fd(arra)o(y)g(w)o ! 1262: (ould)h(b)q(e)262 2167 y Fe(char)20 b(*cpp[])h(=)h({)f("/bin/cpp",)f ! 1263: ("-Dvax",)g("-Dultrix",)436 2217 y("$1",)h("$2",)f("$3",)h(0)h(};)324 ! 1264: 2300 y Fd(The)11 b Fe(include)f Fd(arra)o(y)h(is)g(a)g(list)g(of)f ! 1265: Fe(-I)h Fd(options)g(that)g(sp)q(ecify)h(whic)o(h)f(directiv)o(es)h(should) ! 1266: 262 2350 y(b)q(e)k(searc)o(hed)h(to)e(satisfy)g(include)g(directiv)o(es.)24 ! 1267: b(These)17 b(directories)f(are)g(searc)o(hed)h(in)e(the)262 ! 1268: 2399 y(order)i(giv)o(en.)25 b(The)17 b(\014rst)h(directory)f(should)g(b)q(e)g ! 1269: (the)g(one)g(to)f(whic)o(h)h(the)g(ANSI)g(header)967 2574 y(4)p ! 1270: eop ! 1271: %%Page: 3 10 ! 1272: bop 262 307 a Fd(Not)11 b(all)f(com)o(binations)g(of)h Fc(tar)n(get)p ! 1273: Fd(,)f Fc(system)15 b Fd(are)d(pro)o(vided)f(and)h(man)o(y)d(don't)i(mak)o(e) ! 1274: f(sense.)262 357 y(Cho)q(ose)16 b(the)g(include)f(\014les)h(that)g(are)g ! 1275: (appropriate)g(for)f(y)o(our)g(system,)h(or)f(mak)o(e)f(a)i(cop)o(y)262 ! 1276: 407 y(of)d(a)g(closely)h(related)h(set)g(and)e(edit)h(them.)324 ! 1277: 457 y(F)m(or)9 b(example,)f(if)h(the)g(paths)h(sho)o(wn)f(ab)q(o)o(v)o(e)g ! 1278: (are)h(c)o(hosen)g(and)f(if)g Fe(include/mips_ult)o(rix)262 ! 1279: 506 y Fd(has)14 b(the)g(appropriate)g(include)g(\014les,)g(install)e(the)j ! 1280: (man)d(page)i(and)g(include)g(\014les)g(b)o(y)262 589 y Fe($)21 ! 1281: b(cp)g(etc/lcc.1)f(/usr/local/man/man1)262 639 y($)h(cp)g ! 1282: (include/mips_ultrix/)o(*.h)e(/usr/local/incl)o(ude/a)o(nsi)262 ! 1283: 777 y Ff(3)69 b(Installing)21 b(the)h(Driv)n(er)262 867 y Fd(The)14 ! 1284: b(prepro)q(cessor,)j(compiler,)12 b(assem)o(bler,)h(and)h(loader)g(are)h(in)o ! 1285: (v)o(ok)o(ed)e(b)o(y)h(a)g(driv)o(er)h(pro-)262 917 y(gram,)f ! 1286: Fe(lcc)p Fd(,)h(whic)o(h)h(is)g(similar)d(to)j Fe(cc)g Fd(on)f(most)g ! 1287: (systems.)24 b(It's)16 b(describ)q(ed)i(in)e(the)g(man)262 ! 1288: 967 y(page)f Fe(etc/lcc.1)p Fd(.)21 b(The)c(driv)o(er)e(is)h(built)f(b)o(y)g ! 1289: (com)o(bining)f(the)i(host-indep)q(enden)o(t)h(part,)262 1017 ! 1290: y Fe(etc/lcc.c)p Fd(,)c(with)j(a)f(small)e(host-sp)q(eci\014c)18 ! 1291: b(part.)23 b(By)16 b(con)o(v)o(en)o(tion,)g(host-sp)q(eci\014c)h(parts)262 ! 1292: 1067 y(are)12 b(named)e Fc(hostname)p Fe(.c)p Fd(,)i(where)h ! 1293: Fc(hostname)j Fd(is)11 b(the)h(lo)q(cal)f(name)g(for)g(the)h(host)g(on)g ! 1294: (whic)o(h)262 1117 y Fe(lcc)i Fd(is)h(b)q(eing)g(installed.)22 ! 1295: b Fe(etc)14 b Fd(holds)h(man)o(y)f(examples.)21 b(Commen)o(ts)13 ! 1296: b(in)h(most)g(giv)o(e)h(the)262 1166 y(details)e(of)f(the)i(particular)f ! 1297: (host;)g(pic)o(k)g(one)h(that)f(is)g(closely)g(related)h(to)f(y)o(our)g ! 1298: (host,)h(cop)o(y)262 1216 y(it)e(to)g Fe(etc/)p Fc(yourhostname)p ! 1299: Fe(.c)p Fd(,)g(and)h(edit)f(it)h(as)f(describ)q(ed)j(b)q(elo)o(w.)i(Y)m(ou)12 ! 1300: b(should)g(not)h(ha)o(v)o(e)262 1266 y(to)g(edit)h Fe(etc/lcc.c)p ! 1301: Fd(.)324 1316 y(Debug)d(y)o(our)f(v)o(ersion)h(of)f(the)h(driv)o(er)g(b)o(y)g ! 1302: (running)f(it)h(with)f(the)i Fe(-v)21 b(-v)10 b Fd(options,)h(whic)o(h)262 ! 1303: 1366 y(cause)j(it)g(to)g(ec)o(ho)g(the)h(commands)c(it)j(w)o(ould)f(execute,) ! 1304: i(but)f(not)g(to)g(execute)h(them.)324 1415 y(Here's)f Fe(etc/hart.c)p ! 1305: Fd(,)d(whic)o(h)i(w)o(e'll)f(use)i(as)f(an)g(example)f(in)h(describing)h(ho)o ! 1306: (w)e(to)h(edit)262 1465 y(a)g(host-sp)q(eci\014c)j(part.)i(This)c(example)e ! 1307: (illustrates)i(all)f(of)g(the)i(imp)q(ortan)o(t)d(features.)262 ! 1308: 1548 y Fe(/*)21 b(DECStations)e(running)i(ULTRIX)f(at)i(Princeton)e ! 1309: (University)f(*/)262 1648 y(#include)h(<string.h>)262 1747 ! 1310: y(char)g(*cpp[])h(=)h({)436 1797 y("/usr/gnu/lib/gcc)o(-cpp")o(,)d("-undef",) ! 1311: 436 1847 y("-DLANGUAGE_C",)g("-D_LANGUAGE_C")o(,)g("-D__LANGUAGE_C",)436 ! 1312: 1897 y("-D_unix",)h("-D__unix",)436 1947 y("-Dultrix",)f("-D_ultrix",)h ! 1313: ("-D__ultrix",)436 1997 y("-Dmips",)g("-D_mips",)g("-D__mips",)436 ! 1314: 2046 y("-Dhost_mips",)f("-D_host_mips",)f("-D__host_mips",)436 ! 1315: 2096 y("-DMIPSEL",)h("-D_MIPSEL",)h("-D__MIPSEL",)436 2146 ! 1316: y("$1",)h("$2",)f("$3",)h(0)h(};)262 2196 y(char)e(*include[])g(=)i({)f ! 1317: ("-I/usr/local/inclu)o(de/an)o(si",)d(0)k(};)262 2246 y(char)e(*com[])h(=)43 ! 1318: b({)22 b("/usr/local/lib/r)o(cc",)c("$1",)j("$2",)g("$3",)g(0)g(};)262 ! 1319: 2295 y(char)f(*as[])h(=)44 b({)21 b("/bin/as",)f("-o",)h("$3",)f("",)i("$1",) ! 1320: 436 2345 y("-nocpp",)e("-EL",)g("$2",)h(0)h(};)262 2395 y(char)e(*ld[])h(=)44 ! 1321: b({)21 b("/usr/bin/ld",)e("-o",)i("$3",)g("/usr/lib/crt0.o)o(",)436 ! 1322: 2445 y("$1",)g("$2",)f("",)i("",)f("-lm",)f("-lc",)h(0)g(};)967 ! 1323: 2574 y Fd(3)p eop ! 1324: %%Page: 2 11 ! 1325: bop 324 307 a Fd(Installation)14 b(of)h(a)g(pro)q(duction)h(compiler)e(in)o ! 1326: (v)o(olv)o(es)h(three)i(steps)g(p)q(erformed)e(in)g(the)262 ! 1327: 357 y(follo)o(wing)c(order.)312 440 y(1.)20 b(Decide)15 b(where)f(to)g ! 1328: (install)e(the)j(man)d(page,)h(the)h(include)g(\014les,)g(the)g(compiler,)e ! 1329: (and)365 490 y Fe(lcc)p Fd(,)h(the)i(driv)o(er)f(program;)d(see)16 ! 1330: b(Sec.)e(2.)312 573 y(2.)20 b(Install)14 b(a)f(host-sp)q(eci\014c)j(driv)o ! 1331: (er;)d(see)i(Sec.)g(3.)312 656 y(3.)20 b(Install)14 b(a)f(host-)h(and)g ! 1332: (target-sp)q(eci\014c)i(compiler;)c(see)j(Sec.)f(4.)324 739 ! 1333: y Fe(c/version.h)j Fd(iden)o(ti\014es)j(the)g(v)o(ersion)f(of)g(the)h ! 1334: (distribution)f(as)h Fe(\(\()p Fb(x)p Fe(<<8\)|)p Fb(y)q Fe(\))e ! 1335: Fd(for)262 789 y(v)o(ersion)c Fb(x)p Fe(.)p Fb(y)q Fd(,)f(and)h ! 1336: Fe(LOG)f Fd(describ)q(es)j(the)f(c)o(hanges)f(from)e(the)j(previous)f(v)o ! 1337: (ersion.)324 839 y Fe(doc/*.tex)i Fd(are)i(L)622 834 y Fa(a)641 ! 1338: 839 y Fd(T)664 851 y(E)687 839 y(X)g(input)f(\014les)i(for)e(sev)o(eral)h ! 1339: (rep)q(orts)h(that)f(describ)q(e)i Fe(lcc)p Fd(,)d(in-)262 ! 1340: 888 y(cluding)c(this)h(one.)k(T)m(o)13 b(format)f(these)j(rep)q(orts,)g(run)f ! 1341: Fe(latex)f Fd(t)o(wice,)h(e.g.,)262 971 y Fe($)21 b(latex)g(overview;)f ! 1342: (latex)h(overview)262 1054 y Fd(Ignore)14 b(w)o(arnings)f(ab)q(out)h(o)o(v)o ! 1343: (erfull)f(b)q(o)o(xes.)262 1192 y Ff(2)69 b(P)n(aths)262 1283 ! 1344: y Fd(Installation)9 b(consists)j(of)e(three)i(\014les)f(and)g(one)g ! 1345: (directory;)h(these)g(are)f(summarized)e(b)q(elo)o(w)262 1332 ! 1346: y(along)j(with)i(paths)g(used)h(in)e(t)o(ypical)g(installations.)452 ! 1347: 1421 y Fe(/usr/local/man/man1)o(/lcc.)o(1)47 b Fd(the)14 b(man)f(page)452 ! 1348: 1471 y Fe(/usr/local/lib/rcc)199 b Fd(the)14 b(compiler)452 ! 1349: 1521 y Fe(/usr/local/bin/lcc)199 b Fd(the)14 b(driv)o(er)452 ! 1350: 1570 y Fe(/usr/local/include/)o(ansi)90 b Fd(include)14 b(\014les)g(\(a)g ! 1351: (directory\))324 1660 y(These)23 b(\014les)g(can)f(b)q(e)h(placed)f(in)g ! 1352: (other,)i(site-sp)q(eci\014c)g(lo)q(cations,)f(but)f(the)h(com-)262 ! 1353: 1710 y(piler)16 b(should)g(b)q(e)h(named)e Fe(rcc)p Fd(.)25 ! 1354: b(If)16 b(the)h(driv)o(er)f(isn't)g(named)g Fe(lcc)p Fd(,)f(edit)i(the)g(man) ! 1355: e(page)262 1759 y(\()p Fe(etc/lcc.1)p Fd(\).)324 1809 y(Include)g(\014les)h ! 1356: (are)f(in)g(directories)h(named)e Fe(include/)p Fc(tar)n(get)p ! 1357: Fe(_)p Fc(system)p Fd(;)f(the)i(follo)o(wing)262 1859 y(table)e(lists)h(the)h ! 1358: (a)o(v)n(ailable)c(com)o(binations.)563 1931 y Fc(tar)n(get)49 ! 1359: b(system)60 b Fd(op)q(erating)14 b(system)563 1990 y Fe(vax)86 ! 1360: b(bsd)115 b Fd(4.3BSD)13 b(UNIX)715 2040 y Fe(ultrix)49 b Fd(UL)m(TRIX)13 ! 1361: b(3.0)715 2090 y Fe(v9)137 b Fd(9th)14 b(Edition)f(UNIX)563 ! 1362: 2140 y Fe(mips)64 b(iris)93 b Fd(IRIX)13 b(System)h(V)g(Release)g(3.2)715 ! 1363: 2189 y Fe(mips)93 b Fd(RISC/OS)13 b(4.0)715 2239 y Fe(ultrix)49 ! 1364: b Fd(UL)m(TRIX)13 b(4.0)563 2289 y Fe(mc)108 b(sun)115 b Fd(SunOS)14 ! 1365: b(4.0)715 2339 y Fe(next)93 b Fd(Mac)o(h)967 2574 y(2)p eop ! 1366: %%Page: 1 12 ! 1367: bop 795 482 a Fh(Installing)21 b(lcc)738 602 y Fg(Christopher)16 ! 1368: b(W.)g(F)l(raser)459 660 y(A)l(T&T)g(Bell)f(Lab)q(oratories,)j(600)f(Moun)o ! 1369: (tain)f(Av)o(en)o(ue,)737 718 y(Murra)o(y)g(Hill,)e(NJ)h(07974)794 ! 1370: 801 y(Da)o(vid)h(R.)g(Hanson)381 859 y(Departmen)o(t)f(of)i(Computer)e ! 1371: (Science,)f(Princeton)i(Univ)o(ersit)o(y)l(,)759 917 y(Princeton,)g(NJ)g ! 1372: (08544)835 1014 y(Ma)o(y)f(21,)i(1991)624 1064 y(Last)g(Revised)e(Septem)o(b) ! 1373: q(er)f(15,)j(1992)262 1239 y Ff(1)69 b(In)n(tro)r(duction)262 ! 1374: 1330 y Fe(lcc)19 b Fd(is)g(a)g(retargetable)i(compiler)d(for)i(ANSI)g(C)f ! 1375: ([1].)35 b Fe(lcc)19 b Fd(is)g(in)g(pro)q(duction)h(use)h(at)262 ! 1376: 1380 y(Princeton)12 b(Univ)o(ersit)o(y)g(and)f(A)m(T&T)h(Bell)f(Lab)q ! 1377: (oratories.)18 b(When)12 b(used)g(with)g(a)f(conform-)262 1430 ! 1378: y(ing)f(prepro)q(cessor)15 b(and)c(library)m(,)f Fe(lcc)h Fd(passes)i(the)f ! 1379: (conformance)f(section)h(of)f(V)m(ersion)h(2.00)262 1480 y(of)h(the)h ! 1380: (Plum-Hall)d(V)m(alidation)h(Suite)i(for)g(ANSI)g(C.)324 1530 ! 1381: y(Extract)h(the)f(distribution)f(in)o(to)h(its)g(o)o(wn)f(directory)m(.)18 ! 1382: b(All)c(paths)g(b)q(elo)o(w)f(are)i(relativ)o(e)262 1579 y(to)e(this)h ! 1383: (directory)m(.)324 1629 y(All)f(distributions)h(include)g(the)h(follo)o(wing) ! 1384: d(top-lev)o(el)h(directories;)i(\\fron)o(t-end")f(dis-)262 ! 1385: 1679 y(tributions)f(include)h Fc(only)k Fd(these)d(directories.)545 ! 1386: 1765 y Fe(c)181 b Fd(fron)o(t)13 b(end)545 1815 y Fe(etc)137 ! 1387: b Fd(driv)o(er,)13 b(man)g(page)545 1864 y Fe(doc)137 b Fd(this)14 ! 1388: b(do)q(cumen)o(t,)f(other)h(do)q(cumen)o(tation)545 1914 y ! 1389: Fe(include)49 b Fd(ANSI)14 b(include)g(\014les)545 1964 y Fe(tst)137 ! 1390: b Fd(test)15 b(suite)545 2014 y Fe(gen0)115 b Fd(\\sym)o(b)q(olic")11 ! 1391: b(co)q(de)k(generator)545 2064 y Fe(gen3)115 b Fd(demonstration)12 ! 1392: b(V)-5 b(AX)15 b(co)q(de)g(generator)262 2150 y(\\F)m(ron)o(t-end")f ! 1393: (distributions)i(include)f(no)g(pro)q(duction)h(co)q(de)g(generators)g(and)f ! 1394: (Sec.)h(4)f(of)262 2200 y(this)h(do)q(cumen)o(t)g(do)q(es)h(not)g(apply)m(.) ! 1395: 24 b(Secs.)18 b(5)e(and)g(6)g(describ)q(e)j(ho)o(w)d(to)g(build)g(compilers) ! 1396: 262 2250 y(with)f(the)i(demonstation)e(V)-5 b(AX)17 b(co)q(de)f(generator)h ! 1397: (and)f(the)h(sym)o(b)q(olic)d(co)q(de)j(generator,)262 2300 ! 1398: y(resp)q(ectiv)o(ely)m(.)324 2350 y(\\F)m(ull")e(distributions)i(include)g ! 1399: (co)q(de)g(generators)h(for)f(the)g(V)-5 b(AX,)18 b(MIPS,)e(and)h(Mo-)262 ! 1400: 2399 y(torola)9 b(68020)g(with)i(the)g(68881)e(\015oating-p)q(oin)o(t)g ! 1401: (co-pro)q(cessor.)19 b(These)11 b(distributions)g(add)262 2449 ! 1402: y(the)j(top-lev)o(el)f(directory)i Fe(gen2)p Fd(,)e(whic)o(h)g(holds)h(the)g ! 1403: (pro)q(duction)h(co)q(de)f(generators.)967 2574 y(1)p eop ! 1404: %%Trailer ! 1405: end ! 1406: userdict /end-hook known{end-hook}if ! 1407: %%EOF
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.