Syntaxe
- SYNTAX skladba v jazykovědě – nauka o mluvnické stavbě vět - zkoumá principy spojování slova ve věty a utváření větných, popřípadě i vyšších celků (tzv. hypersyntax , která se blíží nauce o textu)[1]
- SYNTAX ve výpočetní technice – soubor pravidel pro tvorbu slov z definované množiny znaků daném jazyce[1]
Obsah
SYNTAXE
Syntaxe se zabývá vymezením formálního jazyka jako podmnožiny řetězů nad abecedou, které tvoří správné zápisy v daném jazyce - věty jazyka. Přívlastek formální vyjadřuje nepřítomnost definice významu zápisů.
SYNTAXE PROGRAMOVACÍCH JAZYKŮ
- Syntaxe textových programovacích jazyků je obvykle definována kombinací regulárních výrazů (pro lexikální strukturu) aBackus-Naur Form (pro gramatickou strukturu) k indukčně stanoveným syntaktickým kategoriím (neterminály) aterminální symboly.[2]
- Programovací jazyky mají nejčastěji kontextový charakter, který je dán zejména deklaracemi. Přestože existují speciální kontextové gramatiky, jejich použití není rozšířeno, neboť bezkontextové gramatiky jsou mnohem propracovanější a pružnější. Obvykle se proto pro popis syntaxe programovacích jazyk používají nejvýše bezkontextové gramatiky, což souvisí s tím, že pro každý kontextový jazyk existuje bezkontextový nadjazyk, který jej obsahuje. Kontextové závislosti (omezení) se pak vyjadřují jinými prostředky.[3]
MIKROSYNTAXE A MAKROSYNTAXE
Mikrosyntaxe a makrosyntaxe Zápis v (programovacím) jazyce je tvořen posloupností znak abecedy, tj. L ⊆ A* . Pro účely definice jazyka je vhodné považovat za abecedu jazyka nikoliv jednotlivé znaky, ale tzv. lexikální elementy (lexémy, tokens) - identifikátory, literály, operátory, komentáře atd.
Prvním krokem při popisu jazyka je tedy definice syntaxe těchto lexém - mikrosyntaxe (lexikon) jazyka Q ⊆ A* . Programy pak považujeme za zápisy nad lexikonem jazyka Q, tj. L ⊆ Q* .
Popis syntaxe pak nazýváme makrosyntaxe jazyka.
Zobrazení (převod) lex: A* → Q* ∪ { error } se nazývá lexikální analýza a řadí se definicí mikrosyntaxe. Často se pro definici mikrosyntaxe používají regulární výrazy, pro makrosyntaxi se využívají obvykle bezkontextové gramatiky, BNF, EBNF, atd.[4]
Odkazy
Reference
- ↑ 1,0 1,1 Velký slovník naučný. Praha: Diderot, 1999. Encyklopedie Diderot. ISBN 80-902723-1-2.
- ↑ Matematická logika. Teaching: Antonín Kučera [online]. MUNI, 2016 [cit. 2016-11-13]. Dostupné z: http://www.fi.muni.cz/usr/kucera/teaching/logic/log.pdf
- ↑ CHYTIL, Michal a Sabina SCHERLOVÁ. Sémantika programovacích jazyků - atributové gramatiky. Praha: Univerzita Karlova, 1984.
- ↑ RICHTA, Karel a Jiří VELEBIL. Sémantika programovacích jazyků. Praha: Karolinum, 1997. ISBN 80-7184-327-X.
Použitá literatura
- Velký slovník naučný. Praha: Diderot, 1999. Encyklopedie Diderot. ISBN 80-902723-1-2.
- Matematická logika. Teaching: Antonín Kučera [online]. MUNI, 2016 [cit. 2016-11-13]. Dostupné z: http://www.fi.muni.cz/usr/kucera/teaching/logic/log.pdf
- CHYTIL, Michal a Sabina SCHERLOVÁ. Sémantika programovacích jazyků - atributové gramatiky. Praha: Univerzita Karlova, 1984.
- RICHTA, Karel a Jiří VELEBIL. Sémantika programovacích jazyků. Praha: Karolinum, 1997. ISBN 80-7184-327-X.
Externí odkazy
Související články
Klíčová slova
Syntaxe, Syntax, Programovací jazyk, formální jazyk, PC, Počítače