Publication Date
Spring 2015
Degree Type
Master's Project
Degree Name
Master of Science (MS)
Department
Computer Science
First Advisor
Thomas H. Austin
Second Advisor
Ron Mak
Third Advisor
Chris Pollett
Keywords
Lua Featherwight Language Semantics
Abstract
Lua is a small, embedded language to provide scripting in other languages. De- spite a clean, minimal syntax, it is still too complex for formal reasoning because of some syntactic sugar or specific syntax structures in Lua.
This thesis develops Featherweight Lua (FWLua), following the tradition of lan- guages like Featherweight Java[1] and Featherweight JavaScript[2]. The goal is to develop a core of language features that, while remaining simple enough for formal reasoning, also remain faithful to the central characteristics of the language. Specifi- cally for Lua, the core features that are essential for our modeling include:
∙ First-class functions ∙ Tables as the central data construct ∙ Metatables that provide various “hooks” to change the behavior of tables
To further validate this approach, we show how an extensive set of features from the full Lua programming language can be reduced to FWLua. Finally, we include a reference implementation written in Haskell as a tool for further testing and experimenting with the language. With this research, we provide a basis for future research into the Lua programming language.
Recommended Citation
LIN, Hanshu, "Operational Semantics for Featherweight Lua" (2015). Master's Projects. 387.
DOI: https://doi.org/10.31979/etd.xysf-s2af
https://scholarworks.sjsu.edu/etd_projects/387