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

Java Discussion :

Choix pour un traducteur de code : JavaCC/ Lex-Yacc / Java ?


Sujet :

Java

  1. #1
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut Choix pour un traducteur de code : JavaCC/ Lex-Yacc / Java ?
    bonjour à tous,
    je dois développer une application permettant à partir d'un grammaire de générer les fichiers C,C++,ou Java correspondants.

    Voici la tête de ma grammaire :
    OBJECT = ELS_SPECTRUM_COMPLETE_TABLE
    NAME = "ELS_SPECTRUM_COMPLETE"
    INTERCHANGE_FORMAT =ASCII
    ROWS = 128
    COLUMNS = 2
    ROW_BYTES = 25
    END_OBJECT = ELS_SPECTRUM_COMPLETE_TABLE




    OBJECT = COLUMN
    NAME = "TEMPERATURE"
    DATA_TYPE = "ASCII_INTEGER"
    START_BYTE = 88
    BYTES = 3
    UNIT = DEGREE
    FORMAT = "I1"
    DESCRIPTION = "temperature value "
    END_OBJECT = COLUMN

    OBJECT = COLUMN
    NAME = "NB_ECH"
    DATA_TYPE = "ASCII_INTEGER"
    START_BYTE = 92
    BYTES = 3
    UNIT = xxxx
    FORMAT = "I1"
    DESCRIPTION = "description...."
    END_OBJECT = COLUMN
    Je vais par exemple devoir générer une classe Java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class monCodeJava{
     
    		private int[] temperature = new int[128];
    		private int[] nb_ech = new int[128];
     
    //etc...
    	}
    le code n'est pas très important en lui même...

    J'ai commencé par penser à JavaCC ou Lex/Yacc pour analyser ma grammaire... mais en fait vu que tous les champs sont séparés par des '=' la forme est simple donc je pense qu'un stringTokenizer ferait largement l'affaire...

    qu'en pensez vous ??
    Heureux soient les fêlés, car ils laisseront passer la lumière.

    Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  2. #2
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Pourquoi ne pas passer par la classe "Properties" elle gere tres bien les fichiers a base de Key = Value.

    Pour les noms de clefs il faut qu'ils soient tous differents mais tu peux te baser sur des nom composées : "MonElement.Name = valeur"
    Le tout apres est de fournir la liste de ces elements (si non connu d'avance) pour generer dynamiquement les clefs a recuperer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ElementCount = 3
    Element1 = MonElement1
    Element2 = MonElement2
    Element3 = MonElement3
     
    MonElement1.Name = XXXX
    MonElement2.Name = YYYY
    [...]
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  3. #3
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    je suis en train de regarder l'utilisation de Properties. Je ne connaissais aps mais ça m'a l'air interessant en effet
    le pb est que ma grammaire ne peut être définie autrement que telle que je l'ai décrite c'est très figé... donc pour des noms de clefs différents je vais voir mais ça me parait dur ...

    l'autre solution que j'ai envisagé est de "baliser" ce fichier pour créer un fichier XML. En effet la grammaire s'en rapproche assez je trouve, et je pourrai par la suite utiliser des parsers XML ...
    Heureux soient les fêlés, car ils laisseront passer la lumière.

    Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  4. #4
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Properties, ca ne passera pas (multiplicité des clés). Mais parser un fichier clés-valeurs, c'est extrêmement simple. Tu ouvre ton fichier, tu lis ligne par ligne, et pour chacune tu splite sur le '=' ce qui te permet de récupérer la clé et la valeur dans des chaînes distinctes. Ensuite, réaliser les actions sémantiques.

    Passer en XMl, pourquoi pas. Mais le gain sera faible.

  5. #5
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    Citation Envoyé par Tommy31 Voir le message
    Tu ouvre ton fichier, tu lis ligne par ligne, et pour chacune tu splite sur le '=' ce qui te permet de récupérer la clé et la valeur dans des chaînes distinctes
    oui pour l'instant c'est ce que je fais, enfin je splitte bien maintenant il faudrait que je stocke les keys et les valeurs associés.

    Je pense donc rester sur ce choix, effectivement le XML n'a pas tellement lieu d'être je ne vais donc pas perdre plus de temps

    merci à tous
    Heureux soient les fêlés, car ils laisseront passer la lumière.

    Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

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

Discussions similaires

  1. Meilleur choix pour du code extensible
    Par rc183 dans le forum C#
    Réponses: 2
    Dernier message: 08/07/2013, 19h07
  2. Problème de choix pour un graphique
    Par MeDioN dans le forum 2D
    Réponses: 2
    Dernier message: 10/10/2005, 10h11
  3. Choix pour un futur noyaux
    Par gos77 dans le forum Langages de programmation
    Réponses: 32
    Dernier message: 23/06/2005, 09h15
  4. Réponses: 17
    Dernier message: 17/05/2004, 15h24
  5. [mise en page] pour bien indenter son code
    Par bihorece dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/08/2003, 16h14

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