![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Понятие языка. Формальное определение языка
В общем случае язык — это заданный набор символов и правил, устанавливающих способы комбинации этих символов между собой для записи осмысленных текстов. Основой любого естественного или искусственного языка является алфавит, определяющий набор допустимых символов языка. Алфавит — это счетное множество допустимых символов языка. Будем обоз чать это множество символом V. Интересно, что согласно формальному опр делению, алфавит не обязательно должен быть конечным (перечислимым) I жеством, но реально все существующие языки строятся на основе коне алфавитов. Цепочка символов а является цепочкой над алфавитом V: a(V), если в нее в дят только символы, принадлежащие множеству символов V. Для любого Ф вита V пустая цепочка X может как являться, так и не являться цепочкой Это условие оговаривается дополнительно. : и цепочки символов. Способы задания языков
у+ — множество всех цепочек над алфавитом V без X; V* — множество всех цепочек над алфавитом V, включая X. Справедливо равенство: V* = V+ u {А.}. Языком L над алфавитом V: L(V) называется некоторое счетное подмножество почек конечной длины из множества всех цепочек над алфавитом V. Из этого деления следуют два вывода: во-первых, множество цепочек языка не обяза- о быть конечным; во-вторых, хотя каждая цепочка символов, входящая в язык, обязана иметь конечную длину, эта длина может быть сколь угодно большой и формально ничем не ограничена. Все существующие языки подпадают под это определение. Большинство реальных естественных и искусственных языков содержат бесконечное множество цепочек. Также в большинстве языков длина цепочки ничем не ограничена (например, этот длинный текст — пример цепочки символов русского языка). Цепочку символов, принадлежащую заданному языку, часто называют предложением языка, а множество цепочек символов некоторого языка L(V) — множеством предложений этого языка. Для любого языка L(V) справедливо: L(V) с V*. Язык L(V) включает в себя язык L'(V): L'(V)cL(V), если V aeL(V): aeL'(V). Множество цепочек языка L'(V) является подмножеством множества цепочек языка L(V) (или эти множества совпадают). Очевидно, что оба языка должны строится на основе одного и того же алфавита. Два языка L(V) и L'(V) совпадают (эквивалентны): L'(V) = L(V), если L'(V)czL(V) и L(V)cL'(V); или, что то же самое: V ael'(V): aeL(V) и V aeL'(V): aeL(V). Множества допустимых цепочек символов для эквивалентных языков должны быть равны. Два языка L(V) и L'(V) почти эквивалентны: L'(V) = L(V), если L'(V)u{^} -= L(V)u{^}. Множества допустимых цепочек символов почти эквивалентных языков могут различаться только на пустую цепочку символов. Способы задания языков каждый язык — это множество цепочек символов над некоторым алфавитом. Но кроме алфавита язык предусматривает и задание правил построения до-/стимых цепочек, поскольку обычно далеко не все цепочки над заданным алфавитом принадлежат языку. Символы могут объединяться в слова или лексемы — лементарные конструкции языка, на их основе строятся предложения — более ложные конструкции. И те и другие в общем виде являются цепочками симво-i но предусматривают некоторые правила построения. Таким образом, необ-°Димо указать эти правила, или, строго говоря, задать язык. ЗЬ1к задать можно тремя способами: перечислением всех допустимых цепочек языка. казанием способа порождения цепочек языка (заданием грамматики языка). Определением метода распознавания цепочек языка. ■ 350 Глава 9. Формальные языки и грамматики
Например, запись L({0,l}) = {0nln, n > 0} задает язык над алфавитом V = {ОД}, содержащий все последовательности с чередующимися символами 0 и 1, начинающиеся с 0 и заканчивающиеся 1. Видно, что пустая цепочка символов в этот язык не входит. Если изменить условие в этом определении с п > 0 на п>0, то получим почти эквивалентный язык L'({0,l}), содержащий пустую цепочку. Второй способ предусматривает некоторое описание правил, с помощью которых строятся цепочки языка. Тогда любая цепочка, построенная с помощью этих правил из символов алфавита языка, будет принадлежать заданному языку. Например, с правилами построения цепочек символов русского языка вы долго и упорно знакомились в средней школе. Третий способ предусматривает построение некоторого логического устройства (распознавателя) — автомата, который на входе получает цепочку символов, а на выходе выдает ответ: принадлежит или нет эта цепочка заданному языку. Например, читая этот текст, вы сейчас в некотором роде выступаете в роли распознавателя (надеюсь, что ответ о принадлежности текста русскому языку будет положительным).
Дата добавления: 2015-06-27; Просмотров: 1314; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |