Atributová gramatika: Porovnání verzí

Smazaný obsah Přidaný obsah
Upřesnění informací o rozdělení syntetizovaných a zděděných atributů, drobné opravy
m Drobné opravy
Řádek 1:
'''Atributové gramatiky''' je formalismus v [[Matematická informatika|matematické informatice]] poskytující rozšíření [[Formální gramatika|formálních gramatik]] o přenos informací v rámci přepisovacího pravidla, což umožňuje přenos (např. [[Sémantika|sémantických]]) informací z libovolného místa v abstraktním syntaktickém stromě kamkoli jinam, řízeným a formálním způsobem.{{Doplňte zdrojSfn|datumKnuth1968|s=únor 2007134}} Ke každému [[Terminální a neterminální symbol|terminálnímu nebo neterminálnímu symbolu]] gramatiky je možné připojit jeden nebo více atributů, a ke každému přepisovacímu pravidlu jsou přiřazeny tak zvané ''sémantické funkce'', pomocí kterých se při použití tohoto pravidla počítají z některých atributů symbolů použitých v pravidle hodnoty dalších atributů symbolů použitých v pravidle.
 
Atributové gramatiky umožňují při [[Konstrukce překladačů|konstrukci překladačů]] rozšířit [[Syntaktická analýza|syntaktický analyzátor]] o možnost přenášet různé doplňující informace během analýzy vstupního řetězce. Atributy mohou být použity pro přiřazení sémantických hodnot syntaktickým konstrukcím (například rozlišit, zda operátor <code>+</code> znamená sčítání celých čísel, sčítání reálných čísel, [[zřetězení]] nebo sjednocení množin nebo má jiný význam). Atributy také umožňují validovat podmínky, které nejsou přímo vyjádřeny pomocí syntaxe, ale jako doplňující sémantická pravidla přiřazená k jednotlivým pravidlům gramatiky (například kontrolovat typová omezení nebo kontrolovat, zda jsou použité identifikátory deklarovány). Atributové gramatiky lze použít pro převod syntaktického stromu přímo na kód pro určitý stroj nebo do nějaké formy [[mezijazyk]]a.
Řádek 6:
 
== Historie ==
Za autora atributových gramatik je považován [[Donald Ervin Knuth]], jehož první článek o tomto tématu vyšel v roce 19671968.{{Sfn|Knuth1967Knuth1968}} Knuth zmiňuje, že zárodky konceptu atributových gramatik lze dohledat již u EdgareEdgara T. „Neda“ Ironse,<ref>http://zzcad.com/ned.htm</ref>{{Sfn|Irons}} autora programovacího jazyka [[IMP (programovací jazyk)|IMP]], a uvádí, že koncept zděděných atributů navrhl během konverzace s Knuthem [[Peter Wegner]].{{Sfn|Knuth|1990}}
 
== Příklad ==
Řádek 62:
 
=== Reference ===
{{Překlad|en|Attribute grammar|10349107121041123716}}
 
=== Související články ===
Řádek 71:
=== Externí odkazy ===
* {{Citace elektronické monografie
| url = http://zzcad.com/ned.htm
| jméno = Edgar T.
| příjmení = Irons
| ref = harv
}}
* {{Citace periodika
| url = https://www.csee.umbc.edu/courses/331/fall16/01/resources/papers/Knuth67AG.pdf
| titul = Semantics of context-free languages
| jméno = Donald
| příjmení = Knuth
| odkaz na autora = Donald E.Ervin Knuth
| rokročník = 19672
| číslo = 2
| periodikum = Mathematical Systems Theory
| strany = 127–145
| doi = 10.1007/BF01692511
| s2cid = 5182310
| rok = 1968
| ref = harv
}}
Řádek 82 ⟶ 94:
| jméno = D. E.
| příjmení = Knuth
| odkaz na autora = Donald Ervin Knuth
| url = http://www.cs.miami.edu/home/odelia/teaching/csc419_spring17/syllabus/Knuth_AttributeHistory.pdf
| titul = The genesis of attribute grammars
Řádek 89 ⟶ 102:
| svazek = 461
| strany = 1–12
| ref = harv
}}
* {{Citace periodika
Řádek 101 ⟶ 115:
| url = http://www.cs.uu.nl/wiki/bin/view/HUT/AttributeGrammarSystem
| titul = AttributeGrammarSystem
| ref = Attribute Grammar System
}}
* {{Citace elektronické monografie