Re: Parser stl et regexp

Top Page

Reply to this message
Author: Hugues Evrard
Date:  
To: guilde
Subject: Re: Parser stl et regexp
Salut,

Desamorcage : je ne suis pas un guru regexp.

----- Mail original -----
> De: "Frédéric" <frederic.mantegazza@???>
> À: guilde@???
> Envoyé: Jeudi 21 Mars 2013 12:56:58
> Objet: Parser stl et regexp
>
> Ça fait un moment que je m'arrache les cheveux ; visiblement, je
> n'arrive
> pas à gérer les retours à la ligne.


Si tu essayes de parser les retours à la ligne au sein de tes regexps, je pense que c'est mal barré.

A ta place je ferais un automate, avec à vue de nez 6 etats:
cherche_solid
cherche_facet
cherche_outer_loop
cherche_endloop
cherche_endfacet
cherche_endsolid

Dans ta main loop, tu lis une ligne de ton fichier stl, puis selon ton etat actuel, tu traite la ligne differemment.
Ton etat initial est cherche_solid, où tu cherches une ligne qui matche '^ *solid '
Quand tu as trouver une ligne qui matche, tu passes dans l'état cherche_facet.

...etc...

Dans l'etat cherche_endloop, tu regardes si la ligne actuelle matche '^ *endloop'. Si ce n'est pas le cas, tu regardes si elle matche ' *vertex', et si oui tu la stocke.

En mettant des groupes dans les regexps qui permemttent de detecter les lignes, tu peux recuperer les identifiants du solid, etc...

--
Hugues