Grammatika algebraliste avaldiste genereerimiseks
1. Leia kõigi selle grammatika abil genereeritavate stringide jaoks üks näide!

<digit> ::=            0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

<non-zero digit> ::=        1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

<integer> ::=      <non-zero digit> | <digit> |<non-zero digit> <integer>

<power> ::=       ^ <integer> | ^ + <integer> | ^ - <integer>

<decimal separator> ::=                , | .

<zero> ::=           0 | 0 <zero>

<decimal> ::=     <integer> <decimal separator> <integer> | <integer> <decimal separator> <zero> <integer>

<number> ::=    <integer> | <integer> <power> | <decimal> | <decimal> <power> | <numerical fraction> | <mixed number>

<numerical atom> ::=     <numerical parentheses> | <numerical parentheses> <numerical atom> | <numerical parentheses> <number> | <numerical parentheses> <number> <numerical atom>

<numerical term> ::=     <number> | <numerical atom> | <number> <numerical atom>

<numerical mul div> ::= <numerical term> | <numerical term> * <numerical mul div> | <numerical term> : <numerical mul div>

<numerical sign mul div> :: =       + <numerical mul div> | - <numerical mul div>

<numerical non-sign sum sub> ::=            <numerical mul div> | <numerical mul div> + <numerical non-sign sum sub> | <numerical mul div> - <numerical non-sign sum sub>

<numerical sum sub> ::=              <numerical non-sign sum sub> | <numerical sign mul div> | <numerical sign mul div> + <numerical non-sign sum sub> | <numerical sign mul div> - <numerical non-sign sum sub>

<numerical parentheses> ::=      [ <numerical sum sub> ] | ( <numerical sum sub> ) | [ <numerical sum sub> ] <power> | ( <numerical sum sub> ) <power>

<numerical fraction> ::=                <numerical sum sub> / <numerical sum sub>

<mixed number> ::=      <integer> <numerical fraction>

<letter> ::=         a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z

<variable> ::=    <letter> | <letter> <power>

<atom> ::=          <variable> | <parentheses> | <variable> <atom> | <parentheses> <atom> | <parentheses> <number> | <parentheses> <number> <atom>

<term> ::=          <number> | <atom> | <number> <atom>

<mul div> ::=      <term> | <term> * <mul div> | <term> : <mul div>

<sign mul div> :: =            + <mul div> | - <mul div>

<non-sign sum sub> ::= <mul div> | <mul div> + <non-sign sum sub> | <mul div> - <non-sign sum sub>

<sum sub> ::=   <non-sign sum sub> | <sign mul div> | <sign mul div> + <non-sign sum sub> | <sign mul div> - <non-sign sum sub>

<parentheses> ::=           [ <sum sub> ] | ( <sum sub> ) | [ <sum sub> ] <power> | ( <sum sub> ) <power>

<fraction> ::=     <sum sub> / <sum sub>

<equation inequality signs> ::=  = | < | > | <= | >=

<equation inequality> ::=             <sum sub> <equation inequality signs> <sum sub>

<system> ::=      <equation inequality> & <equation inequality> | <equation inequality> & <system>

<expression> ::=              <system> | <equation inequality> | <sum sub>