Obsah

Programovací jazyky a jejich syntaxe

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á).

1. Základní stavební kameny syntaxe

Téměř všechny moderní jazyky sdílejí několik základních syntaktických konceptů:

2. Různé přístupy ke struktuře kódu

Jazyky se liší v tom, jak určují hranice bloků kódu (např. co patří do cyklu nebo funkce):

Jazyky se složenými závorkami (C-style)

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");
}

Jazyky s významným odsazením (Indentation-based)

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).*

—

3. Typový systém: Statický vs. Dynamický

Syntaxe se také liší podle toho, jak jazyk zachází s datovými typy:

—

4. Syntaktický cukr (Syntactic Sugar)

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.

—

5. Proces zpracování: Od zdrojového kódu k instrukcím

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