The PSG system: from formal language definitions to interactive programming environments
ACM Transactions on Programming Languages and Systems (TOPLAS)
4th Annual Symposium on Theoretical Aspects of Computer Sciences on STACS 87
Algebraic reconstruction of types and effects
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Commentary on standard ML
A tool box for compiler construction
CC '90 Proceedings of the third international workshop on Compiler compilers
Handbook of theoretical computer science (vol. B)
Defining context-dependent syntax without using contexts
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented type systems
Journal of the ACM (JACM)
Journal of Automated Reasoning
Complexity of unification problems with associative-commutative operators
Journal of Automated Reasoning
A natural semantics for Eiffel dynamic binding
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented programming: a unified foundation
Object-oriented programming: a unified foundation
Javalight is type-safe—definitely
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Using many-sorted natural semantics to specify and generate semantic analysis
Proceedings of the IFIP TC2 WG2.4 working conference on Systems implementation 2000 : languages, methods and tools: languages, methods and tools
Advanced compiler design and implementation
Advanced compiler design and implementation
Building an optimizing compiler
Building an optimizing compiler
Featherweight Java: a minimal core calculus for Java and GJ
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
Semantic evaluation from left to right
Communications of the ACM
Unification in many-sorted algebras as a device for incremental semantic analysis
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Theory of Objects
The Definition of Standard ML
Principles of Program Analysis
Principles of Program Analysis
The Definition of Standard ML
IWWERT '90 Proceedings of the First International Workshop on Word Equations and Related Topics
A Compiler for Natural Semantics
CC '96 Proceedings of the 6th International Conference on Compiler Construction
MetaModelica: a unified equation-based semantical and mathematical modeling language
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
Hi-index | 0.00 |
Natural semantics specifications have become mainstream in the formal specification of programming language semantics during the last 10 years. In this article, we set up sorted natural semantics as a specification framework which is able to express static semantic information of programming languages declaratively in a uniform way and allows one at the same time to generate corresponding analyses. Such static semantic information comprises context-sensitive properties which are checked in the semantic analysis phase of compilers as well as further static program analyses such as, for example, classical data and control flow analyses or type and effect systems. The latter require fixed-point analyses to determine their solutions. We show that, given a sorted natural semantics specification, we can generate the corresponding analysis. Therefore, we classify the solution of such an analysis by the notion of a proof tree. We show that a proof tree can be computed by solving an equivalent residuation problem. In case of the semantic analysis, this solution can be found by a basic algorithm. We show that its efficiency can be enhanced using solution strategies. We also demonstrate our prototype implementation of the basic algorithm which proves its applicability in practical situations. With the results of this article, we have established natural semantics as a framework which closes the gap between declarative and operational specification methods for static semantic properties as well as between specification frameworks for the semantic analysis. In particular, we show that natural semantics is expressive enough to define fixed-point program analyses.