|
СИНТАКСИС И СЕМАНТИКА НА ЕЗИК ЗА ПРОГРАМИРАНЕ JAVA
Всяка програма на език за програмиране се изгражда, като се използва определен набор от знакове, наричан азбука на езика. Азбуките на повечето езици за програмиране включват латинските буква, десетични цифри и някои други знакове като ‘+’, ‘/’, ‘:’ и др. При писането на програми трябва да се спазват определени строги правила. Има два типа правила, определящи съответно начина на записване (синтаксиса) и смисъла (семантиката) на езиковите конструкции. Синтактичните правила определят кои последователности от знакове на азбуката на съответния език за програмиране са допустими езикови конструкции. Съгласно тези правила едни последователности от знакове са правилни, а други – не. Семантичните правила определят смисъла на синтактично правилните конструкции, т.е. как те трябва да се разбират от човек и как ще бъдат интерпретирани при изпълнение от компютър. Елементи на език за програмиране Служебните думи представляват съвкупност от думи, които са запазени от езика за програмиране и не могат да се използват за имена на променливи и т.н. Примери за служебни думи в Java са import, if, public, case и др. Чрез знаковете от азбуката на езика за програмиране могат да се записват числа (напр. 3, 12, -7.77), да се дават имена на програмите и на величините (напр. Х, У, price) и да се изграждат по-сложни езикови конструкции като изрази, оператори и т.н. Имената в езиците за програмиране са последователности от букви и цифри, започващи с буква. Такива последователност се наричат идентификатори. Идентификатори в езика Java са например age, price, age3, a2 и т.н. Не са идентификатори 2age, 1a2. В програмите се използват и изрази (например 3+Х, age*koef_k, ((А+В/С)/(В-А/С)) и др), в които участват константи, променливи и знаци за операции между тях. Програмата на език за програмиране предствлява конкретен компютърен алгоритъм , а алгоритмите се характеризират с два типа параметри – данни и правила за тяхната обработка. Това определя структурата на програмата. Най-общо програмата се състои от две части – част за описание на данните и част за описание на тяхната обработка. В първата част се дават сведения за характера на данните (дали са целочислени, реални, логически и т.н.), за техния вид (константи или променливи), за имената им и др. Тези сведения улесняват разбирането на програмата и откриването на допуснати грешки. Във втората основна част на програмата (класа) се описва обработката на данните с помощта на т. нар. Оператори на езика за програмиране. Операторът задава определено елементарно действие, например: CODE
{Status = adult}; // ако годините са повече или 18, то на //променлива с име Status присвояваме пълнолетен (adult). Ако алгоритъмът, който програмата описва, е по-сложен и е представен с използване на подалгоритми, то подалгоритмите се оформят като подпрограми, чиято структура наподобява тази на програмите. С цел програмите (класовете) да са разбираеми за хората, в техния текст могат да се вмъкват, по определени правила, т.нар. коментари, които съдържат обяснения за човека и които не се взимат предвид от транслатора. Например // пояснение за програмисти e коментар на езика Java. Когато сме поставили знака //, то всичко, което сме написали след него, но само до края на реда, се игнорира от транслатора. Методи за описание на синтаксиса и семантиката Семантиката на конструкциите в езиците за програмиране се описва точно доста трудно и обикновено се определя с изречения на естествен език. За описване на синтактичните правила са намерени прости способи и средства. За описание на синтаксиса на езика Java в следващите уроци ще се изполва нагледен метод, като въвеждаме следното условие: всеки израз, заграден в прави скоби [ ] е незадължителен, а определението на всеки израз, заграден в <> е дадено другаде. Пр. 1 Нагледен метода за определяне на: а) цифра; б) цяло без знак. CODE
Където пример 1а определя понятието цифра. Показали сме, че цифра, това е всеки един елемент от изброеното множество.Т.е., че цифра е всеки един от знаците 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Пример 1б определя понятието “цяло число без знак”, като ползва определението за “цифра”. Т.е. посочва, че цяло без знак може да бъде и само една цифра или много цифри наредени една до друга. С други думи цялото число без знак е последователност от една или повече цифри. Пр. 2 Нагледен метода за определяне на: а) CODE
CODE
За определя <знак> като един от двата знака: или + или - . Всяко <цяло число> от 2б се образува от <цяло без знак>, пред което има или няма <знак>. В този случай квадратните скоби са използвани за да се изрази възможността за пропускане на част от конструкцията. Структура на клас (програма) в езика JavaОсновните елементи на езика Java, както и структурата на класа на Java съответстват изцяло на разгледаните по-горе общи принципи. Както се вижда от следващото описание, основна част на класа е блока (тялото), който се предшества от име (заглавие) на класа. Имената (идентификаторите) на всички програмни елементи се образуват по правилата за конструиране на идентификатори в езика. CODE
Блокът, от своя страна, съдържа имена на променливи и констранти, задават се начални стойности, описват се оператори и методи, като винаги трябва да включва в себе си главен метод (мейн main метод). Пр. 3. Структура и основни елементи на програма на Java CODE
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||









