Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics Commons

Open Access. Powered by Scholars. Published by Universities.®

Programming Languages and Compilers

PDF

San Jose State University

2015

Articles 1 - 3 of 3

Full-Text Articles in Physical Sciences and Mathematics

Adding Syntax Parameters To The Sweet.Js Macro Library For Javascript, Vimal Kumar May 2015

Adding Syntax Parameters To The Sweet.Js Macro Library For Javascript, Vimal Kumar

Master's Projects

Lisp and Scheme have demonstrated the power of macros to enable programmers to evolve and craft languages. A macro is a rule or pattern that specifies how a certain input sequence should be mapped to an output sequence according to some defined procedure. Using a macro system a programmer can introduce new syntactic elements to the programming language. Macros found in a program are expanded by a macro expander and allow a programmer to enable code reuse. Mozilla Sweet.JS provides a way for developers to enrich their JavaScript code by adding new syntax to the language through the use of …


Introducing Faceted Exception Handling For Dynamic Information Flow, Sri Tej Narala May 2015

Introducing Faceted Exception Handling For Dynamic Information Flow, Sri Tej Narala

Master's Projects

JavaScript is most commonly used as a part of web browsers, especially client- side scripts interacting with the user. JavaScript is also the source of many security problems, which includes cross-site scripting attacks. The primary challenge is that code from untrusted sources run with full privileges on the client side, thus lead- ing to security breaches. This paper develops information flow controls with proper exception handling to prevent violations of data confidentiality and integrity.

Faceted values are a mechanism to handle dynamic information flow security in a way that overcomes the limitations caused by dynamic execution, but previous work has …


Operational Semantics For Featherweight Lua, Hanshu Lin May 2015

Operational Semantics For Featherweight Lua, Hanshu Lin

Master's Projects

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 …