Gramatika popisující gramatiku

Zápis gramatiky použitý v předchozí kapitole můžeme považovat za svého druhu programovací jazyk.
K tomuto jazyku můžeme napsat gramatiku:

Gramatika

Celá gramatika je poslouplností pravidel

   grammar : ( rule )* ;

Pravidlo

Pravidla zapisujeme pomocí jména pravidla následovaného dvojtečkou, popisem pravidla a středníkem.

   rule : identifier ":" description ";" ;

Dvojtečka a středník v uvozovkách jsou dvojtečkou a středníkem zmíněným v předcházející větě.
Dvojtečka a středník bez uvozovek jsou součástí právě definovaného pravidla.

Výraz popisující pravidlo

Popis pravidla je posloupnost jedné nebo více alternativ oddělených svislou čarou.

   description : alternative ( "|" alternative )* ;

:-) Svislou čáru (nebo) můžeme považovat za jakousi aditivní operaci

Alternativa

Alternativa je posloupnost jednoducých položek.
Může být i prázdná.

   alternative : ( simple )* ;

:-) Zápis položek za sebou můžeme považovat za obdobu multiplikativní operace, znak násobení také ovykle vynecháváme

Jednoduchá položka

Jednoduchá položka může být řetězec v dvojtých uvozovkách (terminal),
identifikátor (neterminál) nebo výraz v závorkách.

   simple : string_literal | identifier | ebnf ;

Výraz v závorkách

Výraz v závorkách rekurzivně používá již zavedený výraz pro popis pravidla (description).
Za závorkami může následovat otazník, hvězdička nebo plus.

   ebnf : "(" description ")" ( "?" | "*" | "+" | ) ;
 
prekl/gram.txt · Last modified: 2020/04/30 16:07 by 88.103.111.44
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki