Syntaxdiagram

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 26 maj 2021; kontroller kräver 6 redigeringar .

Ett syntaxdiagram  är en riktad graf med en ingångskant och en utgångskant och märkta hörn. Syntaxdiagrammet definierar språket . Kedjan av etiketter vid hörnen på valfri väg från ingångskanten till utgången är kedjan för språket som specificeras av syntaxdiagrammet. Mellan ingångs-/utgångskanterna finns block av två typer: "cirkel" - definierar det grundläggande (primära) konceptet; och "rektangel" - definierar ett sekundärt begrepp som är definierat (dvs en metavariabel). Därför kan vi anse att det syntaktiska diagrammet är en av formerna för automatspråkens generativa grammatik . Syntaxdiagram och finita automater är nära besläktade: vilket automatspråk som helst definieras av ett syntaktisk diagram och vice versa, vilket syntaktiskt diagram som helst kan användas för att konstruera en finit automat (i allmänhet icke-deterministisk) som känner igen samma språk som diagrammet definierar.

Efter att ha byggt en lämplig igenkännande finit automat från syntaxdiagrammet, kan man sedan implementera denna automat antingen i hårdvara eller i mjukvara.

Således kan syntaktiska diagram tjäna inte bara för att generera, utan också för att känna igen automatspråk.

Syntaktiska enheter

Det syntaktiska diagrammet låter dig grafiskt avbilda strukturen av en syntaktisk enhet. [ett]

I metaspråk som beskriver syntaxen för ett programmeringsspråk används följande grundläggande begrepp:

En metavariabel betecknar en syntaxdefinierad språkkonstruktion. För att spela in metavariabler används främst sekvenser av ord på ett naturligt språk (ryska, engelska, etc.) och hjälpord. Understreckstecknet (_) används för att separera ord. I syntaxdiagram är metavariabler omgivna av vinkelparenteser (<>). En metavariabel på en märkt grafkant betyder att detta diagramfragment måste detaljeras genom att ett syntaxdiagram ersätts med ett namn som motsvarar denna metavariabel.

Exempel på att skriva metavariabler:

<För_operatör> <Type_Set> <base_scalar_type>

Metakonstanter - betecknar ett programmeringsspråkslexem. I ett program motsvarar en metakonstant sig själv. I syntaxdiagram skrivs metakonstanter "som de är".

Meta konstant exempel:

För Börja uppsättning

En metatecken är ett specialtecken som används för att beskriva syntaxen i ett språk. Det finns bara två metatecken i syntaxdiagram:

o Metatecken “::=” används för att separera namnet på syntaxdiagrammet.

o Metatecken "<>" – används för att beteckna metavariabler

Syntaxdiagrammet är en riktad graf med märkta kanter. Kanter är märkta med metakonstanter och metavariabler.

Exempel

Representation i form av riktade grafer av huvudstrukturerna:

1. Val (alternativ).

Liknande inlägg i RBNF:

<Brev>|<Understreck>.

2. En valfri del av konstruktionen (den upprepas antingen 1 eller 0 gånger).

Liknande inlägg i RBNF:

[";"].

3. Designupprepning

Liknande inlägg i RBNF:

<Range>{","<Range>}.

Se även

Anteckningar

  1. Glukhova, L.A. Grunderna i algoritmisering och programmering: en handledning. Om 2 timmar - BSUIR, 2006. - 195 sid.
  2. N1ghtF1re/The-syntax-diagram-  editor . http://brakhmen.info . GitHub. Hämtad 21 maj 2018. Arkiverad från originalet 14 december 2020.

Litteratur

  • Karpov Yu. G. Theory of automata. - St. Petersburg: Peter, 2002. S. 224. ISBN 5-318-00537-3