{"title":"朝着具有可伸缩抽象和类型的可扩展模块化编译器结构的方向发展","authors":"Jari-Matti Mäkelä, V. Leppänen","doi":"10.1145/2812428.2812476","DOIUrl":null,"url":null,"abstract":"The need for easily extendable programming language tools has all but disappeared with the proliferation of language and paradigms and new compilation tools. A particular area of new language research is the domain of parallel programming which often requires new language abstractions on various levels.\n We introduce a framework for building extendable compilers with composable abstractions utilizing features of object-oriented design, functional programming and dependent types. We demonstrate our approach with examples from parsing and intermediate representation formats extracted from the compiler for a parallel Replica language and make a brief evaluation of the approach from point of view of developer productivity.","PeriodicalId":316788,"journal":{"name":"International Conference on Computer Systems and Technologies","volume":"36 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Towards an extensible, modular compiler construction with scalable abstractions and types\",\"authors\":\"Jari-Matti Mäkelä, V. Leppänen\",\"doi\":\"10.1145/2812428.2812476\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The need for easily extendable programming language tools has all but disappeared with the proliferation of language and paradigms and new compilation tools. A particular area of new language research is the domain of parallel programming which often requires new language abstractions on various levels.\\n We introduce a framework for building extendable compilers with composable abstractions utilizing features of object-oriented design, functional programming and dependent types. We demonstrate our approach with examples from parsing and intermediate representation formats extracted from the compiler for a parallel Replica language and make a brief evaluation of the approach from point of view of developer productivity.\",\"PeriodicalId\":316788,\"journal\":{\"name\":\"International Conference on Computer Systems and Technologies\",\"volume\":\"36 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-06-25\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"International Conference on Computer Systems and Technologies\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2812428.2812476\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Conference on Computer Systems and Technologies","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2812428.2812476","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Towards an extensible, modular compiler construction with scalable abstractions and types
The need for easily extendable programming language tools has all but disappeared with the proliferation of language and paradigms and new compilation tools. A particular area of new language research is the domain of parallel programming which often requires new language abstractions on various levels.
We introduce a framework for building extendable compilers with composable abstractions utilizing features of object-oriented design, functional programming and dependent types. We demonstrate our approach with examples from parsing and intermediate representation formats extracted from the compiler for a parallel Replica language and make a brief evaluation of the approach from point of view of developer productivity.