[[prekl:c1]]
 

C1 - tutorial/cecko.g

Jednoduchá gramatika pro výrazy a příkazy používaná v kapitole “Strojově generované syntaktické analyzátory”

cecko.g

while_stat :  "while" "(" expr ")" stat   ;
 
if_stat    :  "if" "(" expr ")" stat ( "else" stat  )?   ;
 
compound_stat : "{" ( stat )* "}" ;
 
simple_stat :  expr ";" ;
 
empty_stat :  ";" ;
 
stat : while_stat | if_stat | compound_stat | simple_stat | empty_stat ;
 
 
simple_expr : identifier | number  | "(" expr ")" ;
 
mult_expr :  simple_expr ( ("*"|"/") simple_expr )* ;
 
add_expr :  mult_expr ( ("+"|"-") mult_expr )* ;
 
expr : add_expr ( "=" expr )? ;
 
 
program : stat;

Vstupní soubor s jedním příkazem c1.cc

{
   while ( n )
      if ( n )
         n = n + 2;
      else
         n = n * 2;
}

Obrázek použitý v kapitole Parser

 
prekl/c1.txt · Last modified: 2020/05/09 12:13 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