# Formal language

set of strings of symbols that may be constrained by rules that are specific to it; words whose letters are taken from an alphabet and are well-formed according to a specific set of rules

In mathematics, computer science and linguistics, a formal language is one that has a particular set of symbols, and whose expressions are made according to a particular set of rules. The symbol ${\mathcal {L}}$ is often used as a variable for formal languages in logic.

Unlike natural languages, the symbols and formulas in formal languages are syntactically and semantically related to one another in a precise way. As a result, formal languages are completely (or almost completely) void of ambiguity.

## Examples

Some examples of formal languages include:

• The set of all words over ${a,b}\,$
• The set $\left\{a^{n}\right\}$ , where $n\,$  is a natural number and $a^{n}\,$  means $a\,$  repeated $n$  times
• Finite languages, such as $\{\{a,b\},\{a,aa,bba\}\}\,$
• The set of syntactically correct programs in a given programming language
• The set of inputs upon which a certain Turing machine halts

## Specification

A formal language can be specified in a great variety of ways, such as: