История развития законов. ТРИЗ. Владимир Петров

Чтение книги онлайн.

Читать онлайн книгу История развития законов. ТРИЗ - Владимир Петров страница 7

История развития законов. ТРИЗ - Владимир Петров

Скачать книгу

style="font-size:15px;">      Компилятор состоит из следующих этапов.

      1. Лексический анализ. На этом этапе последовательность символов исходного файла преобразуется в последовательность лексем. Цель лексического анализа – подготовить входную последовательность к грамматическому анализу.

      2. Синтаксический (грамматический) анализ. Последовательность лексем преобразуется в дерево разбора.

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

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

      5. Генерация кода. Из промежуточного представления порождается код на целевом языке. В конкретных реализациях компиляторов эти этапы могут быть разделены или, наоборот, совмещены в том или ином виде.

      Каждый из этих этапов имеет свою программу, работающую по определенному алгоритму – процессу.

      Продолжим рассматривать понятие функции

      Функции можно классифицировать:

      – по полезности;

      – степени их выполнения.

      Опишем классификацию функций:

      1. по полезности:

      – полезные;

      – бесполезные;

      – вредные.

      2. по степени выполнения полезных функций:

      – достаточные;

      – избыточные;

      – недостаточные.

      Полезная функция – функция, обеспечивающая работоспособность системы.

      Бесполезная функция – функция, не обеспечивающая работоспособность системы. Иногда такие функции называют лишними.

      Вредная функция – функция, создающая нежелательный эффект.

      Достаточная функция – функция, создающая необходимое (достаточное) действие.

      Избыточная функция – функция, создающая избыточное действие.

      Недостаточная функция – функция, создающая недостаточное действие.

      Следует отметить, что избыток и недостаток полезной функции следует рассматривать как вредную функцию.

      Пример 2.16. Холодильник

      Функция холодильника – это охлаждать продукт, например мясо.

      Бесполезная функция для потребителя – нагрев задней части холодильника, но она необходима для принципа действия холодильника. Потребителю этот нагрев не нужен.

      Вредная

Скачать книгу