cs_Mizuka
Messages postés66Date d'inscriptionjeudi 4 août 2005StatutMembreDernière intervention16 décembre 2009
-
4 mars 2008 à 15:53
BaFM
Messages postés64Date d'inscriptionmercredi 24 juillet 2002StatutMembreDernière intervention26 novembre 2009
-
10 mars 2008 à 20:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
BaFM
Messages postés64Date d'inscriptionmercredi 24 juillet 2002StatutMembreDernière intervention26 novembre 2009 10 mars 2008 à 20:04
Le Lexer (analyseur lexical) il ne produit pas de code, il produit un flux de jetons qui sont utilisés par un Parser (analyseur syntaxique) qui produit un arbre AST. C'est cet arbre que tu retransformera en chaîne pour le formatage.
amezghal
Messages postés385Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention21 août 20155 10 mars 2008 à 19:05
salut, et merci =),
en fait j'avais pas fais attention au cas de heredoc..donc merci pour la remarque,(bug fix dans la prochaine maj :D)
@BaFm, si tu connais un lexer qui produit du code pour php je serais pronneur...(car je connais que ceux qui produisent du code pour C, C++, C#, java),
merci :)
Eregon
Messages postés17Date d'inscriptionlundi 3 septembre 2007StatutMembreDernière intervention26 octobre 2009 10 mars 2008 à 18:13
Moi je dit vive l'indent personnel^^
Car il y a toujours des exceptions, genre des conditions qu'on veux à peine mentionner et qu'on met sur une ligne, un texte que l'on met directement contre le bord(toujours le cas en heredoc), un saut à la ligne pour repérer des CR ou LF, une arborescence où l'on veut l'élément racine contre la marge, ...
Mais sinon ça doit surement être un bon exercice de parsing :p
Bon codage
P.S.:'deux paramètres la directoire et le nom du fichier' -> '2 paramètres : le dossier et le fichier' ;) (pourquoi séparer ces paramètres?)
BaFM
Messages postés64Date d'inscriptionmercredi 24 juillet 2002StatutMembreDernière intervention26 novembre 2009 10 mars 2008 à 10:35
Bonjour,
Votre code ne gère pas la syntaxe HereDoc supportée par php.
Une méthode plus propre est d'utiliser lexer et parser pour régénérer le code indenté en gérant complètement la grammaire du langage, ce qui évite de tomber dans des cas limites.
amezghal
Messages postés385Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention21 août 20155 5 mars 2008 à 15:35
salut et merci
@Mizuka:
le fonctionnement est très simple, une boucle sur tous les char du script puis un switch suivant les cas, par exemple si c'est un '{' ça nécessite un retour a la ligne puis une tabulation pour ce qui suis ';' retour à la ligne....ainsi de suite
je crois que mes var sont explicites! sinon
$is_string1; pas une chaine du type "string"
$is_string2: pas une chaine du type 'string'
deux type de commentaire //comment et /*comment */
voilà :)
@jlf5808
relis la description j'ai expliqué comment faire :)
jlf5808
Messages postés2Date d'inscriptionlundi 4 juillet 2005StatutMembreDernière intervention 5 mars 2008 5 mars 2008 à 10:57
Bonjour,
En quelques lignes.
Quelle est la procedure pour en forme mon nouveau programme PHP.
que je viens de terminer.
Je voudrais avoir une methode pour mettre en forme tous les codes.php que j'ai pour les relire facilement .
Salutations.
cs_Mizuka
Messages postés66Date d'inscriptionjeudi 4 août 2005StatutMembreDernière intervention16 décembre 2009 4 mars 2008 à 15:53
Bonjour,
L'idée est sympathique,
Critiques :
_ Des commentaires seraient les bienvenues;
_ Une documentation également;
_ Des noms de variables plus explicites;
Après, j'suis pas motivé pour lire quand j'dois déchiffrer le fonctionnement,
10 mars 2008 à 20:04
10 mars 2008 à 19:05
en fait j'avais pas fais attention au cas de heredoc..donc merci pour la remarque,(bug fix dans la prochaine maj :D)
@BaFm, si tu connais un lexer qui produit du code pour php je serais pronneur...(car je connais que ceux qui produisent du code pour C, C++, C#, java),
merci :)
10 mars 2008 à 18:13
Car il y a toujours des exceptions, genre des conditions qu'on veux à peine mentionner et qu'on met sur une ligne, un texte que l'on met directement contre le bord(toujours le cas en heredoc), un saut à la ligne pour repérer des CR ou LF, une arborescence où l'on veut l'élément racine contre la marge, ...
Mais sinon ça doit surement être un bon exercice de parsing :p
Bon codage
P.S.:'deux paramètres la directoire et le nom du fichier' -> '2 paramètres : le dossier et le fichier' ;) (pourquoi séparer ces paramètres?)
10 mars 2008 à 10:35
Votre code ne gère pas la syntaxe HereDoc supportée par php.
Une méthode plus propre est d'utiliser lexer et parser pour régénérer le code indenté en gérant complètement la grammaire du langage, ce qui évite de tomber dans des cas limites.
5 mars 2008 à 15:35
@Mizuka:
le fonctionnement est très simple, une boucle sur tous les char du script puis un switch suivant les cas, par exemple si c'est un '{' ça nécessite un retour a la ligne puis une tabulation pour ce qui suis ';' retour à la ligne....ainsi de suite
je crois que mes var sont explicites! sinon
$is_string1; pas une chaine du type "string"
$is_string2: pas une chaine du type 'string'
deux type de commentaire //comment et /*comment */
voilà :)
@jlf5808
relis la description j'ai expliqué comment faire :)
5 mars 2008 à 10:57
En quelques lignes.
Quelle est la procedure pour en forme mon nouveau programme PHP.
que je viens de terminer.
Je voudrais avoir une methode pour mettre en forme tous les codes.php que j'ai pour les relire facilement .
Salutations.
4 mars 2008 à 15:53
L'idée est sympathique,
Critiques :
_ Des commentaires seraient les bienvenues;
_ Une documentation également;
_ Des noms de variables plus explicites;
Après, j'suis pas motivé pour lire quand j'dois déchiffrer le fonctionnement,
Cordialement,