3 votes

Détection d'une expression régulière dans le contenu pendant l'analyse syntaxique

Je suis en train d'écrire un simple analyseur syntaxique pour le C. J'étais en train de l'exécuter avec des fichiers d'autres langages (pour le plaisir - pour voir le degré de similitude avec le C et la paresse - je ne veux pas vraiment écrire des analyseurs distincts pour chaque langage si je peux l'éviter).

Cependant, l'analyseur semble tomber en panne pour JavaScript si le code analysé contient des expressions régulières...

Cas 1 : Par exemple, en analysant l'extrait de code JavaScript,

var phone="(304)434-5454"
phone=phone.replace(/[\(\)-]/g, "") 
//Returns "3044345454" (removes "(", ")", and "-")

Les "(", "[", etc. sont considérés comme des amorces de nouveaux scopes, qui ne peuvent jamais être fermés.

Cas 2 : Et, pour l'extrait de code Perl,

 # Replace backslashes with two forward slashes
 # Any character can be used to delimit the regex
 $FILE_PATH =~ s@\\@//@g; 

Le // est assorti d'un commentaire...

Comment puis-je détecter une expression régulière dans le texte du contenu d'un fichier de programme "C-like" ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X