Google Play badge

sintaksa


SINTAKSA

U informatici, pojam sintakse računalnog jezika odnosi se na skup pravila koja definiraju kombinaciju simbola koji se smatra ispravno strukturiranim fragmentom ili dokumentom na tom jeziku. To se odnosi i na označne jezike, gdje dokument predstavlja podatke, i na programske jezike, gdje dokument predstavlja izvorni kod. Sintaksa jezika definira njegov površinski oblik. Računalni jezici koji se temelje na tekstu temelje se na nizovima znakova. S druge strane, vizualni programski jezici temelje se na povezanosti simbola (koji mogu biti grafički ili tekstualni) i na prostornom izgledu. Za dokumente koji su sintaktički nevažeći kaže se da imaju sintaksičku pogrešku.

Sintaksa – oblik – suprotstavljena je semantici – značenju. U obradi računalnih jezika, semantička obrada obično dolazi nakon sintaktičke obrade. Međutim, u nekim je slučajevima semantička obrada važna za potpunu sintaktičku analizu, pa se stoga obavljaju istodobno ili zajedno. U kompajleru sintaktička analiza obuhvaća prednji dio, dok semantička analiza obuhvaća pozadinu (i srednji kraj u slučajevima kada se razlikuje faza).

RAZINE SINTAKSE

Sintaksa računalnog jezika obično se dijeli na tri različite razine:

Razlikovanje na takav način proizvodi modularnost koja omogućuje da se svaka razina opiše i obradi zasebno, a često i neovisno. Započinje tako što lekser pretvara linearni slijed znakova u linearni niz tokena: to se naziva leksička analiza ili leksiranje .

Drugo, parser pretvara linearni slijed tokena u ono što se naziva hijerarhijsko sintaktično stablo. Ovo se naziva raščlanjivanjem .

Treće, kontekstualna analiza rješava provjere i imenuje vrste. Sama faza raščlanjivanja može se podijeliti na dva dijela: konkretno stablo sintakse ili stablo raščlanjivanja koje je određeno gramatikom, ali je previše detaljno za praktičnu upotrebu, i apstraktno sintaktično stablo (AST), koje ovo pojednostavljuje u formu koji je upotrebljiv.

SINTAKSA PROTIV SEMANTIKA

Sintaksa jezika opisuje valjani oblik programa, ali ne daje nikakve informacije o značenju programa ili rezultatima koji dolaze s izvršavanjem tog programa. Značenjem koje se daje kombinaciji simbola upravlja semantika (bilo tvrdo kodirana ili formalna u referentnoj implementaciji). Nisu svi programi koji su sintaktički ispravni semantički ispravni. Veliki broj sintaktički ispravnih programa ipak je loše oblikovan, prema pravilima jezika; i može (s obzirom na jezičnu specifikaciju kao i ispravnost implementacije) rezultirati pogreškom u izvršenju ili prijevodu. U nekim slučajevima takvi programi mogu pokazati nedefinirano ponašanje. Čak i u trenucima kada je program dobro definiran na jeziku, on i dalje može imati značenje koje nije namijenio njegov pisac.

U primjeru prirodnog jezika, možda je nemoguće dati značenje rečenici koja je gramatički ispravna. Na primjer,

Download Primer to continue