Proceedings Article10.1109/SYNASC.2012.23
Label-Based Programming Language Semantics in K Framework with SDF
Denis Bogdanas
- 26 Sep 2012
- pp 160-167
7
TL;DR: This paper presents a parser generator which accepts as input a grammar in SDF format, and produces a parser ready to be integrated with K, and illustrates the methodology of defining a language using the generated parser based on an example.
read more
Abstract: A programming language definition consists of two parts: syntax and semantics. K Framework is an actively developed formalism aimed to address the semantics part. While K has its own capabilities to define syntax and to perform parsing, those are often not expressive enough to handle real world programming languages. Therefore K Framework was designed to be connected to an external parser. In this case the semantics is defined over the representation of programs as AST (Abstract Syntax Tree), and is called label-based. This technique was successfully used to define C language. In this paper we present a parser generator which accepts as input a grammar in SDF format, and produces a parser ready to be integrated with K. We illustrate the methodology of defining a language using the generated parser based on an example. The example definition emphasizes distinctive features of the integration of SDF syntax and K semantics. It also illustrates syntax constructs which are difficult to handle with K Framework alone, but are straightforward to express in SDF + K combination.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
An Executable Formal Semantics of PHP
Daniele Filaretti,Sergio Maffeis +1 more
- 01 Aug 2014
TL;DR: This work defines the semantics of PHP in a term-rewriting framework which supports LTL model checking and symbolic execution, and presents the first formal semantics for a substantial core of PHP, based on the official documentation and experiments with the Zend reference implementation.
Pure and declarative syntax definition : Paradise lost and regained
Lennart C. L. Kats,Eelco Visser,Guido Wachsmuth +2 more
- 31 Dec 2010
TL;DR: This paper analyzed how these problems arise for different aspects of syntax definitions, discussed their consequences for language engineers, and showed how the pure and declarative nature of syntax definition can be regained.
IsaK: A Complete Semantics of K
Liyi Li,Elsa L. Gunter +1 more
- 25 Jun 2018
TL;DR: This paper defines IsaK, a reference semantics for K, which was developed through discussion with the K team to meet their expectations of a semantics of K, and formally prove a CTL application in IsaK correct.
5
An executable formal semantics of PHP with applications to program analysis
Daniele Filaretti
- 01 Jul 2015
TL;DR: KPHP is introduced, the first executable formal semantics of PHP, one of the most popular languages for server-side web programming, and an abstract interpreter, which represents a more significant and novel contribution to the field of static analysis of dynamic scripting languages (PHP in particular).
3
IsaK-Static: A Complete Static Semantics of \(\mathbb {K}\)
Liyi Li,Elsa L. Gunter +1 more
- 10 Oct 2018
TL;DR: This paper defines a complete static semantics of \(\mathbb {K}\) named IsaK-Static, in the interactive theorem prover Isabelle/HOL, to study these features.
2
References
•Book
The Definitive ANTLR Reference: Building Domain-Specific Languages
Terence Parr
- 27 May 2007
TL;DR: This book is the definitive guide to using the completely rebuilt ANTLR v3 and describes all features in detail, including the amazing new LL(*) parsing technology, tree construction facilities, StringTemplate code generation template engine, and sophisticated AnTLRWorks GUI development environment.
554
An overview of the K semantic framework
TL;DR: The K definition of Challenge, a programming language that aims at challenging and exposing the limitations of the various existing semantic frameworks, is proposed and discussed.
471
Stratego/XT 0.17. A language and toolset for program transformation
TL;DR: An overview ofStratego/XT 0.17 is given, including a description of the Stratego language and XT transformation tools; a discussion of the implementation techniques and software engineering process; and a descriptionof applications built with Strate go/XT.
346
•Posted Content
Compiling Language Definitions: The ASF+SDF Compiler
TL;DR: The ASF+SDF meta-environment as mentioned in this paper is an interactive language development environment whose main application areas are definition of domain-specific languages, generation of program analysis and transformation tools, production of software renovation tools, and general specification and prototyping.
203
An Executable Formal Semantics of C with Applications: Technical Report
Chucky Ellison,Grigore Rosu +1 more
- 17 Jul 2011
TL;DR: In this paper, the authors present an executable formal semantics of C. The semantics yields an interpreter, debugger, state space search tool, and model checker, which is shown capable of automatically finding program errors, both statically and at runtime.
188