Robert Husák , Jakub Míšek , Filip Zavoral , Jan Kofroň
{"title":"PeachPie:成熟的PHP到CLI编译器","authors":"Robert Husák , Jakub Míšek , Filip Zavoral , Jan Kofroň","doi":"10.1016/j.cola.2022.101152","DOIUrl":null,"url":null,"abstract":"<div><p>PeachPie is a compiler of PHP code into Common Language Infrastructure (CLI) assemblies, enabling direct interoperability between PHP and .NET projects. This work describes the overall PeachPie architecture and the implementation of its components, highlighting and explaining the differences from its predecessor Phalanger. PeachPie can compile both legacy proprietary PHP applications and modern PHP frameworks, porting them into CLI with the ability to integrate with other projects written in languages such as C#. This work might provide helpful insight for people performing static analysis of PHP, developing a custom compiler targeting CLI, or exploring possibilities of dynamic language compilation.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"73 ","pages":"Article 101152"},"PeriodicalIF":1.7000,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2590118422000491/pdfft?md5=bf3582af81d9fe8f3919741e6d7e16da&pid=1-s2.0-S2590118422000491-main.pdf","citationCount":"0","resultStr":"{\"title\":\"PeachPie: Mature PHP to CLI compiler\",\"authors\":\"Robert Husák , Jakub Míšek , Filip Zavoral , Jan Kofroň\",\"doi\":\"10.1016/j.cola.2022.101152\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>PeachPie is a compiler of PHP code into Common Language Infrastructure (CLI) assemblies, enabling direct interoperability between PHP and .NET projects. This work describes the overall PeachPie architecture and the implementation of its components, highlighting and explaining the differences from its predecessor Phalanger. PeachPie can compile both legacy proprietary PHP applications and modern PHP frameworks, porting them into CLI with the ability to integrate with other projects written in languages such as C#. This work might provide helpful insight for people performing static analysis of PHP, developing a custom compiler targeting CLI, or exploring possibilities of dynamic language compilation.</p></div>\",\"PeriodicalId\":48552,\"journal\":{\"name\":\"Journal of Computer Languages\",\"volume\":\"73 \",\"pages\":\"Article 101152\"},\"PeriodicalIF\":1.7000,\"publicationDate\":\"2022-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://www.sciencedirect.com/science/article/pii/S2590118422000491/pdfft?md5=bf3582af81d9fe8f3919741e6d7e16da&pid=1-s2.0-S2590118422000491-main.pdf\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of Computer Languages\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S2590118422000491\",\"RegionNum\":3,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Computer Languages","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2590118422000491","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
PeachPie is a compiler of PHP code into Common Language Infrastructure (CLI) assemblies, enabling direct interoperability between PHP and .NET projects. This work describes the overall PeachPie architecture and the implementation of its components, highlighting and explaining the differences from its predecessor Phalanger. PeachPie can compile both legacy proprietary PHP applications and modern PHP frameworks, porting them into CLI with the ability to integrate with other projects written in languages such as C#. This work might provide helpful insight for people performing static analysis of PHP, developing a custom compiler targeting CLI, or exploring possibilities of dynamic language compilation.