Google Play badge

синтаксис


СИНТАКС

В інформатиці термін синтаксис комп’ютерної мови позначає набір правил, що визначають комбінацію символів, що вважається правильно структурованим фрагментом або документом на цій мові. Це стосується як мов розмітки, де документ представляє дані, так і мов програмування, де документ представляє вихідний код. Синтаксис мови визначає її поверхневу форму. Комп’ютерні мови на текстовій основі базуються на послідовності символів. Мови візуального програмування, з іншого боку, базуються на зв'язку між символами (які можуть бути графічними або текстовими) та на просторовому макеті. Документи, які виявляються синтаксично недійсними, мають синтаксичну помилку.

Синтаксис - форма - протиставляється семантиці - значенню. В обробці комп’ютерних мов семантична обробка, як правило, настає після синтаксичної обробки. Однак у деяких випадках семантична обробка є важливою для повного синтаксичного аналізу, і тому вони виконуються одночасно або разом. У компіляторі синтаксичний аналіз включає зовнішній інтерфейс, тоді як семантичний аналіз включає бекенд (і середній кінець у випадках, коли виділяється фаза).

РІВНІ СИНТАКСИСУ

Синтаксис комп’ютерної мови, як правило, розрізняють на три різні рівні:

Розмежування таким чином створює модульність, що дозволяє описувати кожен рівень, а також обробляти його окремо і часто незалежно. Починається з того, що лексер перетворює лінійну послідовність символів у лінійну послідовність лексем: це називається лексичним аналізом або лексикою .

По-друге, синтаксичний аналізатор перетворює лінійну послідовність лексем у так зване дерево ієрархічного синтаксису. Це називається синтаксичним розбором .

По-третє, контекстний аналіз вирішує типи перевірок та імен. Саму стадію синтаксичного аналізу можна розділити на дві частини: дерево конкретного синтаксису або дерево синтаксичного аналізу, яке визначається граматикою, але воно занадто детальне для практичного використання, та дерево абстрактного синтаксису (AST), що спрощує це у вигляді що можна використовувати.

Синтаксис проти семантики

Синтаксис мови описує дійсну форму програми, але він не надає жодної інформації щодо значення програми або результатів, які приходять із виконанням цієї програми. Значення, яке надається комбінації символів, обробляється семантикою (або жорстко закодованою, або формальною у посиланній реалізації). Не всі програми, які є синтаксично правильними, є семантично правильними. Велика кількість синтаксично правильних програм, тим не менш, погано сформована, згідно з правилами мови; і може (що стосується специфікації мови, а також обґрунтованості реалізації) призвести до помилки при виконанні або перекладі. У деяких випадках такі програми можуть демонструвати невизначену поведінку. Навіть часом, коли програма чітко визначена мовою, вона все одно може мати значення, не призначене її автором.

На прикладі природної мови може бути неможливо надати значення реченню, яке є граматично правильним. Наприклад,

Download Primer to continue