Естественная семантика. Правила, определяющие естественную семантику языка арифметических выражений. | MetodPro.ru

Реклама на сайте

Естественная семантика. Правила, определяющие естественную семантику языка арифметических выражений.


2) Естественная семантика. Правила, определяющие естественную семантику языка арифметических выражений
1) Семантика языков программирования
Определение языка программирования должно иметь как минимум две части: синтаксис и семантику.
?     Синтаксис задаётся формально контекстно – свободными грамматиками.
?     Семантика чаще всего определяется неформально, например смысл оператора
        while  B do C
объясняют так: «Для вычисления этого оператора нужно вычислять оператор C до тех пор, пока значение выражения B истинно».
?     В этом курсе мы рассмотрим методы формального задания семантики языков программирования.
Зачем нужна формальная семантика?
?    Чтобы точно знать возможности языка программирования.
?     Чтобы доказывать корректность программы, а не экспериментировать с компилятором.
?     Чтобы убедиться, что компилятор работает корректно.
?     Для облегчения переносимости компилятора на различные платформы.
2) Естественная семантика
Это аксиоматическая система, определяющая смысл каждой конструкции языка в виде вычисляемого ею значения.
Определим семантику языка арифметических выражений.
Для этого понадобится отношение
=>: Exp -> Num,
отображающее множество арифметических выражений на множество чисел.
 Оно определяется индуктивно:
Правило 1:  Для каждой числовой константы n, n => n.
Правило 2: Если e => v и e’ => v’, то e op e’ => Ap (op, v, v’).
3) Правила определяющие естественную семантику языка арифметических выражений.
Правило CR
________
p |-  n => n
Правило OpR
p|- e => v            p |- e` => v`
p|- e op e` => Ap(opNum, v, v`)





Методические пособия

  • Системы автоматизированного проектирования
  • Социология молодёжи
  • Общая социология
  • Криптография
  • Проектирование трансляторов
  • Компьютерная графика
  • Моделирование систем
  • Информационная безопасность
  • Теория вычислительных процессов
  • Логические основы искусственного интелекта
  • Проектирование распределённых информационных систем