Aard}   @@P`  Pp Pp@p HH $ @d HHHHff@  d Footnote TableFootnote**.\t.\t/ - :;,.!?/ cx;*cxTOCHeading1Heading2   YEquationVariables@=?H?s???@==== <$lastpagenum><$monthname> <$daynum>, <$year>"<$monthnum>/<$daynum>/<$shortyear>J<$hour>:<$minute00> <$ampm> on <$dayname>, <$monthname> <$daynum>, <$year>"<$monthnum>/<$daynum>/<$shortyear><$monthname> <$daynum>, <$year>"<$monthnum>/<$daynum>/<$shortyear> <$fullfilename> <$filename> <$paratext[Title]> <$paratext[Heading1]> <$curpagenum> <$marker1> <$marker2> (Continued)+ (Sheet <$tblsheetnum> of <$tblsheetcount>)Heading & Page <$paratext> on page<$pagenum>Pagepage<$pagenum>See Heading & Page%See <$paratext> on page<$pagenum>. Table All7Table<$paranumonly>, <$paratext>, on page<$pagenum>Table Number & Page'Table<$paranumonly> on page<$pagenum>Heading <$paratext>?HTML Headings++A88::33557BAHHA,================>>>>> > > >>>>>>>>>>!>#>%>'>)>*>+>->/>1>3>5>7>9>;>=>?>@>A>C>E>G>I>K>M>O>Q>S>U>W>Y>[>]>_>a>c>e>g>i>j>k>m>o>q>s>u>w>y>{>}>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????? ? ? ??????????!?#?%?'?)?+?-?/?1?3?5?7?9?;?=???A?C?E?G?J?L?N?P?R?T?V?X?Z?\?^?`?b?d?f?h?j?l?n?p?r?u?w?y?{?}????????????????????????????????????????@@ @ @ @@@@@@@@@@!@#@%@'@)@*@$==???;#???;/;2;5%=????????????????@@@.@%@%@%@%@%@%@%@%@,@,@,@,@,@,@,@,@,@,@,@,@,@,@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%dq5+d@BB d=d=; HmR=HmRHRHRFootnote Hr@=Hr@HzHz Single LineH靕= Footnote =  HD= HDHH Double LineH=  Double Line= = H֝=  Single Line= d5p77HZ֝=; TableFootnoted=d?靕l d=d1QRUX[^adgjmpsvy| %).1W,܁܁Bm }蝝d =蝝d WaHTML Mapping Table }H蝝d =H蝝d Wa }H蝝d =H蝝d Wa }H蝝d =H蝝d Wa }H蝝d =H蝝d Wa }H=H! FrameMaker PA Source Item }H =H Wa HTML Item }H =H Wa }H=H W aInclude Auto# } H= H W a Comments }H=H W a }HH= HH W aElement }H=#H W a New Topic? }H=H Wa } H= H Wa }H = $H Wa P:Date Line }HH >#%HH WaP }H >$&H WaN }H >%'H WaN } H >&( H Wa }EH >')EH Wa P:Reading }HEH > (*HEH WaP }EH > )+EH WaN }EH >*,EH WaN } EH >+- EH Wa }QH >,.QH WaP:Title }HQH >-/HQH WaH* }QH >.0QH WaN }QH >/1QH WaN } QH >02 QH Wa }]H >13]H WaP:Body }H]H >24H]H W aP }]H > 35]H W!aN }]H >"46]H W"aN } ]H >$57 ]H W#a }iH(>&68iH( W$a P:Numbered1 }HiH(>(79HiH((%aLI &a Parent = OL Q'a Depth = 0 }iH(>,8:iH( W(aN }iH(>.9;iH( W)aY } iH(>0:< iH( W*a }띝H >2;=띝H  W+a P:Heading1 }H띝H >4<>H띝H  W,aH* }띝H >6=?띝H  W-aN }띝H >8>@띝H  W.aN } 띝H >:?A 띝H  W/a }H(><@BH(  W0a P:Numbered }HH(>>ACHH(( 1aP 2a Parent = OL Q3a Depth = 0 }H(>BBDH(  W4aN }H(>DCEH(  W5aY } H(>FDF H(  W6a }H >HEGH  W7a P:CellBody }HH >JFHHH  W8aP }H >LGIH  W9aN }H >NHJH  W:aN } H >PIK H  W;a }H >RJLH  W<aP:CellHeading }HH >TKMHH  W=aP }H >VLNH  W>aN }H >XMOH  W?aN } H >ZNP H  W@a }H >\OQH  WAa P:Footnote }HH >^PRHH  WBaP }H >`QSH  WCaN }H >bRTH  WDaN } H >dSU H  WEa }ȝH(>fTVȝH( WFa P:Bulleted }HȝH(>hUWHȝH((GaLI Ha Parent = UL QIa Depth = 0 }ȝH(>lVXȝH( WJaN }ȝH(>nWYȝH( WKaN } ȝH(>pXZ ȝH( WLa }H >rY[H WMa P:Heading2 }HH >tZ\HH WNaH* }H >v[]H WOaN }H >x\^H WPaN } H >z]_ H WQa }H>|^`HR! P:HeadingRuPAnIn }HH>~_aHH WSaP }H>`bH WTaN }H>acH WUaN } H>bd H WVa }7H >ce7H WWa P:Indented }H7H >dfH7H WXaP }7H >eg7H WYaN }7H >fh7H WZaN } 7H >gi 7H W[a }CH>hjCH\! P:TableFootPAnote }HCH>ikHCH W]aP }CH>jlCH W^aN }CH>kmCH W_aN } CH>ln CH W`a }]H(>mo]H( Waa P:TableTitle }H]H(>npH]H((baLI ca Parent = OL Qda Depth = 0 }]H(>oq]H( WeaN }]H(>pr]H( WfaN } ]H(>qs ]H( Wga }֝H >rt֝H Wha P:BodySpaced }H֝H >suH֝H WiaP }֝H >tv֝H WjaN }֝H >uw֝H WkaN } ֝H >vx ֝H Wla }띝H >wy띝H WmaP:Date }H띝H >xzH띝H WnaP }띝H >y{띝H WoaN }띝H >z|띝H WpaN } 띝H >{} 띝H Wqa }H(>|~H(r! P:NumberedPASpaced }HH(>}HH((saP ta Parent = OL Qua Depth = 0 }H(>~H( WvaN }H(>H( WwaY } H(> H( Wxa }H >H WyaP:DateProject }HH >HH WzaP }H >H W{aN }H >H W|aN } H > H W}a }H >H W~a C:BoldItalic }HH > HH WaSTRONG }H > H WaN }H > H WaN } H > H Wa }H> H! C:EquationPA Variables }HH> HH WaEM }H> H WaN }H>H WaN } H> H Wa }H >H Wa C:Italic }HH >HH W aEM }H >H W aN }H >H W aN } H > H W a }H >H W aC:Bold }HH >HH WaSTRONG }H >H WaN }H >H WaN } H > H Wa }H>H! X:Heading & PAPage }HH>HH Wa See Also }H>H WaN }H>H WaN } H? H Wa })H ?!)H WaX:Page }H)H ? "H)H Wa See Also })H ?!#)H WaN })H ?"$)H WaN } )H ? #% )H Wa }5H? $&5H! X:See HeadPA ing & Page }H5H?%'H5H Wa See Also }5H?&(5H WaN }5H?')5H WaN } 5H?(* 5H W a }OH ?)+OH W!a X:Table All }HOH ?*,HOH W"a See Also }OH ?+-OH W#aN }OH ?,.OH W$aN } OH ?-/ OH W%a }[H? .0[H &! X:Table NumPA ber & Page }H[H?"/1H[H  W'a See Also }[H?$02[H  W(aN }[H?&13[H  W)aN } [H?(24 [H  W*a }uH?*35uH !W+a X:Heading }HuH?,46HuH!,! USE XREF PAFMT }uH?.57uH !W-aN }uH?068uH !W.aN } uH?279 uH !W/a }蝝H?48:蝝H "W0a P:Header }H蝝H?69;H蝝H"1!THROW PAAWAY }蝝H?8:<蝝H "W2aN }蝝H?:;=蝝H "W3aN } 蝝H?<<> 蝝H "W4a }H ?>=?H #W5a }HH ?@>@HH #W6a }H ?B?AH #W7a }H ?D@BH #W8a } H ?FAC H #W9a }d ?IBFd $W:aHTML Options Table }Dd ?KDd $W;a }Dd ?MDd $W<a }D ?OCGD %W=a }DH ?QFHDH %W>a }H ?SGIH %W?a }םD ?UHJםD &W@a Image Format }DםH ?WIKDםH &WAaIMAGGIF }םH ?YJLםH &WBa }D ?[KMD 'WCaBanners }DH ?]LNDH 'WDaN }H ?_MOH 'WEa }ԝD?aNPԝD(F! Banner ReferPA ence Frame }DԝH?cOQDԝH (WGa }ԝH?ePԝH (WHa }D(?g>SD((@)I! Copy Files  Imported by PA Rerefernce }DH(?i>RTDH( @)WJa }H(?k>SUH( @)WKa }DD ?m>TVDD @*WLa }DDH ?o>UWDDH @*WMa }DH ?q>VXDH @*WNa }Vd ?t>W[Vd @+WOaSystem Macros }?Vd ?v>?Vd @+WPa }?Vd ?x>?Vd @+WQa }f? ?z>X\f? @,WRa Macro Name }?fH ?|>[]?fH @,WSa Replace With }fH ?~>\^fH @,WTa Comments }r? ?>]_r? @-WUa StartOfDoc }?rH ?>^`?rH @-WVa }rH ?>_arH @-WWa }~? ?>`b~? @.WXa EndOfDoc }?~H ?>ac?~H @.WYa }~H ?>bd~H @.WZa }??>ce?@/[! StartOfSubPADoc }?H?>df?H @/W\a }H?>egH @/W]a }??>fh?@0^! EndOfSubPADoc }?H?>gi?H @0W_a }H?>hjH @0W`a }??>ik?@1a! StartOfFirstPASubDoc }?H?>jl?H @1Wba }H?>kmH @1Wca }??>ln?@2d! EndOfFirstPASubDoc }?H?>mo?H @2Wea }H?>npH @2Wfa }??>oq?@3g! StartOfLastPASubDoc }?H?>pr?H @3Wha }H?>qsH @3Wia } ??>rt ?@4j! EndOfLastPASubDoc }? H?>su? H @4Wka } H?>tv H @4Wla }&? ?>uw&? @5Wma }?&H ?>vx?&H @5Wna }&H ?>wy&H @5Woa }8d ?>x|8d @6WpaCross-Reference Macros }?8d ?>?8d @6Wqa }?8d ?>?8d @6Wra }H? ?>y}H? @7Wsa Macro Name }?HH ?>|~?HH @7Wta Replace With }HH ?>}HH @7Wua Comments }T??>~T? @8Wva See Also }?TH?>?TH@8w! See Also: PA <$paratext> }TH?>TH @8Wxa }n? ?>n? @9Wya }?nH ?>?nH @9Wza }nH ?>nH @9W{a }d ?> d @:WaGeneral Macros }?d ?>?d @:Wa }?d ?>?d @:Wa }?d ?>?d @:Wa }? ?>"? @;Wa Macro Name d@ d@ d 靕l d@ do  W܁܁Bm }蝝d @ 蝝d  <W|aHeadings Table }H蝝d @ H蝝d  <W}a }H蝝d @  H蝝d  <W~a }H@  H =!Paragraph ForPAmat }HH@ HH  =WaHeading Level }H@ H  =Wa Comments }H@ H >W aTitle }HH@ HH  >Wa }H@ H  >Wa }KH @ KH  ?Wa Heading1 }HKH @ HKH  ?Wa }KH @ KH  ?Wa }WH @ WH  @Wa Heading2 }HWH @  HWH  @W a }WH @" WH  @W a }cH @$ cH  AW a }HcH @& HcH  AW a }cH @( cH  AW a "d=8H}?H ?> #?H @;Wa Replace With }H ?>"$H @;WaHead }H ?>#%H @;Wa Comments }? ?>$&? @BWa }?H ?>%'?H @BW a }H ?>&(H @BW!a }H ?>')H @BW"a }d ?>(.d @CW#aCharacter Macros HH;"HH❝+G܁e HH;$3HH**靕l}?d ?>?d @CW$a }?d ?>?d @CW%a }? ?>)/? @DW&a Macro Name }?H ?>.0?H @DW'a Replace With }H ?>/1H @DW(a Comments }? ?>0<? @EW)a HUV ;.HUV ❝3G܁e HUV ;05+HUV 22靕l H$ ;1H$ 5G܁e H$ ;33H$ 44靕l HH;4HHĝ337 `The Stages of Compilation /,` Introduction 0܁`OThis describes the basic stages of compilation in a very non-traditional way 1I` 7`*From: Mateo.Burtch@Eng.Sun.COM (Room 101) 8`.Subject: YADFH (Yet Another D*** Friday Hack) 9` !: OHi. This isn't exactly a hack, and thus probably doesn't deserve to be called Ia "Friday Hack," but SOOOOO many people have been coming up to me in the Kshower, saying, Please, tell us the secrets of how the compilation process @Kworks, that I finally decided to share with you the old family recipe for: ;` <`THE STAGES OF COMPILATION =` !> OSOURCE FILE: This is the basic "code" that the engineer writes. The compiler @will take code such as ?` @`dweeble(flab, krimjaw) A`&sneet flab *(**smicknat[])(blugnut); B`blook krimjaw; C`{ D`!blark snapdaddle liederhosen ; E` F`if (fleb <= OAK_TREE) G`!while (trousers(liederhosen)) H` thud; I`else J`brick(flab); K`} L` !M Pand turn it into output that means, roughly, "point the hose away from yourself @while watering." N` O`6Obviously, the compiler is a lot smarter than we are. P` !Q LPREPROCESSOR: The preprocessor takes all sorts of special directives, like L#ifdefs, and converts them into conditional statements (known as "#ifdefs") Pthat the compiler uses to prepare the file (or "#ifdef") for processing. (This @Kis a technical simplification that is in most, if not all, aspects wrong.) R` !S MThe preprocessor also strips the source file of comments (not to be confused Owith #ifdefs), leaving it a shaken husk of its former self. These comments are Pthen pieced together by a separate function and used for insulation in Building @12. T` !U LCOMPILER: The heart of the whole process. The compiler takes the language Owords, such as "if," "for," and "help!" and turns it into the bits, bytes, and @Psubroutines that give employment to a whole host of socially challenged people. V` aW NOPTIMIZATION: This stage makes the generated code as efficient as possible. NThe optimizer does this by carefully trimming the odd and dangly parts off of HH;6HHB66 靕lH$ =!:H$ 99靕l H$ =!H$ 8W܁܁h4May 18, 1999ECS 150 Spring 1999Page 1 HUV =!8HHUV GG靕l EGxR=EGxREPwEPw TableFootnote}?H ?>1=?H @EW*a }H ?><H @EW+a d???d?>d@@ 靕l d?>dR=?RUX[^adgjmpsvy| %).1 HH@HH5BW܁܁DInumerals like "5" and "9" until all the numbers are either "1"s or "0"s. X큩d 1Y$OASSEMBLER: The assembler takes "machine code" (low-level instructions done by Kpoorly-paid workers in windowless sweatshops called "assembler lines") and Ddoes something with it. Zd ![$OLINKER: Before we're done, we must link together all the various object files Pwith libraries containing macros and canned routines. Don't ask why--it's like D4salmon swimming upstream to spawn. You just do it. \d !]$LThese libraries perform a special job in the grand pageant known as programNming. The pre-written macros and functions they contain allow the programmer Nto save valuable time when writing a program, while the arcane linker options Oand obscure environment variables slow the programmer down just as much. This Nis known as "run-time equilibrium" and is rather similar to horizontal bungee-D jumping. ^d !_$OEXECUTABLE: This is the final product, the finished masterpiece, the piece de Mresistance of the whole process. This file is what the engineer had in mind Dwhen he or she started out. `d adIt's called "core." bd cd--Mateo dd Ad HH@HH7AA 靕l HUV =!HUV ❝:W܁܁h=Last modified at 10:42 pm on Monday, May 17, 1999 HH=!:HHII 靕l HH=!HH❝HW܁܁` dLeftd!Rightd Referenced dHTMLd>HTMLd Headingsd%Ŀ@@ ZMapping Table Title. Ŀ@@ ZBody. f@ ZBody. f@ Z BodySpaced. Ŀ@@ ZFooter. f@T Z TableTitleT:Table : . f@ Z Bulleted\t. f@ Z...Date. mf@ Zl. DateProject. Ŀ@@ ZHeader Double Line. f@T ZHeading1Body. f@ Z Numbered.\t. f@E Z Numbered1.\tNumbered. f@ Z NumberedSpaced.\t. f@ Z.Reading. f@ ZBody. Ŀ@@ ZHeader Double Line. f@ Z CellFooting. f@ Z CellHeading. f@ Z CellBody. Ŀ@@ ZMapping Table Cell.  f@PZTitleBody. Ŀ@@3Mapping Table Cell. f@$Z.Line Single Line. Ŀ@@ 3Mapping Table Cell. Ŀ@@ ZMapping Table Cell. f@ ZCellBody. f@T ZHeading1Body. f@ Z CellHeading. f@ Z Footnote. f@T ZHeading2Body. f@T Z HeadingRunInBody. f@ Z Indented. f@ Z TableFootnote. f@T Z TableTitleT:Table : .  f@PZTitleBody. f@  Body. f@   $.H.l..... .D.h.Code. f@  HlBody.  Hf@ ZH. LineComment. Z ZZ蜜Emphasis Z蜜 3 Z ZZZ蜜EquationVariables 3 蜜 BoldItalic ۸ZItalic Z   Z3 Z ZBoldZZThinMediumDoubleThick@ Very Thin HHHHHFormat A HHHHHFormat BH Mapping TableH Mapping Tableh*|#HHHHHf$*DHH+5?HH&69?HH :B?HHH CE?HH*6 ? @ h( A B C D E h  F G H I J h  K L M N O 𝝡h  P Q R S T ȝh( UVWXYh Z[\]^h_`abc7h defghChijklm]h(nopqr֝h stuvw띝h xyz{|h(}~h h    𝝡h  h h h)h  !"#$5h%&'()Oh  *+,-.[h!/ 0 1 2 3 uh "4!5!6!7!8!蝝h!#9":";"<"="h ">#?#@#A#B# %C$D$E$ $&F%G%H%ם %'I&J&K& &(L'M'N'ԝ')O(P(Q(((*@R)S)T)D )@U*V*W*V ,@X+Y+Z+f +-@[,\,],r ,.@^-_-`-~ -/@a.b.c..0@d/e/f//1@g0h0i002@j1k1l113@m2n2o224@p3q3r3 35@s4t4u4& 4@v5w5x58 7@y6z6{6H 68@|7}7~7T79@888n 8@999 ;@:::: :B@ ;";#;$;蝝 =  <<<<> ====? >>>K >@ ???W ?A @@@c @ AAA ;@%B&B'B(B D@)C,C-C CE@.D/D0D D@1Ed@s}xJҧ [N?ئ YS1!UV 1`2a芸k $"_iI1H6qj