IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Petit problème avec String


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut Petit problème avec String
    Bonjour,

    mon but consiste a comprendre un fichier C (je veux dire par comprende, le mettre dans un objet), un objet C a plusieurs objet en attributs, telque l'objet déclaration, qui contien la liste des déclarations, l'objet fonction, qui contien la liste des fonction etc....

    mon problème se trouve lors de la detection de la boucle for, l'orseque je lis le fichier C ligne par ligne, je detecte la ligne ou il ya un 'for', je cree un objet 'CFor' avec comme attribut le point de départ, d'arret, et le pas.

    le problème se situe au niveau de la detection, en effet, j'utilise l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (ligne.contains("for"))
    tout le programme plante si il tombe sur une ligne qui contien qq chose du genre "trensformation()", "forme", le pire c'est que je ne peut pas utiliser le fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ligne.compareTo("for") == 0
    parce que, le fichier C peut etre ecrit ainsi "for(i=0;i<5;i++)", et je ne paut faire de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ligne.compareTo("for(") == 0
    parce que, le fichier C peut etre ecrit ainsi "for (i=0;i<5;i++)", et je ne paut faire de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ligne.compareTo("for (") == 0
    parce que, le fichier C peut etre ecrit ainsi "for (i=0;i<5;i++)", etc...



    y'aurait il une solution, merci!!!!

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Si tu veux faire l'analyse de tous les fichiers C quelque soit le style du codeur, tu ne t'en sortiras pas comme ça ; il faut utiser les analyseurs syntaxiques et grammaticaux dont le principe avait été popularisé avec... le langage C

    Avec java, le plus connu est antlr. Il doit déjà y avoir dans les bagages la syntaxe et la grammaire du langage C, et tu y gagneras à tous les niveaux à te former à ce genre d'outil.

    Pour répondre plus directement à ta question, il existe dans les procédés de recherche de motifs les notions de début de mot et de fin de mot. Ici il faut simplement que tu reconnaisses le motif <début de mot>for<fin de mot>.

    Ce concept est présent dans les regexp, que tu pourrais utiliser ici. Voir sur Pattern \W, \B, etc.

    Et, si tu veux continuer à le faire toi même, il faut voir du coté de la méthode Character.isLetterOrDigit, en y intégrant en plus le underscore. (qu'est ce que tu vas te faire chi***.)

  3. #3
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut
    est - ce que tu sais comment utiliser antlr, pour mon cas...., j'y arrive pas....!!!!

    merci

  4. #4
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut
    je suis allé voir cette page,
    http://www.antlr.org/grammar/cgram/grammars.
    je suis parvenu a générer les fichier de antlr, mais comment il detecte les boucles for !!????

    merci

  5. #5
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    C'est à dire qu'antlr ne s'apprend pas en 3 coups de cuillère à pot. Et moi mes souvenirs sont loins. Cet outil est la bonne piste pour toi, c'est tout ce que je peux te dire.

    Commence par les exemples simples ; il y a des guides introductifs sur le site ; passe du temps dessus, et tu comprendras petit à petit, et tu pourras tout faire avec les codes sources C.

  6. #6
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut
    merci pour la piste, en fait, j'ai commencer le proojet en fevrier, je dois analyser des fichier VHDL et des fichier C, le parseur VHDL je l'ai fini, voila un mois, (il est assez strict comme language) et je galère sur le C voila déjà 3 semaines, ya beaucoup trop d'improbabilité en C !!!!!! ,
    merci, mais si tu tconnais ou je pourrais trouver des exemple simple en français, ça me facilitera la vie.

    merci en tout cas

    bon courage !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. un petit probléme avec les String.
    Par Syklops dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 07/04/2009, 12h12
  2. [VB.NET]petit problème avec la classe string !!
    Par zouhib dans le forum Windows Forms
    Réponses: 6
    Dernier message: 01/06/2006, 11h58
  3. Petit problème avec Line Input
    Par GrosQuicK dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/09/2005, 12h47
  4. (Petit ?) problème avec une page contenant du Flash
    Par ologram dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/09/2005, 18h45
  5. Petit problème avec SDL
    Par Nyarlathotep dans le forum C
    Réponses: 10
    Dernier message: 01/07/2005, 09h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo