Data, Syntax and Semantics - An Introduction to Modelling Programming Languages

An introduction to the mathematical theory of programming languages. Readers will need a first course in elementary set theory, logic and imperative programming as the background knowledge.

**Tag(s):**
Formal Methods

**Publication date**: 01 Jan 2006

**ISBN-10**:
n/a

**ISBN-13**:
n/a

**Paperback**:
840 pages

**Views**: 16,456

**Type**: N/A

**Publisher**:
n/a

**License**:
n/a

**Post time**: 22 Sep 2006 01:07:09

Data, Syntax and Semantics - An Introduction to Modelling Programming Languages

An introduction to the mathematical theory of programming languages. Readers will need a first course in elementary set theory, logic and imperative programming as the background knowledge.

Terms and Conditions:

Book Summary:

Data, syntax and semantics are among the Big Ideas of Computer Science. The concepts are extremely general and can be found throughout Computer Science and its applications. Wherever there are languages for specifying, designing, programming or reasoning, one finds data, syntax and semantics.

A programming language is simply a notation for expressing algorithms and performing computations with the help of machines. There are many different designs for programming languages, tailored to the computational needs of many different types of users. Programming languages are a primary object of study in Computer Science, influencing most of the subject and its applications.

This book is an introduction to the mathematical theory of programming languages. It is intended to provide a first course, one that is suitable for all university students of Computer Science to take early in their education; for example, at the beginning of their second year, or, possibly, in the second half of their first year. The background knowledge needed is a first course in elementary set theory and logic, and in imperative programming. The theory will help develop their scientific maturity by asking simple and sometimes deep questions, and by weaning them off examples and giving them a taste for general ideas, principles and techniques, precisely expressed. This book has picked a small number of topics, and attempted to be self-contained and relevant.

The book contains much basic mathematical material on data, syntax and semantics. There are some seemingly advanced features and contemporary topics that may not be common in the elementary text-book literature: data types and their algebraic theory, real numbers, interface definition languages, algebraic models of syntax, computability theory, virtual machines and compiler correctness. Where this book's material is standard (e.g., grammars), it tries to include new and interesting examples and case studies (e.g., internet addressing).

The book is also intended to provide a strong foundation for the further study of the theory of programming languages, and related subjects in algebra and logic, such as: algebraic specification; initial algebra semantics; term rewriting; process algebra; computability and definability theory; program correctness logic; A-calculus and type theory; domains and fixed point theory etc. There are a number of books available for these later stages, and the literature is discussed in a final chapter on further reading.

J V Tucker wrote:This is an almost complete first draft of a text-book. It is the text for a second year undergraduate course on the Theory of Programming Languages at Swansea. Criticisms and suggestions are most welcome.

Book Summary:

Data, syntax and semantics are among the Big Ideas of Computer Science. The concepts are extremely general and can be found throughout Computer Science and its applications. Wherever there are languages for specifying, designing, programming or reasoning, one finds data, syntax and semantics.

A programming language is simply a notation for expressing algorithms and performing computations with the help of machines. There are many different designs for programming languages, tailored to the computational needs of many different types of users. Programming languages are a primary object of study in Computer Science, influencing most of the subject and its applications.

This book is an introduction to the mathematical theory of programming languages. It is intended to provide a first course, one that is suitable for all university students of Computer Science to take early in their education; for example, at the beginning of their second year, or, possibly, in the second half of their first year. The background knowledge needed is a first course in elementary set theory and logic, and in imperative programming. The theory will help develop their scientific maturity by asking simple and sometimes deep questions, and by weaning them off examples and giving them a taste for general ideas, principles and techniques, precisely expressed. This book has picked a small number of topics, and attempted to be self-contained and relevant.

The book contains much basic mathematical material on data, syntax and semantics. There are some seemingly advanced features and contemporary topics that may not be common in the elementary text-book literature: data types and their algebraic theory, real numbers, interface definition languages, algebraic models of syntax, computability theory, virtual machines and compiler correctness. Where this book's material is standard (e.g., grammars), it tries to include new and interesting examples and case studies (e.g., internet addressing).

The book is also intended to provide a strong foundation for the further study of the theory of programming languages, and related subjects in algebra and logic, such as: algebraic specification; initial algebra semantics; term rewriting; process algebra; computability and definability theory; program correctness logic; A-calculus and type theory; domains and fixed point theory etc. There are a number of books available for these later stages, and the literature is discussed in a final chapter on further reading.

Tweet

About The Author(s)

No information is available for this author.

No information is available for this author.

Book Categories

Computer Science
16
Introduction to Computer Science
32
Introduction to Computer Programming
52
Algorithms and Data Structures
25
Artificial Intelligence
24
Computer Vision
30
Machine Learning
6
Neural Networks
22
Game Development and Multimedia
25
Data Communication and Networks
5
Coding Theory
16
Computer Security
9
Information Security
35
Cryptography
3
Information Theory
17
Computer Organization and Architecture
22
Operating Systems
2
Image Processing
11
Parallel Computing
4
Concurrent Programming
24
Relational Database
3
Document-oriented Database
14
Data Mining
16
Big Data
17
Data Science
23
Digital Libraries
22
Compiler Design and Construction
26
Functional Programming
11
Logic Programming
26
Object Oriented Programming
21
Formal Methods
70
Software Engineering
3
Agile Software Development
7
Information Systems
5
Geographic Information System (GIS)

Mathematics
68
Mathematics
14
Algebra
1
Abstract Algebra
27
Linear Algebra
3
Number Theory
8
Numerical Methods
2
Precalculus
10
Calculus
3
Differential Equations
5
Category Theory
11
Proofs
20
Discrete Mathematics
24
Theory of Computation
15
Graph Theory
2
Real Analysis
1
Complex Analysis
15
Probability
47
Statistics
7
Game Theory
5
Queueing Theory
13
Operations Research
16
Computer Aided Mathematics

Supporting Fields
21
Web Design and Development
1
Mobile App Design and Development
28
System Administration
2
Cloud Computing
10
Electric Circuits
6
Embedded System
28
Signal Processing
4
Network Science
3
Project Management

Operating System
Programming/Scripting
6
Ada
13
Assembly
34
C / C++
8
Common Lisp
2
Forth
35
Java
13
JavaScript
1
Lua
15
Microsoft .NET
1
Rexx
12
Perl
6
PHP
68
Python
12
R
1
Rebol
13
Ruby
2
Scheme
3
Tcl/Tk

Miscellaneous