- •Анализ отдельных слов
- •Анализ отдельных предложений
- •Семантический анализ
- •Заключение
- •Литература
- •Документальные ис.
- •Принцип функционирования ипс.
- •Состав аис.
- •Уровни представления языковых объектов.
- •Основные элементы ипя.
- •Требования к ипя.
- •Типология ипя.
- •Языки предкоординатного типа. Иерархическая классификация.
- •Перечислительные классификации.
- •Фасетные классификации.
- •Посткоординационные ипя.
- •Дескрипторные ипя.
- •Устранение синонимии.
- •Словари лексических единиц.
- •1. Тезаурус.
- •2. Другие виды.
- •Построение словаря дескрипторного языка. Основные характеристики. Анализ и построение словаря дескрипторного языка.
- •Количественные характеристики словарей.
- •Учёт синтагматических отношений.
- •Семантические коды.
- •Системы индексирования.
- •Типы (разновидности) систем индексирования.
- •Подходы к автоматизации индексирования.
- •Системы кодирования.
- •Оценка эффективности поиска.
- •Организация информационных массивов.
- •Стратегии поиска.
- •Элементы теории формальных языков и грамматик Введение.
- •Основные понятия и определения
- •Классификация грамматик и языков по Хомскому
- •Примеры грамматик и языков.
- •Разбор цепочек
- •Преобразования грамматик
- •Задачи.
- •Элементы теории трансляции Введение.
- •Описание модельного языка
- •Лексический анализ
- •О недетерминированном разборе
- •Задачи лексического анализа
- •Лексический анализатор для м-языка
- •Второй этап: по дс пишем программу
- •Задачи.
- •Синтаксический и семантический анализ
- •Метод рекурсивного спуска
- •Void error(); / функция обработки ошибок /
- •О применимости метода рекурсивного спуска
- •Синтаксический анализатор для м-языка
- •О семантическом анализе
- •Семантический анализатор для м-языка
- •Обработка описаний
- •Int declare; /* описан ? 1-"да", 0-"нет" */
- •Void ipush (int I); /* значение I - в стек */
- •Int ipop (void); /* из стека - целое */
- •Контроль контекстных условий в выражении
- •Void spush (char *s); /* значение s - в стек */
- •If (tid [I].Declare) /* описан? */
- •Контроль контекстных условий в операторах
- •Задачи.
- •Генерация внутреннего представления программ
- •Язык внутреннего представления программы
- •Синтаксически управляемый перевод
- •Генератор внутреннего представления программы на м-языке
- •Интерпретатор полиЗа для модельного языка
- •Задачи.
- •Литература
- •Раздел 7 (вопрос 3) Значение когнитивной психологии и структурной лингвистики для автоматизированной обработки текстов на ея
- •Когнитивная лингвистика
- •Когнитивная лингвистика и другие науки
- •Концепция образных схем
- •Концептуальная теория метафоры
- •Формирование когнитивной лингвистики
- •Раздел 7 (вопрос 5) Модель понимания текстов Кинча
- •1.2. Основные положения
- •1.3. Общая характеристика модели
- •Раздел 7 (вопрос 6) Принципы структуризации текстов на основе трансформационной грамматики.
- •Синтактика, семантика и прагматика
- •Знаки и культура
- •Синтагма и парадигма
- •Типы связей между знаком и денотатом
- •Знак. Его значение и смысл
- •Знаковое пространство. Парадигма трех миров
- •Знаковые системы и типы знаков
- •Понятие коннотата
- •Проблема похожести знака на денотат. Ономатопея
- •Случайность и закономерность в знаках и знаковых системах
- •Прагматика – часть семиотики
- •Глава 2. Слова, словари и понятия Слова и словари
- •Акты именования. Семиотические универсалии
- •Треугольник Фреге. Связь между знаком, денотатом и понятием
- •Глава 3. Теория тезауруса Тезаурус. Онтогенез
- •Тезаурус. Определение
- •Популярные тезаурусы и их особенности
- •Теория тезауруса и семиотика
- •Теория тезауруса и информатика
- •Тезаурус. Парадигматика
- •Тезаурусная терминология
- •Популярные тезаурусы и их особенности
- •Глава 4. Эволюция знаковых систем. Законы существования текстов в обществе Постановка проблемы
- •Парадигматика, или правила обращения с текстами
- •Материализация знака. Фактура речи
- •Переход от одной фактуры речи к другой
- •Глава 5. Парадигмы построения эффективных знаковых произведений Общие положения
- •Риторика и ее гуманитарная катастрофа
- •Определение риторики как науки об эффективной деятельности
- •Риторика как прагматика
- •Риторика и логика. Риторика и истина. Образ автора
- •Риторика. Классические парадигмы
- •Понятие риторического изобретения
- •Девиации синтактики и семантики знаков как риторическая парадигма
- •Риторика как технология эффективной деятельности. Теория документа
- •Глава 6. Знаки, люди и законы. Парадигмы их взаимодействия на примере рекламных текстов Американская реклама как сфера общения
- •Коммуникативная структура американской рекламы
- •Авторство и правила обращения с рекламными текстами
- •Роль рекламных текстов в американском обществе
- •Законодательное регулирование рекламной деятельности
- •Законы знакообразования
- •Законодательное регулирование связи знак–денотат в рекламе
- •Прагматика рекламного текста
- •Регулирование собственно рекламной деятельности как производства текстов
- •Рекламоведческие правила
- •Правила сбора информации
- •Синтактика рекламного текста
- •Интеграция с другими типами знаков
- •Прагматический эффект рекламы
- •Реклама – важная часть американской цивилизации
- •Универсальность и прогностический потенциал рекламной парадигмы
- •Нечеткие множества. Основные понятия и определения, подходы к их обработке, операции над нечёткими множествами.
Интерпретатор полиЗа для модельного языка
Польская инверсная запись была выбрана нами в качестве языка внутреннего представления программы, в частности, потому, что записанная таким образом программа может быть легко проинтерпретирована.
Идея алгоритма очень проста: просматриваем ПОЛИЗ слева направо; если встречаем операнд, то записываем его в стек; если встретили знак операции, то извлекаем из стека нужное количество операндов и выполняем операцию, результат (если он есть) заносим в стек и т.д.
Итак, программа на ПОЛИЗе записана в массиве P; пусть она состоит из N элементов-лексем. Каждая лексема - это структура
struct lex {int class; int value;},
возможные значения поля class:
-
- лексемы-метки (номера элементов в ПОЛИЗе)
-
- логические константы true либо false ( других лексем - служебных слов в ПОЛИЗе нет)
-
- операции (других лексем-ограничителей в ПОЛИЗе нет)
-
- целые константы
-
- лексемы-идентификаторы ( во время интерпретации будет использовать-ся значение)
-
- лексемы-идентификаторы ( во время интерпретации будет использовать-ся адрес).
Считаем, что к моменту интерпретации распределена память под константы и переменные, адреса занесены в поле address таблиц TID и TNUM, значения констант размещены в памяти.
В программе-интерпретаторе будем использовать некоторые переменные и функции, введенные нами ранее.
void interpreter(void) {
int *ip;
int i, j, arg;
for (i = 0; i<=N; i++)
{curr_lex = P[i];
switch (curr_lex.class) {
case 0: ipush (curr_lex.value); break;
/* метку ПОЛИЗа - в стек */
case 1: if (eq ("true")) ipush (1);
else ipush (0); break;
/* логическое значение - в стек */
case 2: if (eq ("+")) {ipush (ipop() + ipop()); break};
/* выполнили операцию сложения, результат - в стек*/
if (eq ("-"))
{arg = ipop(); ipush (ipop() - arg); break;}
/* аналогично для других двухместных арифметических и логических операций */
if (eq ("not")) {ipush (!ipop()); break;};
if (eq ("!")) {j = ipop(); i = j-1; break;};
/* интерпретация будет продолжена с j-го элемента ПОЛИЗа */
if (eq ("!F")) {j = ipop(); arg = ipop();
if (!arg) {i = j-1}; break;};
/* если значение arg ложно, то интерпретация будет продолжена с j -го элемента ПОЛИЗа, иначе порядок не изменится */
if (eq (":=")) {arg = ipop(); ip = (int*)ipop();
*ip = arg; break;};
if (eq ("R")) {ip = (int*) ipop();
scanf("%d", ip); break;};
/* "R" - обозначение операции ввода */
if (eq ("W")) {arg = ipop();
printf ("%d", arg); break;};
/* "W" - обозначение операции вывода */
case 3: ip = TNUM [curr_lex.value].address;
ipush(*ip); break;
/* значение константы - в стек */
case 4: ip = TID [curr_lex.value].address;
ipush(*ip); break;
/* значение переменной - в стек */
case 5: ip = TID [curr_lex.value].address;
ipush((int)ip); break;
/* адрес переменной - в стек */
} /* конец switch */
} /* конец for */
}