Syntaxe: Porovnání verzí

 
Řádek 22: Řádek 22:
  
 
== Odkazy ==
 
== Odkazy ==
 +
 +
=== Reference ===
 +
 +
<references />
  
 
=== Použitá literatura ===
 
=== Použitá literatura ===

Aktuální verze z 18. 1. 2017, 18:37

  • 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]

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. 1,0 1,1 Velký slovník naučný. Praha: Diderot, 1999. Encyklopedie Diderot. ISBN 80-902723-1-2.
  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
  3. CHYTIL, Michal a Sabina SCHERLOVÁ. Sémantika programovacích jazyků - atributové gramatiky. Praha: Univerzita Karlova, 1984.
  4. 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