Главная страница » Формальные языки
Тексты

Формальные языки

Мы объясним, что такое формальные языки, их характеристики, примеры и типы. А также их отличия от естественных языков
Формальный язык организован с помощью ограниченного набора правил комбинирования

Что такое формальный язык?

Формальный язык – это искусственный язык, который, в отличие от естественных языков, не ориентирован на обычное человеческое общение , а на определение и применение определенного набора правил в конкретной среде. Он состоит из ряда базовых символов, которые объединяются в строки для формирования сложных выражений

Символы составляют алфавит формального языка, а строки – слова. Как комбинация символов, так и интерпретация строк осуществляется в соответствии со строгими правилами, установленными заранее, которые не допускают исключений; вместе эти правила образуют грамматику языка

В отличие от креативности и сложности естественного языка, которые позволяют использовать его в самых разных ситуациях, формальные языки были разработаны для использования в очень точных контекстах. Область их применения включает логику математику информатику лингвистику

Обсуждаемые здесь формальные языки не следует путать с формальным лингвистическим регистром (также иногда называемым формальным языком ), соответствующим тщательному и правильному использованию языка , которое подходит для определенных коммуникативных ситуаций, в отличие от неформального регистра , в котором используются разговорные фразы и выражения

Формальные типы языков

В статье, опубликованной в 1956 году, американский лингвист Ноам Хомский (1928-) установил четыре типа формальных языков в зависимости от порождающих их грамматик. В контексте формального языка грамматика понимается как набор правил для формирования правильных строк символов

Для понимания классификации Хомского – по крайней мере, в ее наиболее общих аспектах – необходимо помнить, что формальная грамматика состоит из четырех компонентов:

  • Терминальные символы (∑) . Они составляют основные элементы языка (алфавит).
  • Нетерминальные символы (N) . Иногда их называют синтаксическими переменными, они носят вспомогательный характер; они выражают промежуточные состояния в процессе порождения слова. Они не являются частью языка.
  • Начальный символ или аксиома (S ∈ N) . Нетерминальный начальный символ, из которого образуется любое из слов языка.
  • Набор производственных правил (P) . Это правила, которые, начиная с исходного символа, позволяют выполнять необходимые преобразования для получения слов языка, заменяя нетерминальные символы терминальными.

Хомский описал следующие четыре типа формальных языков:

  • Тип 3: регулярные или линейные языки. Те, которые генерируются регулярными грамматиками. Их строки характеризуются линейными зависимостями. Это означает, что положение символа в строке зависит только от предшествующего ему символа. Квалификация регулярных, присвоенная этому типу языков, обусловлена тем, что их строки содержат закономерности или повторения одних и тех же символов.
  • Тип 2: контекстно-независимые языки. Те, которые могут быть распознаны с помощью контекстно-свободной грамматики. Произведения грамматик, порождающих эти языки, подчиняются правилу, согласно которому нетерминальный символ всегда может быть заменен строкой нетерминальных или терминальных символов, независимо от контекста, в котором он встречается. Такие языки наиболее широко развиты, так как они лежат в основе большинства языков программирования
  • Тип 1: Контекстно-зависимые языки. Те, которые определяются контекстно-зависимыми грамматиками. Они узнаваемы, поскольку позволяют заменять нетерминальные символы только в определенных контекстах. Произведения грамматик, порождающих эти языки, характеризуются одним нетерминальным символом в левой части; их правая часть может состоять из терминального и нетерминального символа. Это тот тип языков, который имеет наиболее ограниченное производство.
  • Тип 0: свободные или рекурсивно перечислимые языки. Они отвечают на свободные грамматики. Произведения могут содержать терминальные и нетерминальные строки как с правой, так и с левой стороны.

Между четырьмя типами языков существует иерархическая связь, где каждый тип включает в себя другие, так что языки с более низким номером охватывают языки с более высоким номером, как показано на следующей диаграмме:

Приложения формальных языков

Основные приложения формальных языков находятся в области информатики, логики и математики

  • В компьютерной науке формальные языки являются основой для определения языков программирования.
  • В символической логике (также называемой формальной логикой) формальные языки используются для ясного и простого выражения предложений рассуждений с целью определения их истинности.
  • В математике формальные языки используются для представления отношений, операций и формул.
  • В лингвистике формальные языки изучаются в их синтаксических аспектах, чтобы понять закономерности естественных языков.

Примеры формальных языков

Примеры формальных языков:

  • Компьютерные науки. Ниже приведен пример символьной строки из языка программирования C.char str 12 = welcome;где char – символьная переменная, а str – строка. Строка символов приветствуется.
  • Логика . Следующие комбинации символов выражают типы высказываний: p∧q означает p и q, где p и q – два предложения.

    ∽ (r ∧ p) → q

    означает, что если r и p, то q, где r, p и q – пропозиции.

Математика.ATIQB Теорема Пифагора гласит, что в каждом правильном треугольнике квадрат гипотенузы равен сумме квадратов ног. Математически это утверждение можно выразить следующим уравнением:

a2 + b2 = c2

где a и b – меры ног, а c – мера гипотенузы.

Аватар

Дмитрий Смирнов

Добавить комментарий

Нажмите здесь, чтобы оставить комментарий