Аппаратные и программные средства встраиваемых систем



Pdf көрінісі
бет119/268
Дата07.01.2022
өлшемі3,23 Mb.
#18255
1   ...   115   116   117   118   119   120   121   122   ...   268
3.2  Языки программирования 
3.2.1  Основные определения 
Язык – система  знаков,  сопряженная  с  правилами  их  связывания  и 
служащая коммуникативным целям. Язык – средство, позволяющее передавать 
человеческие  мысли  и  образы.  Формальный  язык  позволяет  однозначно 
воспринимать описание, неформальный допускает неоднозначности. 


 
135 
Язык  программирования – язык,  позволяющий  выразить  человеческие 
мысли  и  образы  в  формальном  виде,  однозначно  воспринимаемом 
вычислительным устройством в рамках конкретной модели вычислений. 
К  составным  частям  языка  можно  отнести:  лексику,  синтаксис  и 
семантику. 
Лексика    описание  элементов  языка  (его  элементарных  конструкций). 
Например, лексемами языка Си являются: for, if, int, char, while,+, -,... 
Синтаксис – совокупность  правил  написания  языковых  элементов 
(лексем). 
Семантика – смысловое  наполнение  языковых  конструкций,  связь  между 
элементами языка и их значением.  
Существуют  языки,  в  которых  лексемы  и  синтаксис  очень  близки,  а 
семантика – различна.  Обычно  так  происходит,  если  в  основе  языков  лежат 
различные модели вычислений. 
Существует  несколько  подходов  к  определению  семантики  языков 
программирования.  Наиболее  широко  распространены  разновидности 
следующих  трёх:  операционного,  денотационного  (математического)  и 
деривационного  (аксиоматического).  При  описании  семантики  в  рамках 
операционного 
подхода 
обычно 
исполнение 
конструкций 
языка 
программирования  интерпретируется  с  помощью  некоторой  воображаемой 
(абстрактной)  ЭВМ.  Деривационная  семантика  описывает  последствия 
выполнения  конструкций  языка  с  помощью  языка  логики  и  задания  пред-  и 
постусловий. Денотационная семантика оперирует понятиями, типичными для 
математики – множества, соответствия, а также суждения, утверждения и др. 
Статическая  типизация – приём,  широко  используемый  в  языках 
программирования,  при  котором  переменная,  параметр  подпрограммы, 
возвращаемое  значение  функции  связывается  с  типом  в  момент  объявления  и 
тип не может быть изменён позже (переменная или параметр будут принимать, 
а  функция – возвращать  значения  только  этого  типа).  Примеры  статически 
типизированных языков – Ада, Си++, Паскаль. 
Динамическая  типизация – приём,  широко  используемый  в  языках 
программирования  и  языках  спецификации,  при  котором  переменная 
связывается  с  типом  в  момент  присваивания  значения,  а  не  в  момент 
объявления переменной. Таким образом, в различных участках программы одна 
и та же переменная может принимать значения разных типов. Примеры языков, 
где  есть  динамическая  типизация – Smalltalk  Python, Ruby, PHP, Perl, 
JavaScript, Object Pascal, Lisp, xBase. 


 
136 


Достарыңызбен бөлісу:
1   ...   115   116   117   118   119   120   121   122   ...   268




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет