Syntaxe: Porovnání verzí
Řádek 1: | Řádek 1: | ||
* 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) | * 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) | ||
− | * SYNTAX ve výpočetní technice – soubor pravidel pro tvorbu slov z definované množiny znaků daném jazyce | + | * SYNTAX ve výpočetní technice – soubor pravidel pro tvorbu slov z definované množiny znaků daném jazyce<ref name="Diderot">Velký slovník naučný. Praha: Diderot, 1999. Encyklopedie Diderot. ISBN 80-902723-1-2.</ref> |
== SYNTAXE == | == SYNTAXE == | ||
Řádek 8: | Řádek 8: | ||
== SYNTAXE PROGRAMOVACÍCH JAZYKŮ == | == SYNTAXE PROGRAMOVACÍCH JAZYKŮ == | ||
− | * [[Sémantika a syntaxe informace|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]]. | + | * [[Sémantika a syntaxe informace|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]].<ref name="Teaching">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</ref> |
− | * 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. | + | * 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.<ref name="Semantika">CHYTIL, Michal a Sabina SCHERLOVÁ. Sémantika programovacích jazyků - atributové gramatiky. Praha: Univerzita Karlova, 1984.</ref> |
== MIKROSYNTAXE A MAKROSYNTAXE == | == MIKROSYNTAXE A MAKROSYNTAXE == | ||
Řádek 19: | Řádek 19: | ||
Popis syntaxe pak nazýváme makrosyntaxe jazyka. | 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. | + | 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.<ref name="Semantika2">RICHTA, Karel a Jiří VELEBIL. Sémantika programovacích jazyků. Praha: Karolinum, 1997. ISBN 80-7184-327-X.</ref> |
== Odkazy == | == Odkazy == |
Verze z 18. 1. 2017, 18:35
- 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)
- 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
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
- ↑ 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.