2010-09-25 18 views
1

Avoir cette grammaire EBNFPourquoi y aurait-il deux opérandes dans une phrase EBNF?

< calculation> -> <expr> = 
     <expr> -> <term> (+ | -) <expr> 
         | <term> 
     <term> -> <factor> (* | /) <term> 
         | <factor> 
     <factor> -> (<expr>) 
         | <value> 
      <value>  -> [ <sign> ] <unsigned> [ . <unsigned> ] 
      <unsigned> -> <digit> { <digit> } 
      <digit>  -> 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 
      <sign>  -> + | - 

RAISONS la possibilité d'entrer dans quelque chose comme ça en 4 * + 3,5 =? Cette phrase serait-elle même dans cette grammaire? Comment le comprenez-vous si c'est le cas?

Répondre

1

C'est dans la grammaire. Le + est un opérateur unaire. Considérons 4 * -3,5, 4 fois -3,5.

Votre analyseur le découvrira.