{"title":"使用YAJCo开发Oberon-0的抽象语法驱动","authors":"Sergej Chodarev, M. Bačíková","doi":"10.31341/jios.43.2.2","DOIUrl":null,"url":null,"abstract":"Syntax-Driven Development of Oberon-0 Using YAJCo Sergej Chodarev sergej.chodarev@tuke.sk Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical University of Košice, Košice, Slovakia Michaela Bačíková michaela.bacikova@tuke.sk Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical University of Košice, Košice, Slovakia Abstract YAJCo is a tool for the development of software languages based on an annotated language model. The model is represented by Java classes with annotations defining their mapping to concrete syntax. This approach to language definition enables the abstract syntax to be the central point of the development process, instead of concrete syntax. In this paper, a case study of Oberon-0 programming language development is presented. The study is based on the LTDA Tool Challenge and showcases details of abstract and concrete syntax definition using YAJCo, as well as the implementation of name resolution, type checking, model transformation, and code generation. The language was implemented in a modular fashion to demonstrate language extension mechanisms supported by YAJCo.","PeriodicalId":43428,"journal":{"name":"Journal of Information and Organizational Sciences","volume":"43 1","pages":"145-162"},"PeriodicalIF":0.3000,"publicationDate":"2019-12-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Abstract-Syntax-Driven Development of Oberon-0 Using YAJCo\",\"authors\":\"Sergej Chodarev, M. Bačíková\",\"doi\":\"10.31341/jios.43.2.2\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Syntax-Driven Development of Oberon-0 Using YAJCo Sergej Chodarev sergej.chodarev@tuke.sk Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical University of Košice, Košice, Slovakia Michaela Bačíková michaela.bacikova@tuke.sk Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical University of Košice, Košice, Slovakia Abstract YAJCo is a tool for the development of software languages based on an annotated language model. The model is represented by Java classes with annotations defining their mapping to concrete syntax. This approach to language definition enables the abstract syntax to be the central point of the development process, instead of concrete syntax. In this paper, a case study of Oberon-0 programming language development is presented. The study is based on the LTDA Tool Challenge and showcases details of abstract and concrete syntax definition using YAJCo, as well as the implementation of name resolution, type checking, model transformation, and code generation. The language was implemented in a modular fashion to demonstrate language extension mechanisms supported by YAJCo.\",\"PeriodicalId\":43428,\"journal\":{\"name\":\"Journal of Information and Organizational Sciences\",\"volume\":\"43 1\",\"pages\":\"145-162\"},\"PeriodicalIF\":0.3000,\"publicationDate\":\"2019-12-08\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of Information and Organizational Sciences\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.31341/jios.43.2.2\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q4\",\"JCRName\":\"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Information and Organizational Sciences","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.31341/jios.43.2.2","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 1
摘要
使用YAJCo语法驱动的Oberon-0开发Sergej Chodarev sergej.chodarev@tuke.sk斯洛伐克电子工程与信息技术大学计算机与信息系Košice, Košice Michaela Bačíková michaela.bacikova@tuke.sk斯洛伐克电子工程与信息技术大学计算机与信息系Košice, KošiceYAJCo是一种基于注释语言模型的软件语言开发工具。该模型由带有注释的Java类表示,这些注释定义了它们到具体语法的映射。这种语言定义方法使抽象语法成为开发过程的中心点,而不是具体语法。本文以Oberon-0编程语言开发为例进行了研究。该研究基于LTDA工具挑战,并展示了使用YAJCo的抽象和具体语法定义的细节,以及名称解析、类型检查、模型转换和代码生成的实现。该语言以模块化的方式实现,以演示YAJCo支持的语言扩展机制。
Abstract-Syntax-Driven Development of Oberon-0 Using YAJCo
Syntax-Driven Development of Oberon-0 Using YAJCo Sergej Chodarev sergej.chodarev@tuke.sk Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical University of Košice, Košice, Slovakia Michaela Bačíková michaela.bacikova@tuke.sk Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical University of Košice, Košice, Slovakia Abstract YAJCo is a tool for the development of software languages based on an annotated language model. The model is represented by Java classes with annotations defining their mapping to concrete syntax. This approach to language definition enables the abstract syntax to be the central point of the development process, instead of concrete syntax. In this paper, a case study of Oberon-0 programming language development is presented. The study is based on the LTDA Tool Challenge and showcases details of abstract and concrete syntax definition using YAJCo, as well as the implementation of name resolution, type checking, model transformation, and code generation. The language was implemented in a modular fashion to demonstrate language extension mechanisms supported by YAJCo.