Page 190 - DCAP507_SYSTEM_SOFTWARE
P. 190
System Software Nisha Sethi, Lovely Professional University
Notes Unit 12: Formal Systems and Programming Languages
CONTENTS
Objectives
Introduction
12.1 Use of Formal Systems in Programming Languages
12.2 Formal Specifications
12.2.1 Advantages of Formal Specifications
12.2.2 Disadvantages of Formal Specifications
12.2.3 Notations
12.2.4 Developing a Simple Formal Specification
12.2.5 Pre and Post-Conditions
12.2.6 The Development of an Axiomatic Spec of a Function
12.2.7 The Use of an Error Predicate
12.2.8 The Use of Structure
12.2.9 Theoretical Aspects: Formally
12.2.10 Theoretical Aspects: Less Formally
12.3 Formal Grammars
12.3.1 Vocabulary
12.3.2 Parse Representation
12.3.3 More Definitions
12.4 Summary
12.5 Keywords
12.6 Review Questions
12.7 Further Readings
Objectives
After studying this unit, you will be able to:
Understand the use of formal systems in programming languages
Discuss the concept of formal specification
Explain formal grammars
Introduction
In programming language semantics we deal with the thorough mathematical study of the
meaning of programming languages. The meaning of a language is provided by a formal
system that depicts the probable calculations expressible inside that language. In computer
science and software engineering, formal methods are procedures for the specification, expansion
and verification of software and hardware systems depending on formal systems.
184 LOVELY PROFESSIONAL UNIVERSITY