Термины и определения. Задание и методические указания к выполнению лабораторной работы № 6

Задание и методические указания к выполнению лабораторной работы № 6

по дисциплине «Функциональное программирование»

Тема

Компиляция текста на ограниченном естественном языке во внутримашинное представление

Цель работы

Получение практических навыков написания программ, осуществляющих компиляцию и использование для обработки информации машинных словарей на жестких дисках. Получение практических навыков в подготовке и отладке РЕФАЛ-программ в среде Eclipse Рефал Плюс.

Термины и определения

Формальная грамматика (в теории формальных языков) — способ описания формального языка, то есть выделения некоторого подмножества из множества всех слов некоторого конечного алфавита. Различают порождающие и распознающие грамматики; первые задают правила, с помощью которых можно построить любое слово языка, а вторые позволяют по данному слову определить, входит оно в язык или нет.

Конечный автомат — абстрактный автомат, число возможных состояний которого конечно. Результат работы автомата определяется по его конечному состоянию.

Контекстно-свободная (КС, безконтекстная) грамматика — частный случай формальной грамматики, у которой левые части всех продукций — одиночные нетерминальные символы. Смысл термина «контекстно-свободная» означает возможность применить правило к нетерминалу, в вне зависимости от этого нетерминала. Язык, который задается КС-грамматикой, называется контекстно-свободным языком или КС-языком.

Компиляция (в широком смысле слова) — преобразование текста на одном языке, в нашем случае на ограниченном естественном языке, в текст на другом языке (внутримашинное представление). В данной лабораторной работе компиляция предполагает выполнение двух этапов: 1) лексического анализа текста и 2) синтаксического анализа текста.

S-грамматика (простая грамматика, раздельная грамматика) — КС-грамматика для которой выполняются два условия: 1)Правая часть каждого правила начинается терминалом; 2) Если два правила имеют совпадающие левые части, то правые части этих правил должны начинаться различными терминальными символами.

Автомат с магазинной памятью (в теории автоматов) — это конечный автомат, который использует стек для хранения состояний. В отличие от конечных автоматов, автомат с магазинной памятью является набором: где K — конечное множество состояний автомата; — единственно допустимое начальное состояние автомата; — множество конечных состояний, причём допустимо , и F=K; Σ — допустимый входной алфавит, из которого формируются строки, считываемые автоматом; S — алфавит памяти (магазина); — нулевой символ памяти. Память работает как стек, то есть для чтения доступен последний записанный в неё элемент. Таким образом, функция перехода является отображением . По комбинации текущего состояния, входного символа и символа на вершине магазина автомат выбирает следующее состояние и, возможно, символ для записи в магазин. Автомат с магазинной памятью может распознать любой контекстно-свободный язык.

Стек (англ. stack — стопка) — структура данных с методом доступа к элементам LIFO (англ. «Last In — First Out», «последним пришёл — первым ушел»). Чаще всего принцип работы стека сравнивают со стопкой тарелок: чтобы взять вторую сверху, нужно снять верхнюю. Добавление элемента, называемое также проталкиванием, возможно только в вершину стека (добавленный элемент становится первым сверху). Удаление элемента, называемое также выталкивание, возможно также только из вершины стека, при этом, второй сверху элемент становится верхним.

Ограниченный естественный язык – искусственно созданная знаковая система для использования в тех областях, где применение естественного языка менее эффективно или невозможно. В качестве ограниченного естественного языка используется язык, предложенный профессором А.В. Колесниковым и использующий концептуальный базис «ресурс-свойство-действие-отношение».

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

Синтаксический анализ (парсинг) - это процесс сопоставления линейной последовательности лексем языка с его формальной грамматикой. Результатом обычно является дерево разбора (синтаксическое дерево

Синтаксический анализатор (парсер) — программа, выполняющая синтаксический анализ.

Лексический анализ - процесс аналитического разбора предложений на некотором языке (в нашем случае – ограниченном естественном языке), с целью проверки использования в тексте только «разрешенных» к использованию слов – лексем и замены их на специальные кодовые обозначения. Для лексического анализа используются специальным образом организованные машинные словари.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: