Decoding Lua: formal semantics for the developer and the semanticist

Mallku Soldevila, Beta Ziliani, Bruno Silvestre, Daniel Fridlender, Fabio Mascarenhas
{"title":"Decoding Lua: formal semantics for the developer and the semanticist","authors":"Mallku Soldevila, Beta Ziliani, Bruno Silvestre, Daniel Fridlender, Fabio Mascarenhas","doi":"10.1145/3133841.3133848","DOIUrl":null,"url":null,"abstract":"We provide formal semantics for a large subset of the Lua programming language, in its version 5.2. We validate our model by mechanizing it and testing it against the test suite of the reference interpreter of Lua, obtaining evidence that our model accurately represents the language. We target both a PL semanticist \"not necessarily versed in Lua\", and a Lua developer - not necessarily versed in semantic frameworks. To the former, we present the peculiarities of the language, and how we model them in a modular small-step operational semantics, using concepts from Felleisen-Hieb's reduction semantics with evaluation contexts. Moreover, we mechanize and test the model in PLT Redex, the de facto tool for reduction semantics. To the reader unfamiliar with such concepts, we provide a gentle introduction to the model. It is our hope that developers of the different Lua implementations and dialects understand the model and consider it both for testing their work and for experimenting with new language features.","PeriodicalId":117125,"journal":{"name":"Proceedings of the 13th ACM SIGPLAN International Symposium on on Dynamic Languages","volume":"151 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-06-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 13th ACM SIGPLAN International Symposium on on Dynamic Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3133841.3133848","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8

Abstract

We provide formal semantics for a large subset of the Lua programming language, in its version 5.2. We validate our model by mechanizing it and testing it against the test suite of the reference interpreter of Lua, obtaining evidence that our model accurately represents the language. We target both a PL semanticist "not necessarily versed in Lua", and a Lua developer - not necessarily versed in semantic frameworks. To the former, we present the peculiarities of the language, and how we model them in a modular small-step operational semantics, using concepts from Felleisen-Hieb's reduction semantics with evaluation contexts. Moreover, we mechanize and test the model in PLT Redex, the de facto tool for reduction semantics. To the reader unfamiliar with such concepts, we provide a gentle introduction to the model. It is our hope that developers of the different Lua implementations and dialects understand the model and consider it both for testing their work and for experimenting with new language features.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
解码Lua:面向开发人员和语义学家的形式语义
我们在Lua编程语言的5.2版中为它的一个大子集提供了形式化语义。我们通过机械化模型并针对Lua参考解释器的测试套件对其进行测试来验证我们的模型,从而获得我们的模型准确地表示该语言的证据。我们的目标是PL语义学家(不一定精通Lua)和Lua开发人员(不一定精通语义框架)。对于前者,我们介绍了语言的特点,以及我们如何使用来自Felleisen-Hieb的具有评估上下文的约简语义的概念,在模块化的小步骤操作语义中对它们进行建模。此外,我们在PLT Redex中机械化并测试了该模型,PLT Redex是语义还原的实际工具。对于不熟悉这些概念的读者,我们将对该模型进行简单介绍。我们希望使用不同Lua实现和方言的开发人员能够理解这个模型,并将其用于测试他们的工作和试验新的语言特性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Object equivalence: revisiting object equality profiling (an experience report) Dynamic atomicity: optimizing swift memory management Garbage collection and efficiency in dynamic metacircular runtimes: an experience report The JavaScriptCore virtual machine (invited talk) Challenges and progress toward efficient gradual typing (invited talk)
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1