Syntaktický diagram

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 26. května 2021; kontroly vyžadují 6 úprav .

Syntaktický diagram  je orientovaný graf s jednou vstupní hranou a jednou výstupní hranou a označenými vrcholy. Syntaktický diagram definuje jazyk . Řetězec popisků ve vrcholech na libovolné cestě od vstupní hrany k výstupu je řetězec jazyka určený syntaktickým diagramem. Mezi vstupními / výstupními hranami jsou bloky dvou typů: "kruh" - definuje základní (primární) koncept; a "obdélník" - definuje sekundární pojem, který je definován (tj. metaproměnná). Můžeme tedy uvažovat, že syntaktický diagram je jednou z forem generativní gramatiky automatových jazyků. Syntaktické diagramy a konečné automaty spolu úzce souvisejí: jakýkoli jazyk automatu je definován syntaktickým diagramem a naopak, jakýkoli syntaktický diagram lze použít ke konstrukci konečného automatu (obecně nedeterministického), který rozpoznává stejný jazyk, který diagram definuje.

Po sestavení vhodného rozpoznávajícího konečného automatu ze syntaktického diagramu lze tento automat implementovat buď v hardwaru nebo v softwaru.

Syntaktické diagramy tak mohou sloužit nejen pro generování, ale i pro rozpoznávání jazyků automatů.

Syntaktické jednotky

Syntaktický diagram umožňuje graficky znázornit strukturu syntaktické jednotky. [jeden]

V metajazycích, které popisují syntaxi programovacího jazyka, se používají následující základní pojmy:

Metaproměnná označuje konstrukci jazyka definovanou syntaxí. K záznamu metaproměnných se používají především sekvence slov v přirozeném jazyce (ruština, angličtina atd.) a pomocná slova. Znak podtržítka (_) se používá k oddělení slov. V syntaktických diagramech jsou metaproměnné uzavřeny v lomených závorkách (<>). Metaproměnná na hraně označeného grafu znamená, že tento fragment diagramu musí být podrobně popsán nahrazením syntaktického diagramu názvem odpovídajícím této metaproměnné.

Příklady zápisu metaproměnných:

<Pro_operátora> <Typ_Set> <base_scalar_type>

Meta konstanty - označuje lexém programovacího jazyka. V programu metakonstanta odpovídá sama sobě. V syntaktických diagramech jsou metakonstanty psány „jak jsou“.

Příklady metakonstant:

Pro Začít soubor

Metaznak je speciální znak používaný k popisu syntaxe jazyka. V syntaktických diagramech jsou pouze dva metaznaky:

o Metaznak „::=“ se používá k oddělení názvu syntaktického diagramu.

o Metaznak „<>“ – používá se k označení metaproměnných

Syntaktický diagram je orientovaný graf s označenými okraji. Hrany jsou označeny pomocí meta-konstant a meta-proměnných.

Příklady

Znázornění hlavních struktur ve formě orientovaných grafů:

1. Volba (Alternativa).

Podobný záznam v RBNF:

<Písmeno>|<Podtržítko>.

2. Nepovinná část konstrukce (Opakuje se buď 1x nebo 0x).

Podobný záznam v RBNF:

[";"].

3. Opakování návrhu

Podobný záznam v RBNF:

<Rozsah>{","<Rozsah>}.

Viz také

Poznámky

  1. Glukhova, L.A. Základy algoritmizace a programování: tutoriál. Za 2 hodiny - BSUIR, 2006. - 195 s.
  2. Editor N1ghtF1re/The-syntax-  diagram- . http://brakhmen.info . GitHub. Staženo 21. 5. 2018. Archivováno z originálu 14. 12. 2020.

Literatura

  • Karpov Yu.G. Teorie automatů. - Petrohrad: Petr, 2002. S. 224. ISBN 5-318-00537-3