Zatímco lidské jazyky jsou tolerantní k drobným chybám (překlepy, chybějící čárky), počítačové jazyky vyžadují absolutní přesnost. Syntaxe definuje vnější podobu programu, zatímco sémantika definuje jeho význam (co program skutečně dělá).
Téměř všechny moderní jazyky sdílejí několik základních syntaktických konceptů:
if, else, while, return, class).+, -, *, /, ==, &&).42 nebo řetězec „Ahoj“).(), {}, [] nebo středníky ;).Jazyky se liší v tom, jak určují hranice bloků kódu (např. co patří do cyklu nebo funkce):
Využívají složené závorky `{}` k vymezení bloků a středníky `;` k ukončení příkazů.
if (teplota > 30) { Console.WriteLine("Je horko"); }
Struktura kódu je definována mezerami nebo tabulátory na začátku řádku.
if teplota > 30: print("Je horko")
*Poznámka: Chybné odsazení v Pythonu vede k chybě (IndentationError).*
—
Syntaxe se také liší podle toho, jak jazyk zachází s datovými typy:
int cislo = 5;
cislo = 5
(v dalším kroku klidně
cislo = "pět"
).
—
Tento termín označuje části syntaxe, které jsou navrženy tak, aby se kód lidem lépe četl a psal, přestože danou věc lze vyjádřit i složitěji.
i++
místo
i = i + 1
.
—
Aby mohl počítač kód vykonat, musí projít syntaktickou analýzou:
1. **Lexikální analýza (Lexing):** Rozdělení textu na základní jednotky (tokeny). 2. **Syntaktická analýza (Parsing):** Kontrola, zda tokeny tvoří platné struktury podle gramatiky jazyka. Výsledkem je **AST (Abstract Syntax Tree)**. 3. **Generování kódu:** Převod stromu do strojových instrukcí nebo mezikódu.
Související články:
Tagy: dev syntax programming_languages compilers parsing indentation