{"title":"加强语义学习:抽象语言实现教育的动态环境","authors":"William Steingartner, Igor Sivý","doi":"10.58245/ipsi.tir.2402.10","DOIUrl":null,"url":null,"abstract":"The abstract implementation of the language on some abstract machine is a logical step in the definition of its operational semantics and in the definition of its (partially) correct implementation. An abstract machine for operational semantics is a well-known formalism in proving the correctness of programming languages. There are several ways to define an abstract machine for a given language specification. In our article, we focus on an abstract machine for structural operational semantics as a stack machine with two different model representations of memory, and we present a complex tool enabling compilation from a higher imperative (toy) language into an abstract machine allowing, in addition, the visualization of individual computational steps, interactive memory manipulation and feedback by compiling back to a higher language. This work presents an abstract machine designed primarily for educational purposes, enabling the visualization and interaction with the compilation process of a simple imperative language.","PeriodicalId":516644,"journal":{"name":"IPSI Transactions on Internet Research","volume":"19 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Enhancing Semantics Learning: A Dynamic Environment for Abstract Language Implementation Education\",\"authors\":\"William Steingartner, Igor Sivý\",\"doi\":\"10.58245/ipsi.tir.2402.10\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The abstract implementation of the language on some abstract machine is a logical step in the definition of its operational semantics and in the definition of its (partially) correct implementation. An abstract machine for operational semantics is a well-known formalism in proving the correctness of programming languages. There are several ways to define an abstract machine for a given language specification. In our article, we focus on an abstract machine for structural operational semantics as a stack machine with two different model representations of memory, and we present a complex tool enabling compilation from a higher imperative (toy) language into an abstract machine allowing, in addition, the visualization of individual computational steps, interactive memory manipulation and feedback by compiling back to a higher language. This work presents an abstract machine designed primarily for educational purposes, enabling the visualization and interaction with the compilation process of a simple imperative language.\",\"PeriodicalId\":516644,\"journal\":{\"name\":\"IPSI Transactions on Internet Research\",\"volume\":\"19 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-07-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"IPSI Transactions on Internet Research\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.58245/ipsi.tir.2402.10\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"IPSI Transactions on Internet Research","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.58245/ipsi.tir.2402.10","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Enhancing Semantics Learning: A Dynamic Environment for Abstract Language Implementation Education
The abstract implementation of the language on some abstract machine is a logical step in the definition of its operational semantics and in the definition of its (partially) correct implementation. An abstract machine for operational semantics is a well-known formalism in proving the correctness of programming languages. There are several ways to define an abstract machine for a given language specification. In our article, we focus on an abstract machine for structural operational semantics as a stack machine with two different model representations of memory, and we present a complex tool enabling compilation from a higher imperative (toy) language into an abstract machine allowing, in addition, the visualization of individual computational steps, interactive memory manipulation and feedback by compiling back to a higher language. This work presents an abstract machine designed primarily for educational purposes, enabling the visualization and interaction with the compilation process of a simple imperative language.