Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Заочники / KONSPEKT_СРС_OSA.doc
Скачиваний:
33
Добавлен:
12.05.2015
Размер:
715.26 Кб
Скачать

Разработка семантических программ компилятора

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

Любая правильная запись определяется синтаксисом этой записи.

Синтаксис можно представить:

G[<арифметическое выражение>] – грамматика

< > - нетерминальный символ

<арифметическое выражение>::=<выражение>

<выражение>::=<терм> / <выражение>+<терм> / <выражение>-<терм>

<терм>::=<множитель> / <терм>*<множитель> / <терм>/<множитель>

<множитель>::=<идентификатор> / (<выражение>)

Z::=E

E::=T/E+T/E-T/ -T

T::=F / T*F / T/F

F::=I / (E)

ZET…F*T…x

Пример:

Пусть польская запись образуется в одномерном линейном массиве P.S– указатель на текущий элемент массиваP.

P

Есть стек Н, куда будем записывать восстановленные нетерминальные цепочки символов.

Н

Основа

Порождающие правила

1.

Z::=E

Нет семантической обработки

2.

E::=T

Нет семантической обработки

3.

E::=E+T

P[S]:=’+’; S:=S+1

4.

E::=E-T

P[S]:=’-’; S:=S+1

5.

E::=-T

P[S]:=’@’; S:=S+1

6.

T::=F

Нет семантической обработки

7.

T::=T*F

P[S]:=’*’; S:=S+1

8.

T::=T/F

P[S]:=’/’; S:=S+1

9.

F::=I

P[S]:=’I’; S:=S+1

10

F::=(E)

Нет семантической обработки

Есть цепочка: А*(В+С)

Синтаксический

стек

Сканируемый символ

Остаток цепочки

Номер

правила

ОПЗ - обратная польская

Запись P[S]

-

A

*(B+C)

9

-

F

*

(B+C)

6

A

T

*

(B+C)

(2)

A

T*

(

B+C)

-

A

T*(

B

+C)

-

A

T*(B

+

C)

9

AB

T*(F

+

C)

6

AB

T*(T

+

C)

2

AB

T*(E+

C

)

-

AB

T*(E+C

)

-

9

ABC

T*(E+F

)

-

6

ABC

T*(E+T

)

-

3

ABC+

T*(E)

-

-

10

ABC+

T*F

-

-

7

ABC+*

T

-

-

2

ABC+*

E

-

-

1

Инструменты электронных платформ сапр

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

Уровни проектирования:

  1. Системотехническое проектирование

    1. Внешнее проектирование

    2. Системное проектирование

    3. Проектирование операционных схем

На этапе внешнего проектирования математической модели объекта еще нет. Задачей внешнего проектирования является поиск возможных вариантов решения по прототипам, выбор элементной базы. Инструментальной базой здесь являются информационно-поисковые и справочные системы.

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

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

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

Классический инструмент – язык VHDL. Он применим только для цифровых схем.

  1. Схемотехническое проектирование

    1. Функционально-логическое проектирование. В результате этого проектирования

получаем функционально-логическую схему (системы булевых уравнений).

    1. Проектирование схем электрических принципиальных. Системы булевых уравнений

распределяются по корпусам интегральных схем. Проектирование заключается в

том, что элементы функционально-логических схем распределяются по корпусам

интегральных схем в соответсвии с теми сериями, которые мы выбрали на этапе

внешнего проектирования.

    1. Проектирование контролирующих диагностических тестов.

3. Конструкторско-технологический

На конструкторском уровне уже появляется физическая модель в виде топологических представлений.

На всех уровнях проектирования математические модели используются для реализации различных видов анализа проектируемых объектов.

Рассмотрим, как меняется модели на разных уровнях представления.

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

Модель функционально-логическогоуровня.

Параметры электрического сигнала дискретны, время непрерывно.

Моделирование на уровне регистровых передатчиков.

Все сигналы и время - дискретны.

Модели разделяются на два вида:

  • аналитические

  • имитационные

Аналитические модели- это модели, в которых функционирование или поведение всего исследуемого объекта описывается единой системой уравнений.

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

Имитационное моделирование

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

Математические уравнения и взаимосвязи (абстрактные модели) среди которых выделяются аналитические и имитационные.

Графические модели (визуальные).

Разработка модели - это сложный процесс, который плохо поддается формализации и выполняется на основании следующих предложений или допущений:

  1. Известны физические законы, описывающие функционирование системы.

  2. Может быть разработано графическое представление системы.

  3. Можно управлять входами, элементами и выходами системы.

Если моделируется не технические, а социально-экономические системы, то задача создания модели усложняется, поскольку:

  • В распоряжении исследователя имеется мало фундаментальных законов в рассматриваемой системе.

  • Многие взаимосвязи между элементами системы с трудом поддаются количественному описанию и формализации.

  • Трудно количественно описать поведение входных элементов.

  • Важную роль играют стохастические (вероятностные) процессы.

  • Неотъемлемой частью такой системы является процесс принятия решения человеком.

Реальная физическая система,

состоящая и множества

элементов

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

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

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

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

Основные принципы программного моделирования.

Существует два основных подхода к моделирования:

  • событийное моделирование

  • информационное моделирование

При информационном моделированиимодель представляется в виде некоторого графа, вершины которого отождествляются с элементами исследуемого объекта, и в них реализуется функционирование соответствующего элемента. Связи определяют взаимодействие соответствующих элементов. В процессе моделирования мы рассматриваем все элементы данного графа и решаем соответствующие функцииfi на множестве входных и выходных элементов. А а, в и с - это внутренние переменные.

Событийное моделирование

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

Событийного моделирования имеет более сложный механизм моделирования. Для сложных систем решение этим методом становится сложнее информационного моделирования.

Соседние файлы в папке Заочники