| p:abstract
| - :This article is about a technical term in mathematics and computer science. For related studies about natural languages, see grammar framework. For formal language as a mode of speech, see Register (linguistics).
A formal language is a set of words, i.e. finite strings of letters, or symbols. The inventory from which these letters are taken is called the alphabet over which the language is defined. A formal language is often defined by means of a formal grammar. Formal languages are a purely syntactical notion, i.e. a priori there is no meaning associated with them. To distinguish the words of a language from arbitrary words over its alphabet, they are sometimes called well-formed words (or, in their application in logic, well-formed formulas).
Formal languages are studied in the fields of logic, computer science and linguistics. Their most important practical application is for the precise definition of syntactically correct programs for a programming language. The branch of mathematics and computer science that is concerned only with the purely syntactical aspects of such languages, i.e. their internal structural patterns, is known as formal language theory.
Although it is not formally part of the language, the words of a formal language often have a semantical dimension as well. In practice this is always tied very closely to the structure of the language, and a formal grammar (a set of formation rules that recursively defines the language) can help to deal with the meaning of (well formed) words. Well-known examples for this are "Tarski's definition of truth" in terms of a T-schema for first-order logic, and compiler generators like lex and yacc. (en)
- En matemáticas, lógica, y ciencias de la computación, un lenguaje formal es un conjunto de palabras (cadenas de caracteres) de longitud finita formadas a partir de un alfabeto (conjunto de caracteres) finito. El nombre lenguaje se justifica porque las estructuras que con este se forman tienen reglas de buena formación (gramática) e interpretación semántica (significado) en una forma muy similar a los lenguajes hablados.
Un posible alfabeto sería, digamos, \{ a, b\}\, , y una cadena cualquiera sobre este alfabeto sería, por ejemplo, ababba\,. Un lenguaje sobre este alfabeto, que incluyera esta cadena, sería: el conjunto de todas las cadenas que contienen el mismo número de símbolos a \, que b \,, por ejemplo.
La palabra vacía (esto es, la cadena de longitud cero) se permite en este tipo de lenguajes, notándose frecuentemente mediante \epsilon \,, e\, ó \lambda \,. A diferencia de que ocurre con el alfabeto (que es un conjunto finito) y con cada palabra (que tiene una longitud también finita), un lenguaje puede estar compuesto por un número infinito de palabras. (es)
- ----
Die Theorie der formalen Sprachen ist eine Teildisziplin der Mathematik, und stellt ein eigenständiges Wissensgebiet in der theoretischen Informatik dar.
Eine formale Sprache ist eine Menge von Wörtern, welche aus einem gegebenen Alphabet gebildet werden können (einschließlich des leeren Wortes). Sie ist definiert als eine Teilmenge der Kleeneschen Hülle über dieses gegebene Alphabet. Eine Teilmenge der formalen Sprachen kann mit Hilfe einer formalen Grammatik beschrieben werden, welche die Wörter der Sprache herzuleiten gestattet.
Die Menge der Wörter einer formalen Sprache kann endlich oder unendlich sein, wobei dann auch der Begriff einer endlichen bzw. unendlichen (formalen) Sprache verwendet wird. Wenn die Menge der Wörter der formalen Sprache gleich der leeren Menge ist, spricht man auch von der leeren Sprache. Man beachte hier, dass die Sprache, welche nur das leere Wort enthält, selbst nicht leer, sondern einelementig ist.
Die formale Grammatik einer bestimmten formalen Sprache erlaubt gelegentlich, zu entscheiden, ob ein bestimmtes vorgegebenes Wort zu dieser formalen Sprache gehört oder nicht. In anderen Fällen ist das nicht so, bei formalen Sprachen mit einem unendlichen Wortvorrat ist vielfach die Entscheidung über die Zugehörigkeit nicht möglich, obwohl man theoretisch alle Wörter einer formalen Sprache über die Grammatik erzeugen kann. (de)
- Formaali kieli on tietojenkäsittelytieteessä, matematiikassa ja logiikassa äärellisen pituisten merkkijonojen joukko, jotka on muodostettu jostakin äärellisestä aakkostosta.
On huomattava, että aakkoston on oltava äärellinen joukko merkkejä ja jokaisen merkkijonon pituuden on oltava äärellinen, mutta kieli voi hyvin sisältää äärettömän määrän merkkijonoja (koska kieleen sisältyvien merkkijonojen pituutta ei välttämättä ole rajoitettu).
Esimerkki aakkostosta on {a,b}, jolloin tämän aakkoston merkkijono voisi olla vaikkapa ababba. Tämän aakkoston tyypillinen kieli (joka sisältäisi kyseisen esimerkkijonon) olisi niiden merkkijonojen joukko, joissa on sama määrä merkkejä a ja b. Tyhjä merkkijono on merkkijono, jonka pituus on nolla. Sitä merkitään yleensä epsilonilla ε tai lambdalla λ. (fi)
- Dans de nombreux contextes (scientifique, légal, etc.) l'on désigne par langage formel un mode d'expression plus formalisé et plus précis (les deux n'allant pas nécessairement de pair) que le langage de tous les jours (voir langage naturel).
En mathématiques, logique et informatique, un langage formel est formé :
* d'un ensemble de mots obéissant à des règles logiques strictes (dites grammaire formelle ou syntaxe).
* d'une sémantique sous-jacente.
La force des langages formels est de pouvoir faire abstraction de la sémantique, ce qui rend les théories réutilisables dans plusieurs modèles. Ainsi, alors qu'un calcul particulier de paye ou de matrice inverse restera toujours un calcul de paye ou de matrice inverse, un théorème sur les groupes s'appliquera aussi bien sur l'ensemble des entiers que sur les transformations du cube de Rubik. (fr)
- In matematica, logica, informatica e linguistica, per linguaggio formale si intende un insieme di stringhe di lunghezza finita costruite sopra un
alfabeto finito, cioè sopra un insieme finito di oggetti tendenzialmente semplici
che vengono chiamati caratteri, simboli o lettere.
Di un linguaggio formale può far parte o meno la stringa muta o parola vuota, cioè la sequenza costituita da zero caratteri: questa spesso viene denotata come e, ε o λ: qui preferiamo usare μ.
Un linguaggio può essere finito o infinito in quanto non si pongono limiti alla
lunghezza delle stringhe.
Un tipico alfabeto potrebbe essere A := {a, b} e tipiche stringhe su questo alfabeto
:ababba aaabbbaaa aaabbbabaababb .
In generale diremo che un modello formale che può riconoscere e generare tutte e sole le stringhe di un linguaggio formale agisce come una definizione di tale linguaggio. Secondo i due principali approcci alla definizione dei linguaggi formali, un modello si può concretizzare in una grammatica formale (approccio generativo), o in un automa (approccio riconoscitivo). (it)
- 形式言語(けいしきげんご)とは、もっとも広義かつ素朴には、素となる記号(これを素記号と仮に呼ぶ)幾つかから、定められた規則(この規則を文法や構文規則や統辞規則などと呼ぶ)に従って作られる記号の全体の集合のことをいう。
ただし、ここで言う記号も、もっとも広義に「何らかの集合の元」を意味する。 (ja)
- Formele talen vormen een zelfstandig onderzoeksgebied binnen de theoretische informatica, formele logica en mathematische taalkunde. In tegenstelling tot de wiskunde worden objecten in formele talen altijd gecodeerd voorgesteld. De natuurlijke getallen \mathbb{N}=\{0,1,2,\ldots\} zijn bijvoorbeeld voor de wiskunde niet meer dan een gedachtenexperiment; in de theoretische informatica worden zij door codering in het decimale stelsel een formele taal.
Als we de woorden uit een natuurlijke taal als alfabet beschouwen, dan zijn de zinnen binnen deze natuurlijke taal een formele taal over het alfabet van zijn woorden. Bij natuurlijke talen ontbreekt echter een definitie die precies kan bepalen, welke zinnen wel en welke zinnen niet tot de natuurlijke taal behoren (met uitzondering van talen als Latijn en Esperanto). In principe kunnen we stellingen en algoritmen voor formele talen dus enkel voor delen van natuurlijke talen gebruiken. (nl)
- Język formalny – jedno z najważniejszych pojęć w informatyce teoretycznej, logice matematycznej, metodologii nauk dedukcyjnych.
Wybierzmy pewien skończony zbiór symboli, i nazwijmy go alfabetem. Dla przykładu może być to zwyczajny polski alfabet, złożony z liter a, ą, b, c, ć itd., choć może być nim np. zbiór cyfr od 0 do 9, czy też coś bardziej egzotycznego.
Z symboli takiego alfabetu możemy budować słowa – skończone ciągi symboli. Słowem nad alfabetem polskich liter jest więc "ala", "słoneczko", ale też "myzmyz" czy słowo puste "", oznaczane też symbolem \epsilon.
Język formalny to właśnie podzbiór zbioru wszystkich słów nad pewnym alfabetem.
Tak pojmowanym językiem może być więc:
* zbiór wszystkich słów złożonych z liter polskiego alfabetu i występujących w pewnym słowniku
* zbiór takich słów złożonych z cyfr od 0 do 9, które przedstawiają liczbę pierwszą
* zbiór słów złożonych z zer i jedynek, w których zer jest więcej niż jedynek
* zbiór prawidłowo napisanych równań matematycznych
* zbiór programów, które po skompilowaniu i uruchomieniu zawieszą dany komputer
* zbiór pusty
Za język możemy uważać każdy zbiór, jeśli tylko każdy jego element potrafimy opisać za pomocą skończenie wielu symboli jakiegoś wybranego przez nas alfabetu. Prawie wszystkie ciekawe zbiory, z jakimi spotykamy się w informatyce, mają tą właściwość – jeśli niemożliwe byłoby napisanie czegoś w skończonej ilości znaków, komputery nie potrafiłyby nic z tą rzeczą zrobić – zbiory nie dające się przedstawić w postaci języków istnieją więc niejako poza informatyką.
Uwaga: Chociaż w opisach języków formalnych używa się określeń zapożyczonych od języków naturalnych – język, słowo, alfabet, gramatyka itd. – to języki formalne są tworami matematycznymi i posiadają jedynie bardzo odległą i praktycznie ograniczoną relację do języków naturalnych jak np. polski czy bułgarski. (pl)
- Entende-se por Teoria das Linguagens Formais e dos autômatos o estudo de modelos matemáticos que possibilitam a especificação e o reconhecimento de linguagens (no sentido amplo da palavra), suas classificações, estruturas, propriedades, características e inter-relacionamentos.
A importância dessa teoria na Ciência da Computação é dupla: ela tanto apóia outros aspectos teóricos da Ciência da Computação (decidibilidade, computabilidade, complexidade computacional, por exemplo), como fundamenta diversas aplicações computacionais tais como processamento de linguagens, reconhecimento de padrões, modelagem de sistemas.
Para definir o que é a Teoria das Linguagens Formais é necessário definir o que é linguagem e o que é linguagem formal. Inicialmente, de maneira bastante informal, podemos definir uma linguagem como sendo uma forma de comunicação. Elaborando um pouco mais esta definição, podemos definir uma linguagem como sendo "um conjunto de elementos (símbolos) e um conjunto de métodos (regras) para combinar estes elementos, usado e entendido por uma determinada comunidade". São exemplos as "linguagens naturais" (ou idiomas), "linguagens de programação" e os "protocolos de comunicação".
Assim, podemos dizer que "Linguagens formais" são mecanismos formais para representação e especificação de linguagens, baseados na chamada "Teoria da Computação". As representações podem ser feitas por reconhecedores e geradores.
Os reconhecedores são dispositivos formais que servem para verificar se uma sentença pertence ou não à determinada linguagem. São os autômatos: autômatos finitos, autômatos de pilha e Máquina de Turing. Os sistemas geradores são dispositivos formais que permitem a geração sistemática de todas as sentenças de uma linguagem. Os principais sistemas geradores disponíveis são as gramáticas, onde se destacam as gramáticas de Chomsky. Então, linguagens formais podem ser representadas de maneira finita e precisa através de sistemas com sustentação matemática. (pt)
- В математической логике и информатике формальный язык — это множество конечных слов (син. строк, цепочек) над конечным алфавитом. Понятие языка чаще всего используется в теории автоматов, теории вычислимости и теории алгоритмов. Научная теория, которая имеет дело с этими объектами, называется теорией формальных языков.
Например, если алфавит задан как {a, b}, а язык L включает в себя все слова над ним, то слово ababba принадлежит L.
Пустое слово (то есть строка нулевой длины) допускается и часто обозначается как e, ε или Λ.
Некоторые примеры формальных языков:
* множество всех слов над {a, b}
* множество \{ a^n\}, где n — простое число, а a^{n} означает, что a повторяется n раз
* множество синтаксически корректных программ в данном языке программирования
Формальный язык может быть определен по-разному, например:
* Простым перечислением слов, входящих в данный язык. Этот способ, в основном, применим для определения конечных языков и языков простой структуры.
* Словами, порождёнными некоторой формальной грамматикой (см. иерархия Хомского)
* Словами, порождёнными регурярным выражением
* Словами, распознаваемыми некоторым конечным автоматом
* Словами, порождёнными БНФ-конструкцией
Некоторые операции могут быть использованы для того, чтобы порождать новые языки из данных. Предположим, что L_{1} и L_{2} являются языками, определёнными над некоторым общим алфавитом.
* Конкатенация (сцепление) L_{1}L_{2} содержит все слова, удовлетворяющие форме vw, где v — это слово из L_{1}, а w — слово из L_{2}.
* Пересечение L_1 \cap L_2 содержит все слова, содержащихся и в L_1, и в L_{2}.
* Объединение L_1 \cup L_2 содержит все слова, содержащиеся или в L_{1}, или в L_{2}. (ru)
- 在数学、逻辑和计算机科学中,形式语言是用精确的数学或机器可处理的公式定义的语言。
如语言学中语言一样,形式语言一般有两个方面: 语法和语义。专门研究语言的语法的数学和计算机科学分支叫做形式语言理论,它只研究语言的语法而不致力于它的语义。在形式语言理论中,形式语言是一个字母表上的某些有限长字符串的集合。一个形式语言可以包含无限多个字符串。 (zh)
|