Difference between revisions of "Formal language"
Karl Jones (Talk | contribs) (→External links) |
Karl Jones (Talk | contribs) (→See also) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | In [[mathematics]], [[computer science]], and linguistics, a '''formal language''' is a set of strings of symbols that may be constrained by rules that are specific to it. | + | In [[mathematics]], [[computer science]], and linguistics, a '''formal language''' is a set of [[String (computer science)|strings]] of [[Symbol (formal)|symbols]] that may be constrained by rules that are specific to it. |
== Set of symbols == | == Set of symbols == | ||
− | The alphabet of a formal language is the set of symbols, letters, or tokens from which the strings of the language may be formed; frequently it is required to be finite. | + | The [[Alphabet (formal language)|alphabet of a formal language]] is the set of symbols, letters, or tokens from which the strings of the language may be formed; frequently it is required to be finite. |
== Words == | == Words == | ||
Line 15: | Line 15: | ||
== Syntax == | == Syntax == | ||
− | The field of formal language theory studies primarily the purely syntactical aspects of such languages -- that is, their internal structural patterns. | + | The field of [[formal language theory]] studies primarily the purely syntactical aspects of such languages -- that is, their internal structural patterns. |
== Natural language == | == Natural language == | ||
− | Formal language theory sprang out of linguistics, as a way of understanding the syntactic regularities of natural languages. | + | Formal language theory sprang out of [[linguistics]], as a way of understanding the syntactic regularities of [[natural languages]]. |
== Computer science == | == Computer science == | ||
− | In [[computer science]], formal languages are used among others as the basis for defining the grammar of programming languages and formalized versions of subsets of natural languages in which the words of the language represent concepts that are associated with particular meanings or semantics. | + | In [[computer science]], formal languages are used among others as the basis for defining the grammar of [[programming languages]] and formalized versions of subsets of natural languages in which the words of the language represent concepts that are associated with particular meanings or semantics. |
== Computational complexity theory == | == Computational complexity theory == | ||
Line 39: | Line 39: | ||
== See also == | == See also == | ||
+ | * [[Alphabet (formal language)]] | ||
+ | * [[Associative array]] | ||
+ | * [[Combinatorics on words]] | ||
* [[Computer science]] | * [[Computer science]] | ||
+ | * [[Constructed language]] | ||
* [[Database schema]] | * [[Database schema]] | ||
* [[Formal grammar]] | * [[Formal grammar]] | ||
+ | * [[Formal language theory]] | ||
+ | * [[Formal method]] | ||
* [[Formal system]] | * [[Formal system]] | ||
* [[Free variables and bound variables]] | * [[Free variables and bound variables]] | ||
+ | * [[Grammar framework]] | ||
* [[Mathematical logic]] | * [[Mathematical logic]] | ||
+ | * [[Mathematical notation]] | ||
* [[Mathematics]] | * [[Mathematics]] | ||
+ | * [[String (computer science)]] | ||
== External links == | == External links == |
Latest revision as of 13:13, 9 May 2016
In mathematics, computer science, and linguistics, a formal language is a set of strings of symbols that may be constrained by rules that are specific to it.
Contents
Set of symbols
The alphabet of a formal language is the set of symbols, letters, or tokens from which the strings of the language may be formed; frequently it is required to be finite.
Words
The strings formed from this alphabet are called words, and the words that belong to a particular formal language are sometimes called well-formed words or well-formed formulas.
Formal grammar
A formal language is often defined by means of a formal grammar such as a regular grammar or context-free grammar, also called its formation rule.
Syntax
The field of formal language theory studies primarily the purely syntactical aspects of such languages -- that is, their internal structural patterns.
Natural language
Formal language theory sprang out of linguistics, as a way of understanding the syntactic regularities of natural languages.
Computer science
In computer science, formal languages are used among others as the basis for defining the grammar of programming languages and formalized versions of subsets of natural languages in which the words of the language represent concepts that are associated with particular meanings or semantics.
Computational complexity theory
In computational complexity theory, decision problems are typically defined as formal languages, and complexity classes are defined as the sets of the formal languages that can be parsed by machines with limited computational power.
Logic and mathematics
In logic and the foundations of mathematics, formal languages are used to represent the syntax of axiomatic systems, and mathematical formalism is the philosophy that all of mathematics can be reduced to the syntactic manipulation of formal languages in this way.
Database schema
A database schema is a formal language which describes the structure of a database.
See also
- Alphabet (formal language)
- Associative array
- Combinatorics on words
- Computer science
- Constructed language
- Database schema
- Formal grammar
- Formal language theory
- Formal method
- Formal system
- Free variables and bound variables
- Grammar framework
- Mathematical logic
- Mathematical notation
- Mathematics
- String (computer science)
External links
- Formal language @ Wikipedia