Szintaktikai diagram

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. május 26-án felülvizsgált verziótól ; az ellenőrzések 6 szerkesztést igényelnek .

A szintaktikai diagram  egy irányított gráf egy bemeneti éllel és egy kimeneti éllel, valamint felcímkézett csúcsokkal. A szintaktikai diagram határozza meg a nyelvet . A bemeneti éltől a kimenetig tartó tetszőleges útvonal csúcsaiban lévő címkelánc a szintaktikai diagram által meghatározott nyelv lánca. A bemeneti / kimeneti élek között kétféle blokk található: "kör" - az alap (elsődleges) fogalmat határozza meg; és "téglalap" - egy másodlagos fogalmat definiál, amely meghatározott (azaz egy metaváltozó). Ezért úgy tekinthetjük, hogy a szintaktikai diagram az automata nyelvek generatív nyelvtanának egyik formája. A szintaktikai diagramok és a véges automaták szorosan összefüggenek: bármely automatanyelvet szintaktikai diagram definiál, és fordítva, bármely szintaktikai diagram felhasználható egy véges automata (általában nem determinisztikus) megszerkesztésére, amely ugyanazt a nyelvet ismeri fel, mint amit a diagram definiál.

Ha a szintaktikai diagramból felépítettünk egy megfelelő felismerő véges automatát, akkor ezt az automatát hardveresen vagy szoftveresen is meg lehet valósítani.

Így a szintaktikai diagramok nemcsak az automata nyelvek generálására, hanem felismerésére is szolgálhatnak.

Szintaktikai egységek

A szintaktikai diagram lehetővé teszi egy szintaktikai egység szerkezetének grafikus ábrázolását. [egy]

Azokban a metanyelvekben, amelyek egy programozási nyelv szintaxisát írják le, a következő alapfogalmakat használják:

A metaváltozó egy szintaxis által meghatározott nyelvi konstrukciót jelöl. A metaváltozók rögzítéséhez főként természetes nyelvű (orosz, angol stb.) szósorozatokat és segédszavakat használnak. Az aláhúzás karakter (_) a szavak elválasztására szolgál. A szintaktikai diagramokban a metaváltozók szögletes zárójelben (<>) vannak. A címkézett gráfélen lévő metaváltozó azt jelenti, hogy ezt a diagramrészletet úgy kell részletezni, hogy egy szintaktikai diagramot a metaváltozónak megfelelő névvel helyettesítünk.

Példák metaváltozók írására:

<For_Operator> <Típuskészlet> <bázis_skaláris_típus>

Meta konstansok – egy programozási nyelv lexémáját jelöli. Egy programban egy metakonstans önmagának felel meg. A szintaktikai diagramokban a metakonstansok „ahogy vannak”.

Meta konstans példák:

Mert Kezdődik készlet

A metakarakter egy speciális karakter, amelyet egy nyelv szintaxisának leírására használnak. Csak két metakarakter van a szintaktikai diagramokban:

o A „::=” metakarakter a szintaktikai diagram nevének elválasztására szolgál.

o „<>” metakarakter – metaváltozók jelölésére szolgál

A szintaktikai diagram egy irányított gráf címkézett élekkel. Az élek címkézése metakonstansok és metaváltozók használatával történik.

Példák

A fő struktúrák irányított grafikonjainak ábrázolása:

1. Választás (Alternatív).

Hasonló bejegyzés az RBNF-ben:

<Betű>|<Aláhúzás>.

2. A konstrukció egy opcionális része (1-szer vagy 0-szor ismétlődik).

Hasonló bejegyzés az RBNF-ben:

[";"].

3. Tervezési ismétlés

Hasonló bejegyzés az RBNF-ben:

<Tartomány>{","<Tartomány>}.

Lásd még

Jegyzetek

  1. Glukhova, L.A. Az algoritmizálás és programozás alapjai: oktatóanyag. 2 óra alatt - BSUIR, 2006. - 195 p.
  2. N1ghtF1re/The-syntax-diagram-  editor . http://brakhmen.info . GitHub. Letöltve: 2018. május 21. Az eredetiből archiválva : 2020. december 14.

Irodalom

  • Karpov Yu. G. Az automaták elmélete. - Szentpétervár: Péter, 2002. S. 224. ISBN 5-318-00537-3