%PDF-1.2 6 0 obj << /S /GoTo /D (chapter.1) >> endobj 8 0 obj (Introduction) endobj 10 0 obj << /S /GoTo /D (section.1.1) >> endobj 12 0 obj (The Java Virtual Machine) endobj 14 0 obj << /S /GoTo /D (subsection.1.1.1) >> endobj 16 0 obj (Purpose of the JVM) endobj 18 0 obj << /S /GoTo /D (subsection.1.1.2) >> endobj 20 0 obj (The JVM Class File) endobj 22 0 obj << /S /GoTo /D (subsection.1.1.3) >> endobj 24 0 obj (Code Segments in the JVM) endobj 26 0 obj << /S /GoTo /D (subsection.1.1.4) >> endobj 28 0 obj (Bytecode Verification and Security) endobj 30 0 obj << /S /GoTo /D (section.1.2) >> endobj 32 0 obj (Why Port Non-Java Languages to the JVM?) endobj 34 0 obj << /S /GoTo /D (subsection.1.2.1) >> endobj 36 0 obj (Hardware JVMs) endobj 38 0 obj << /S /GoTo /D (subsection.1.2.2) >> endobj 40 0 obj (Embedded Software JVMs) endobj 42 0 obj << /S /GoTo /D (subsection.1.2.3) >> endobj 44 0 obj (Language Integration via the JVM) endobj 46 0 obj << /S /GoTo /D (subsection.1.2.4) >> endobj 48 0 obj (The .NET Factor) endobj 50 0 obj << /S /GoTo /D (section.1.3) >> endobj 52 0 obj (Porting Challenges) endobj 54 0 obj << /S /GoTo /D (subsection.1.3.1) >> endobj 56 0 obj (General Challenges) endobj 58 0 obj << /S /GoTo /D (subsection.1.3.2) >> endobj 60 0 obj (Perl-Specific Challenges) endobj 62 0 obj << /S /GoTo /D (chapter.2) >> endobj 64 0 obj (Possible Approaches) endobj 66 0 obj << /S /GoTo /D (section.2.1) >> endobj 68 0 obj (JNI) endobj 70 0 obj << /S /GoTo /D (section.2.2) >> endobj 72 0 obj (Survey of Approaches) endobj 74 0 obj << /S /GoTo /D (subsection.2.2.1) >> endobj 76 0 obj (Implementation of a Language Interpreter in Java) endobj 78 0 obj << /S /GoTo /D (subsection.2.2.2) >> endobj 80 0 obj (Compilation from Source Language to Java) endobj 82 0 obj << /S /GoTo /D (subsection.2.2.3) >> endobj 84 0 obj (Direct Compilation to JVM Bytecode) endobj 86 0 obj << /S /GoTo /D (subsection.2.2.4) >> endobj 88 0 obj (Mapping Language Idioms onto the JVM) endobj 90 0 obj << /S /GoTo /D (section.2.3) >> endobj 92 0 obj (Which Approach for Perl?) endobj 94 0 obj << /S /GoTo /D (chapter.3) >> endobj 96 0 obj (Internals of PD1OT1cmrcmrmmnnperl) endobj 98 0 obj << /S /GoTo /D (section.3.1) >> endobj 100 0 obj (PD1OT1cmrcmrmmnnperl As a Compiler and Virtual Machine) endobj 102 0 obj << /S /GoTo /D (section.3.2) >> endobj 104 0 obj (The PD1OT1cmrcmrmmnnperl Intermediate Representation) endobj 106 0 obj << /S /GoTo /D (subsection.3.2.1) >> endobj 108 0 obj (The ``Defined'' Example) endobj 110 0 obj << /S /GoTo /D (subsection.3.2.2) >> endobj 112 0 obj (The ``Add and Print'' Example) endobj 114 0 obj << /S /GoTo /D (section.3.3) >> endobj 116 0 obj (Accessing the IR via PD1OT1cmrcmrmmnnB) endobj 118 0 obj << /S /GoTo /D (chapter.4) >> endobj 120 0 obj (First Approach---Direct Compilation) endobj 122 0 obj << /S /GoTo /D (section.4.1) >> endobj 124 0 obj (Using Jasmin Assembler) endobj 126 0 obj << /S /GoTo /D (section.4.2) >> endobj 128 0 obj (Data Type Support) endobj 130 0 obj << /S /GoTo /D (section.4.3) >> endobj 132 0 obj (Putting It Together with PD1OT1cmrcmrmmnnB) endobj 134 0 obj << /S /GoTo /D (section.4.4) >> endobj 136 0 obj (The ``Defined'' Example with PD1OT1cmrcmrmmnn0.98 0.13 0 0.43 kB::JVM::Jasmin0 0 0 1 k) endobj 138 0 obj << /S /GoTo /D (section.4.5) >> endobj 140 0 obj (Failure of this Method) endobj 142 0 obj << /S /GoTo /D (chapter.5) >> endobj 144 0 obj (Second Approach---Kawa Integration) endobj 146 0 obj << /S /GoTo /D (section.5.1) >> endobj 148 0 obj (A New Layer of Abstraction) endobj 150 0 obj << /S /GoTo /D (section.5.2) >> endobj 152 0 obj (The Kawa IR) endobj 154 0 obj << /S /GoTo /D (section.5.3) >> endobj 156 0 obj (The ``Add and Print'' Example with Kawa) endobj 158 0 obj << /S /GoTo /D (chapter.6) >> endobj 160 0 obj (Conclusions and Future Work) endobj 162 0 obj << /S /GoTo /D [161 0 R /Fit ] >> endobj 167 0 obj << /Length 168 0 R /Filter /FlateDecode >> stream xÚ3T0 BCs#3c=Cc3…ä\.¨h6—!”eh®gjj© kjnªgiiR¤P¨` gndnV‚ÄÊÂ5BôÝr \ò¹¹¹ ›Šendstream endobj 168 0 obj 85 endobj 161 0 obj << /Type /Page /Contents 167 0 R /Resources 166 0 R /MediaBox [0 0 611.998 791.997] /Parent 169 0 R >> endobj 164 0 obj << /Type /XObject /Subtype /Form /BBox [-1 -1 612.998 792.997] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 170 0 R /Length 171 0 R /Filter /FlateDecode >> stream xÚ+ä2T0 B™œË¥ï™k¨à’ÏÈ JG†endstream endobj 171 0 obj 29 endobj 172 0 obj << /Type /XObject /Subtype /Form /FormType 1 /Matrix [1 0 0 1 0 0] /BBox [0 0 612 792] /Resources << /ProcSet [ /PDF /Text ] /Font << /R6 173 0 R >> >> /Length 174 0 R /Filter /FlateDecode >> stream xÚ­WÉrÛF½ó+æ¨T™“Ù—ÜdE®Ø‰/Œ“ar("EÙáߧg$bê@ ýz{ý¦"˜"âÒ÷úvq¿¸G4<Ë_ë[ôzµøñ£BŒabÐj»XL¬°œK´Z/¢/EToWÖbÉ(ZÝžýqýö‡Õ?œ sθ¬6gŸ/?~*1Ì0QS¡eĬÊ,Ø©ÀŠÛhþ»tW֛Ŋ@)Áþ{éž*Ö˜i›ìofÂ[Ìÿ‹Ò.CTb#‹ö·ÓøÆWg“ýúb„`S®¯ÏWãI¦aŠÓÊxèRS¬¹¤h©8¦Ì;@•ïªæ±ê¯òŽ0@FT(yŽƒÍz›L©ØðDÑø„L0„C2Jà†BÇJ`˜J+†¾‰¶Š¤¯¼‰aá'ºÅÒ;Åš^wÕfïè £_w t0úxW‰¶'f!qžôÒ³*-7,RÅ Ç\Z´d+áÛœíJœ 8ëǧÒ|\ç¾!!+ç0@“äw(üµŽú{RÇôŠÀ„L#xŒôùŠdÜr5©ç¶ÌgU’{b¯.õF‰ ˆ-¥ëËrŒÎËa2ýn&ºÄЛ&HÝŽ<Ì$ 8{W3tÀ(Đÿî Ó±óÄt5b&$£mW6gãá û3ív¦8XF„²™î£4GÍ»‘TxPÙ¬”ÌSÑ¹Ü°—£5¶°““ñfäK£³_a&óX‘X`v.´òS\RTðx—RbF©DKáM´‡]U½ëP»EŸÖµkÖn´¥xÞR Ccf—Ôh[A9\ï¸eò‚¥…m`¤nŽ ¯¨xòÉê SL ¡¡åe¶Cüìîzì˽ܻ5FU³Aí펁A$–˜IÅ—ÍM:ÍR¸*£ÐŽ%CÖÊp ôN›|¿J‘ÕT?”¢¤©‚S©ž*:س¢ äX÷{·)@I³ÜBCF¸!Ú¤iZÿ «ãÈÍEÛ<Ô×U} ¿¡¶AïÛ®¤ƒ4£ò)57è½ëö¨oQ¿spç~­ŽÃ„Å@¸0ó£ü\wýcµGWÕzW7ý/ÙÀËNºdŸ@œöü¹rSß7Ξ¿XÂ%’¡0- ´š¸ ΔI/7¾’x‘Üue“–˜)sûÕ•î