Семантика (программирование)
Сема́нтика в программировании — дисциплина, изучающая формализации значений конструкций языков программирования посредством построения их формальных математических моделей. В качестве инструментов построения таких моделей могут использоваться различные средства, например, математическая логика, λ-исчисление, теория множеств, теория категорий, теория моделей, универсальная алгебра. Формализация семантики языка программирования может использоваться как для описания языка, определения свойств языка, так и для целей формальной верификации программ на этом языке программирования.
Содержание |
Общий смысл [править]
Семантика — это смысловое значение слов. В программировании, начальное смысловое значение операторов, основных конструкция языка и т.п.
Пример:
Первый код:
while(i<5){i++;}
Второй код:
if(i<5){i++} if(i<5){i++} if(i<5){i++} if(i<5){i++} …
Логически эти два фрагмента кода выполняют одно и тоже — цикл. Но семантически первый код — это цикл, а второй множество условий, хотя логически, в данном случае, это одно и тоже. Так же например теги:
<h1 style="font-weight:50px;"></h1> <div style="font-weight:50px;"></div>
будут выглядеть на странице совершенно одинаково, то есть представлять фактически будут одно и тоже, а семантически первый тег — это заголовок, а второй обычный абзац.
Подходы [править]
Операционная семантика (англ. operational semantics) используется для синтаксических понятий языка. В ней функции рассматриваются как текстуальные правильно построенные определения, обеспечивающие применение к аргументу, а не как функции в математическом понимании этого термина.
Существует классификация различных видов операционной семантики:
Интерпретационная семантика - описание операционной семантики конструкций в терминах языков программирования низкого уровня (язык ассемблера, машинный код). Этот способ позволяет выявлять медленно выполняемые участки программы, и зачастую используется в соответствующих фрагментах систем программирования в целях оптимизации кода программ.
Трансляционная семантика - описание операционной семантики конструкций в терминах языков программирования высокого уровня. С помощью этого способа можно изучать язык, схожий с уже известным программисту.
Трансформационная семантика - описание операционной семантики конструкций языка в терминах этого же языка. Трансформационная семантика является основой метапрограммирования.
| Эту статью следует викифицировать.
Пожалуйста, оформите её согласно правилам оформления статей.
|
| Этот раздел статьи ещё не написан.
Согласно замыслу одного из участников Википедии, на этом месте должен располагаться раздел, посвящённый денотационной, операционной, аксиоматической семантике.
Вы можете помочь проекту, написав этот раздел. |
См. также [править]
Литература [править]
| Этот раздел статьи ещё не написан.
Согласно замыслу одного из участников Википедии, на этом месте должен располагаться раздел, посвящённый фундаментальной литературе по теме.
Вы можете помочь проекту, написав этот раздел. |
Для улучшения этой статьи желательно?:
|
| Это заготовка статьи по информатике. Вы можете помочь проекту, исправив и дополнив её. |