Handbook of theoretical computer science (vol. B)
Programming language syntax and semantics
Programming language syntax and semantics
Action semantics
Types and programming languages
Types and programming languages
The Definition of Standard ML
Composing programming languages by combining action-semantics modules
Science of Computer Programming - Special issue: Language descriptions, tools and applications (LDTA'01)
Modular Denotational Semantics for Compiler Construction
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
An Action Semantics of Standard ML
Proceedings of the 3rd Workshop on Mathematical Foundations of Programming Language Semantics
Theory and Practice of Action Semantics
MFCS '96 Proceedings of the 21st International Symposium on Mathematical Foundations of Computer Science
Actress: An Action Semantics Directed Compiler Generator
CC '92 Proceedings of the 4th International Conference on Compiler Construction
Action Transformations in the ACTRESS Compiler Generator
CC '94 Proceedings of the 5th International Conference on Compiler Construction
TinkerType: a language for playing with formal systems
Journal of Functional Programming
Science of Computer Programming - The fourth workshop on language descriptions, tools, and applications (LDTA'04)
Towards a mechanized metatheory of standard ML
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A modular monadic action semantics
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Electronic Notes in Theoretical Computer Science (ENTCS)
A Rewrite Framework for Language Definitions and for Generation of Efficient Interpreters
Electronic Notes in Theoretical Computer Science (ENTCS)
An action compiler targeting Standard ML
Science of Computer Programming
Aspect-Oriented Action Semantics Descriptions
Electronic Notes in Theoretical Computer Science (ENTCS)
Maude Object-Oriented Action Tool
Electronic Notes in Theoretical Computer Science (ENTCS)
A rewriting logic approach to operational semantics
Information and Computation
Compiling Esterel
Implicit Propagation in Structural Operational Semantics
Electronic Notes in Theoretical Computer Science (ENTCS)
Computational Effects and Operations: An Overview
Electronic Notes in Theoretical Computer Science (ENTCS)
The java memory model: operationally, denotationally, axiomatically
ESOP'07 Proceedings of the 16th European conference on Programming
All about maude - a high-performance logical framework: how to specify, program and verify systems in rewriting logic
Component-based description of programming languages
VoCS'08 Proceedings of the 2008 international conference on Visions of Computer Science: BCS International Academic Conference
Teaching semantics of programming languages with modular SOS
TFM'06 Proceedings of the 2006 conference on Teaching Formal Methods: practice and experience
Modular bisimulation theory for computations and values
FOSSACS'13 Proceedings of the 16th international conference on Foundations of Software Science and Computation Structures
Hi-index | 0.01 |
Formal semantic descriptions have many potential pragmatic advantages over informal descriptions. Unfortunately, however, the major frameworks for formal semantics do not support component-based description of programming languages. Different languages often have many constructs in common, but the corresponding parts of their semantic descriptions are not generally reusable. The lack of reusable components is one of the reasons why it has been an immense effort to give a semantic description of any larger language. Here, we consider two semantic frameworks that do support component-based language description: action semantics, and a modular variant of structural operational semantics (MSOS). We analyse how the semantics of individual constructs can be described independently in these frameworks, explaining the key insights. We also speculate on the possible applicability of similar techniques in component-based software development.