Google Play badge

синтакса


SYNTAX

Во компјутерската наука, терминот синтакса на компјутерски јазик се однесува на збир на правила кои ја дефинираат комбинацијата на симболи кои се сметаат за правилно структуриран фрагмент или документ на тој јазик. Ова се однесува и на јазиците за означување, каде што документот ги претставува податоците и програмските јазици, каде што документот претставува изворниот код. Синтаксата на јазикот ја дефинира неговата површинска форма. Компјутерските јазици кои се базирани на текст се базираат на секвенците на знаците. Визуелните програмски јазици, од друга страна, се засноваат на врската помеѓу симболите (што може да бидат графички или текстуални) и на просторниот распоред. Се смета дека документите кои се синтаксички невалидни се напишани како синтакса.

Синтаксис - форма - е контрастен со семантика - значењето. Во обработка на компјутерски јазици, семантичка обработка обично доаѓа по синтактичката обработка. Меѓутоа, во некои случаи семантичката обработка е важна за целосна синтаксичка анализа и затоа се извршуваат истовремено или заедно. Во компајлерот, синтаксичката анализа ја опфаќа предната страна, додека семантичката анализа го опфаќа задниот дел (и средниот крај во случаите каде што се разликува фазата).

НИВО НА СИНТАКС

Синтаксата за компјутерски јазик вообичаено се разликува во три различни нивоа:

Разликувањето на таков начин создава модулност, овозможувајќи секое ниво да биде опишано, како и обработено одделно, и често самостојно. Започнува со лексерот што ја претвора линеарната низа на знаци во линеарна секвенца на токени: ова се нарекува лексичка анализа или лексинг .

Второ, парсерот ја претвора линеарната секвенца на токени во она што се нарекува хиерархиско синтаксичко дрво. Ова се нарекува парсирање .

Трето, контекстуалната анализа ги решава проверките и типовите на имиња. Самата фаза на парсирање може да се подели на два дела: конкретно синтаксичко дрво или дрвото за разбирање што е одредено од граматиката, но е прецизно детално за практична употреба, и апстрактното синтаксичко дрво (АСТ), кое го поедноставува ова во форма што е употребливо.

SYNTAX VERSUS SEMANTICS

Синтаксата на јазикот опишува форма на валидна програма, но не дава никакви информации во врска со значењето на програмата или резултатите што ги добиваат со извршувањето на таа програма. Значењето што се дава на комбинација на симболи се ракува со семантика (или хард-кодирана или формална во референтна имплементација). Не сите програми што се синтаксички точни се семантички точни. Голем број на синтаксички коректни програми се сепак лошо формирани, според правилата на јазикот; и може (во однос на спецификацијата на јазикот, како и цврстината на имплементацијата) да резултираат со грешка при извршувањето или преводот. Во некои случаи, таквите програми може да покажат недефинирано однесување. Дури и во моменти кога некоја програма е добро дефинирана на некој јазик, таа сè уште може да има значење кое не го наметнува писателот.

Во примерот на природниот јазик, може да биде невозможно да се даде значење на реченицата која е граматички точна. На пример,

Download Primer to continue