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.

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
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 verification

program verificationverificationautomated verification
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.

Model checking

model checkermodel checkerssymbolic model checking
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.