Syntaxový diagram - Syntax diagram - Wikipedia
Syntaxe diagramů (nebo železniční diagramy) jsou způsob, jak reprezentovat a bezkontextová gramatika. Představují grafickou alternativu k Backus – Naurova forma nebo do EBNF tak jako metajazyky. Rané knihy používající syntaxe diagramů obsahují „Pascal User Manual“ napsaný uživatelem Niklaus Wirth [1] (diagramy začínají na straně 47) a Burroughs CANDE Manuál.[2]. V poli kompilace jsou obvykle upřednostňovány textové reprezentace jako BNF nebo jeho varianty. BNF je založen na textu a je používán spisovateli překladačů a generátory syntaktických analyzátorů. Železniční diagramy jsou vizuální a mohou je snáze pochopit laici, někdy jsou začleněny do grafického designu. Kanonický zdroj definující JSON formát výměny dat poskytuje další příklad populárního moderního využití těchto diagramů.
Princip syntaxových diagramů
Reprezentace gramatiky je tvořena sadou syntaxových diagramů. Každý diagram definuje neterminál. Existuje hlavní diagram, který definuje jazyk následujícím způsobem: k patřičnosti do jazyka musí slovo popisovat cestu v hlavním diagramu.
Každý diagram má vstupní a koncový bod. Diagram popisuje možné cesty mezi těmito dvěma body procházením jinými neterminály a terminály. Terminály jsou reprezentovány kulatými boxy, zatímco neterminály jsou reprezentovány obdélníkovými boxy.
Příklad
Jako příklad používáme aritmetické výrazy. Nejprve poskytneme zjednodušenou BNF gramatiku:
<výraz> ::= <období> | <období> "+" <výraz><období> ::= <faktor> | <faktor> "*" <období><faktor> ::= <konstantní> | <proměnná> | "(" <výraz> ")"<proměnná> ::= "x" | "y" | „z“ <konstantní> ::= <číslice> | <číslice> <konstantní><číslice> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
Tuto gramatiku lze vyjádřit také v EBNF:
výraz = období , [ "+" , výraz ];období = faktor , [ "*" , období ];faktor = konstantní | proměnná | "(" , výraz , ")";proměnná = "X" | "y" | „z“; konstantní = číslice , { číslice };číslice = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9";
![]() | Tento článek nebo část se zdá být v rozporu na „výraz“ a „výraz“; diagramy se neshodují s EBNF.Říjen 2020) ( |
Jednou z možných sad syntaxových diagramů pro jednu z těchto gramatik je:
Viz také
Reference
Poznámka: první odkaz je někdy blokován serverem mimo jeho doménu, ale je k dispozici na archive.org. Soubor byl také zrcadlen na standardpascal.org.
externí odkazy
- Web JSON včetně syntaxových diagramů
- Generátor z EBNF
- Od EBNF po postscriptový soubor s diagramy
- Analyzátor a vykreslovač EBNF
- Generátor syntaxového diagramu SQLite pro SQL
- Online generátor železničních diagramů
- Gramatiky rozšířeného syntaxového diagramu (ASD)
- (ASD) Rozšířené Ukázkový web aplikace Syntax Diagram
- Reprezentace SRFB syntaxového diagramu generováním Function Basis + svg