expressions régulières avec grammaire intuitive

expressions régulières avec grammaire intuitive

par Meynard Michel,
Nombre de réponses : 0

e->ee | e* | (e) | e'|'e | SYMB

avec bison vous obtenez 8 conflits shift reduce

utiliser les priorités pour résoudre ces conflits

%left '|'     /* traitement des priorites sur les operateurs du moins au plus */
%left CONCAT
%left '*'

il reste des conflits ! les étudier avec  y.output
puis rajouter des priorités ...

Le source bison

L'exécution
Veuillez saisir une expression régulière suivie de  S.V.P.

ab|cd|ef*(a|b)*
Arbre binaire de l'expression régulière

|
  |
    .
      a
      b 
    .   
      c
      d 
  .     
    .
      e
      * 
        f
    *     
      |
        a
        b 
          
Construction de l'Automate  ...

Automate ayant 26 états. L'état initial est l'état 24 et l'état final est 25
transition :    0 a    1
transition :    1 @    2
transition :    2 b    3
transition :    3 @    9
transition :    4 c    5
transition :    5 @    6
transition :    6 d    7
transition :    7 @    9
transition :    8 @    0
transition :    8 @    4
transition :    9 @   25
transition :   10 e   11
transition :   11 @   14
transition :   12 f   13
transition :   13 @   15
transition :   13 @   12
transition :   14 @   12
transition :   14 @   15
transition :   15 @   22
transition :   16 a   17
transition :   17 @   21
transition :   18 b   19
transition :   19 @   21
transition :   20 @   16
transition :   20 @   18
transition :   21 @   23
transition :   21 @   20
transition :   22 @   20
transition :   22 @   23
transition :   23 @   25
transition :   24 @    8
transition :   24 @   10
    ée>