info:eu-repo/semantics/article
Decoding Lua: formal semantics for the developer and the semanticist
Fecha
2018-04Registro en:
Soldevila Raffa, Mallku Ernesto; Ziliani, Beta; Silvestre, Bruno; Fridlender, Daniel Edgardo; Mascarenhas, Fabio; Decoding Lua: formal semantics for the developer and the semanticist; Association for Computing Machinery; Acm Sigplan Notices; 52; 11; 4-2018; 75-86
0362-1340
1558-1160
CONICET Digital
CONICET
Autor
Soldevila Raffa, Mallku Ernesto
Ziliani, Beta
Silvestre, Bruno
Fridlender, Daniel Edgardo
Mascarenhas, Fabio
Resumen
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, con rming that our model accurately represents the language. In addition, we set us an ambitious goal: to 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 traditional small-step operational semantics, embedded within Felleisen-Hieb’s reduction semantics with evaluation contexts. e mechanization is, naturally, performed in PLT Redex, the de facto tool for mechanizing reduction semantics. To the reader unfamiliar with such concepts, we provide, to our best possible within the space limitations, a gentle introduction of the model. It is our hope that developers of the di erent Lua implementations and dialects understand the model and consider it both for testing their work and for experimenting with new language features.