Препоръчано, 2020

Избор На Редактора

Разлика между синтаксис и семантика

Синтаксис и семантика са много важни термини, свързани с всеки програмен език. Синтаксисът в езика за програмиране включва набор от разрешени фрази на даден език, докато семантиката изразява свързаното значение на тези фрази.

Има някои връзки между синтаксиса и семантиката, където всеки семантичен елемент е свързан с поне едно синтактично предаване, а другият гарантира, че всяко синтактично представяне има отличително значение.

Сравнителна таблица

Основа за сравнениеСинтаксиссемантика
ОсновенРазрешени фрази на език.Тълкуване на фразите.
грешкиОбработва се по време на компилацията.Сблъскват се по време на изпълнение.
връзкаСинтактичната интерпретация трябва да има някакво отличително значение.Семантичният компонент е свързан със синтактично представяне.

Определение на синтаксиса

Синтаксисът на езика за програмиране се използва за обозначаване на структурата на програмите, без да се отчита тяхното значение. Той основно подчертава структурата, оформлението на програмата с техния външен вид. Тя включва набор от правила, които валидират последователността от символи и инструкции, използвани в програмата. Прагматичният и изчислителен модел представя тези синтактични компоненти на езика за програмиране. Разработените инструменти за определяне на синтаксиса на програмните езици са редовни, контекстно-свободни и атрибутивни граматики.

Но каква е граматиката в този аспект? Граматиките обикновено са правила за пренаписване, чиято цел е да разпознават и генерират програмите. Граматиката не разчита на изчислителния модел, вместо да се използва в описанието на структурата на езика. Граматиката съдържа краен набор от граматични категории (като съществителна фраза, глаголна фраза, статия, съществително и т.н.), самотни думи (елементи на азбуката) и добре оформени правила за определяне на реда, в който компонентите на граматичните категории трябва да се появи.

Анализът на синтаксис е задача, изпълнявана от компилатор, който изследва дали програмата има правилно свързано дърво на деривация или не.

Синтаксисът на език за програмиране може да се интерпретира чрез следните формални и неформални техники:

  • Лексичен синтаксис за определяне на правилата за основни символи, включващи идентификатори, литерали, пунктуатори и оператори.
  • Конкретният синтаксис определя реалното представяне на програмите с помощта на лексикални символи като неговата азбука.
  • Абстрактният синтаксис предава само жизненоважната програмна информация.

Видове граматики

  • Граматиката без контекст се използва често, за да се разбере цялата езикова структура.
  • Редовните изрази описват лексикалните единици (символи) на езика за програмиране.
  • Граматиките на атрибутите определят контекстно-чувствителната част от езика.

Определение на семантиката

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

Семантиката на езика за програмиране може да бъде описана чрез различните техники - Алгебраична семантика, Аксиоматична семантика, Оперативна семантика, Денотационна семантика и Семантика на превода.

  • Алгебричната семантика интерпретира програмата чрез дефиниране на алгебра.
  • Аксиоматичната семантика определя значението на програмата чрез изграждане на твърдения за асоциация, която задържа във всяка точка от изпълнението на програмата (т.е. имплицитно).
  • Оперативната семантика сравнява езиците с абстрактната машина и след това програмата се оценява като последователност от преходи на състоянието.
  • Denotational семантика изразява смисъла на програмата под формата на набор от функции, работещи на състоянието на програмата.
  • Транслационната семантика се фокусира върху методите, използвани за превеждане на програма на друг език.

Основни разлики между синтаксиса и семантиката

  1. Синтаксисът се отнася до структурата на програма, написана на език за програмиране. От друга страна, семантиката описва връзката между смисъла на програмата и изчислителния модел.
  2. Синтактичните грешки се обработват по време на компилацията. За разлика от семантичните грешки е трудно да се намерят и срещнат по време на изпълнение.
  3. Например, в c ++ променлива "s" е обявена за "int s;", за да я инициализираме, трябва да използваме цяло число. Вместо да използваме цяло число, ние го инициализираме с “Seven”. Тази декларация и инициализация е синтактично правилна, но семантично неправилна, защото “Seven” не представлява цяло число.

заключение

Синтаксисът на езика за програмиране е набор от правила, които определят структурата или формата на кода, докато семантиката се отнася до тълкуването на кода или свързаното с него значение на символите, символите или всяка част от програмата.

Top