PEG a_pe_grammar (Expression)

 AddOp      <- '-' / '+' ;
 Digit      <- '0' / '1' / '2' / '3' / '4' / '5' / '6' / '7' / '8' / '9' ;
 Expression <- Function / '(' Expression ')' / Factor (MulOp Factor)* ;
 Factor     <- Term (AddOp Term)* ;
 Function   <- Sinus ;
 MulOp      <- '*' / '/' ;
 Number     <- Sign? Digit+ ;
 Sign       <- '-' / '+' ;
 Sinus      <- 's' 'i' 'n' '(' Expression ')' ;
 Term       <- Number ;

END;
