# Semantics (computer science)

**semanticsformal semantics of programming languagesformal semanticsprogram semanticssemanticprogramming language semanticssemantics of programming languagesformalcomputingdata semantics**

In programming language theory, semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages.wikipedia

176 Related Articles

### Programming language

**programming languageslanguagedialect**

In programming language theory, semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages.

The description of a programming language is usually split into the two components of syntax (form) and semantics (meaning).

### Denotational semantics

**denotationalfully abstractHistory of denotational semantics**

Other approaches provide formal semantics of programming languages including axiomatic semantics and operational semantics.

### Operational semantics

**operationalnatural semanticsOperationally**

Operational semantics is a category of formal programming language semantics in which certain desired properties of a program, such as correctness, safety or security, are verified by constructing proofs from logical statements about its execution and procedures, rather than by attaching mathematical meanings to its terms (denotational semantics).

### Computer science

**computer scientistcomputer sciencescomputer scientists**

It has close links with other areas of computer science such as programming language design, type theory, compilers and interpreters, program verification and model checking.

Formal methods are best described as the application of a fairly broad variety of theoretical computer science fundamentals, in particular logic calculi, formal languages, automata theory, and program semantics, but also type systems and algebraic data types to problems in software and hardware specification and verification.

### Action semantics

Action semantics is a framework for the formal specification of semantics of programming languages invented by David Watt and Peter D. Mosses in the 1990s.

### Formal methods

**formal methodformalformal analysis**

Formal methods are best described as the application of a fairly broad variety of theoretical computer science fundamentals, in particular logic calculi, formal languages, automata theory, discrete event dynamic system and program semantics, but also type systems and algebraic data types to problems in software and hardware specification and verification.

### Syntax (programming languages)

**syntaxsyntacticallysyntactic**

It does so by evaluating the meaning of syntactically valid strings defined by a specific programming language, showing the computation involved.

Syntax therefore refers to the form, and it is contrasted with semantics – the meaning.

### Mathematical logic

**formal logicsymbolic logiclogic**

The theory of semantics of programming languages is related to model theory, as is program verification (in particular, model checking).

### Algebraic semantics (computer science)

**algebraic semantics**

In computer science, algebraic semantics is a form of axiomatic semantics based on algebraic laws for describing and reasoning about program semantics in a formal manner.

### Abstract interpretation

**Abstraction**

It is also possible to relate multiple semantics through abstractions via the theory of abstract interpretation.

In computer science, abstract interpretation is a theory of sound approximation of the semantics of computer programs, based on monotonic functions over ordered sets, especially lattices.

### Game semantics

**game semantics for first-order logicgame theoretic semanticsGame-theoretical semantics**

This new philosophical impulse experienced a parallel renewal in the fields of theoretical computer science, computational linguistics, artificial intelligence, and the formal semantics of programming languages, for instance the work of Johan van Benthem and collaborators in Amsterdam who looked thoroughly at the interface between logic and games, and Hanno Nickau who addressed the full abstraction problem in programming languages by means of games.

### Robert W. Floyd

**Robert FloydFloydR. W. Floyd**

Robert W. Floyd is credited with founding the field of programming language semantics in.

He was a pioneer of operator-precedence grammars, and is credited with initiating the field of programming language semantics in.

### Abstraction (computer science)

**abstractiondata abstractionabstract**

It is also possible to relate multiple semantics through abstractions via the theory of abstract interpretation.

When discussing formal semantics of programming languages, formal methods or abstract interpretation, abstraction refers to the act of considering a less detailed, but safe, definition of the observed program behaviors.

### Predicate transformer semantics

**weakest preconditionpredicate transformerssemantics**

### Programming language theory

**programming language researchProgramming languagestheory of programming languages**

In programming language theory, semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages.

### String (computer science)

**stringstringscharacter string**

It does so by evaluating the meaning of syntactically valid strings defined by a specific programming language, showing the computation involved.

### Computing platform

**platformplatformssoftware platform**

This can be shown by describing the relationship between the input and output of a program, or an explanation of how the program will be executed on a certain platform, hence creating a model of computation.

### Model of computation

**models of computationmodelmodels of computing**

This can be shown by describing the relationship between the input and output of a program, or an explanation of how the program will be executed on a certain platform, hence creating a model of computation.

### Conditional (computer programming)

**conditionalif-then-elseconditional statement**

Formal semantics, for instance, helps to write compilers, better understand what a program is doing, and to prove, e.g., that the following if statement

### Type theory

**theory of typestypestype**

It has close links with other areas of computer science such as programming language design, type theory, compilers and interpreters, program verification and model checking.

### Compiler

**compiledcompilerscompile**

It has close links with other areas of computer science such as programming language design, type theory, compilers and interpreters, program verification and model checking.

### Interpreter (computing)

**interpreterinterpretedinterpreters**

### Formal verification

**program verificationverificationautomated verification**

### Model checking

**model checkermodel checkerssymbolic model checking**