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

avec Java Discussion :

AST de cobol en java


Sujet :

avec Java

  1. #1
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Par défaut AST de cobol en java
    Bonjour à tous,
    Je suis actuellement en stage de 1ère année d'école d'ingé en informatique.

    Et mon patron m'a demandé de faire un programme en java qui permettrais de réalisé un AST ( Abstract Syntax Tree ) à partir de langage COBOL.

    Mais je suis un peu perdu car, j'ai appris ce matin ce qu'étais un AST, je n'es jamais vu de ligne de Cobol de ma vie et le java j'ai commencer il y a deux semaine un peu.

    En cherchant sur le net j'ai trouvé cela http://mapage.noos.fr/~bpinon/abstract_syntax_tree.htm

    Mais je suis vraiment perdu et de plus le lien qu'il faut commencer par downloader est un lien mort.

    Est ce que une âme charitable aimerais bien m'aider dans ma tâche s'il vous plait.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Sans hésitation, utilise ANTLR. Je l'ai utiliser pour créer un analyseur de code T-SQL. ANTLR te permet de créer une grammaire LL(*) avec du backtracking. Il génère automatiquement le lexer et le parser et construit ton AST.
    Et des grammaires COBOL, il en existe plein, tu n'auras qu'a tester celles que tu trouves.
    Dans quel but veux-tu faire un AST ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Par défaut
    Citation Envoyé par dinobogan Voir le message
    Sans hésitation, utilise ANTLR. Je l'ai utiliser pour créer un analyseur de code T-SQL. ANTLR te permet de créer une grammaire LL(*) avec du backtracking. Il génère automatiquement le lexer et le parser et construit ton AST.
    Et des grammaires COBOL, il en existe plein, tu n'auras qu'a tester celles que tu trouves.
    Dans quel but veux-tu faire un AST ?
    Je ne sais pas dans quel but, je sais que mon patron fait beaucoup de cobol, mais je ne sais pas pourquoi.
    Est ce que tu pourrais s'il te plait m'indiquer la démarche exacte à suivre?
    Car je n'ais pas tout compris et de plus sur le site de antlr http://www.antlr.org/wiki/display/AN...ration+Targets il n' y a pas marqué Cobol.
    Comment faire je suis vraiment perdu .

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,
    J'ai l'impression qu'il y a confusion...
    Ton programme doit être en Java et permettre de parser un code écrit en COBOL si j'ai bien compris... J'ai l'impression ici que tu confonds le langage cible pour ton parser (Java) et le langage à parser (COBOL).
    ANTLR permet de générer (entre autres) des parsers en java pour le langage que tu veux dont tu donnes la grammaire. Il faut donc que tu trouves une grammaire de COBOL pour antlr.
    Ceci dit antlr est un outil très complet et des notions sur les grammaires pourraient t'aider à comprendre de quoi il retourne et ne pas te perdre
    Bon courage

  5. #5
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Par défaut
    Citation Envoyé par George7 Voir le message
    Salut,
    J'ai l'impression qu'il y a confusion...
    Ton programme doit être en Java et permettre de parser un code écrit en COBOL si j'ai bien compris... J'ai l'impression ici que tu confonds le langage cible pour ton parser (Java) et le langage à parser (COBOL).
    ANTLR permet de générer (entre autres) des parsers en java pour le langage que tu veux dont tu donnes la grammaire. Il faut donc que tu trouves une grammaire de COBOL pour antlr.
    Ceci dit antlr est un outil très complet et des notions sur les grammaires pourraient t'aider à comprendre de quoi il retourne et ne pas te perdre
    Bon courage
    Est ce que ce lien est une bonne grammaire qui serait compatible avec antlr?
    http://mapage.noos.fr/~bpinon/cobol.jj
    Et si oui comment l'insérer dans antlr?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Au vu du jj, je dirais que c'est pour javacc plutôt...
    Ceci dit une grammaire ll peut être limitée et utiliser javacc ou jtb (javacc compatbile pour les grammaires) est plus adapté car permet de parser des grammaires lalr.
    Si tu veux rester sur le meme site, une petite recherche dans ton moteur de recherche préféré avec le nom du programme (Java Tree Builder) te donne en première réponse ce lien qui n'est pas mort : http://compilers.cs.ucla.edu/jtb/.
    Tu peux continuer à suivre ton tuto avec le logiciel proposé...

  7. #7
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Par défaut
    Citation Envoyé par George7 Voir le message
    Au vu du jj, je dirais que c'est pour javacc plutôt...
    Ceci dit une grammaire ll peut être limitée et utiliser javacc ou jtb (javacc compatbile pour les grammaires) est plus adapté car permet de parser des grammaires lalr.
    Si tu veux rester sur le meme site, une petite recherche dans ton moteur de recherche préféré avec le nom du programme (Java Tree Builder) te donne en première réponse ce lien qui n'est pas mort : http://compilers.cs.ucla.edu/jtb/.
    Tu peux continuer à suivre ton tuto avec le logiciel proposé...
    Ok je vais essayer, je pense que pour installer jav tree builder il faut inclure le .jar comme une librairie classique dans eclipse et rajouter la grammaire cobol par la suite?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Lis un peu le tuto que tu as trouvé et le site que je t'ai donné, il y a ceci écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Usage:   java -jar jtb.jar [OPTIONS] [input-file]
             java -jar jtb.jar -h     # to view all available options

  9. #9
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Par défaut
    Ok mais qu'est ce que je dois mettre en input-file?
    Mon code en cobol?
    Ou une grammaire cobol comme ile st préciser ici http://mapage.noos.fr/~bpinon/abstract_syntax_tree.htm
    Et si oui ou est ce que je trouve cette fameuse grammaire cobol?

  10. #10
    Invité
    Invité(e)
    Par défaut
    Tu as tous les éléments nécessaires dans cette conversation, de plus donnés par toi même :

    Je ne vois vraiment pas ce qui te pose problème là.

  11. #11
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Par défaut
    J'ai bien avancé grâce à toi.
    Maintenant il me reste un dernier point (la fin approche je vais bientôt plus vous embêter ).
    Je suis bloqué sur le tout dernier point de la méthode ( le point 5 ) http://mapage.noos.fr/~bpinon/abstract_syntax_tree.htm

    Il faut donc rédiger ce main dans éclipse, mais je ne sais pas quel librairies ou quel classes importé ?
    Et est ce que à la place de file et source-file je doit mettre mon code cobol?
    Merci encore pour toute l'aide apporté

  12. #12
    Invité
    Invité(e)
    Par défaut
    Le code est assez bien commenté pour comprendre que source contient le chemin vers ton fichier cobol. Ensuite il faut bien évidemment utiliser les classe java générées par jtb... Il te suffit d'importer les fichiers dans eclipse.

  13. #13
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Par défaut
    Je suis désolé de vous déranger encore, mais j'ai des erreurs java, il me manque des classes et je n'arrive pas à les inclures dans éclipse alors j'ai poster mon projet eclipse sur mon ftp privé à l'adresse suivante http://asbrechaumont.com/astcobol/ et je serais reconnaissant si quelqu'un veut bien y jeter un coup d'oeil merci beaucoup.
    Jérémy

  14. #14
    Invité
    Invité(e)
    Par défaut
    En meme temps dis nous qu'est-ce qu'il te manque, montre nous ton erreur, cherche un peu comment marchent eclipse et java...

  15. #15
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Pour utiliser des classes situées dans des jars, il faut que ces jars soient dans le classpath. Pour ajouter le jar au projet dans Eclipse : Propriétés du projet > Java Build Path > Libraries > Add External Jar.

    Si cela ne fonctionne pas, donne plus de détails sur l'emplacement des classes que tu souhaites utiliser.

  16. #16
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Par défaut
    J'ai pris le main que j'ai trouver sur le net, mais eclipse ne trouve pas la classe Cobolparser

    CobolParser parser = new CobolParser( is );

  17. #17
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Par défaut
    Mais je ne peux pas les ajouter en tant que jars car ce sont des dossiers avec des fichiers .java dedans, et en external jars il ne prend que des jar ou des zip

  18. #18
    Invité
    Invité(e)
    Par défaut
    Cherche comment importer des fichier java dans ton projet eclipse, comment créer un package et tout ca si tu ne le sait pas. Ensuite tu importes tous les fichiers java générés et ca devrait aller mieux (modulo les imports qui vont bien en haut de ton code pour utiliser les classes).
    Bref cherche dans la faq et sur google tu trouveras facilement ton bonheur

  19. #19
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Par défaut
    J'ai déja importer mes .java en feisant un glisser déposer dans le package principale.
    J'ai aussi importer en haut de mon main les classe que eclipse me proposait, mais quand je clique sur la croix rouge a coté de l'erreur CobolParser, il me propose de creer une classe alors que je ne veux pas, mais d'un autre coté, dans mes package il y a une classe CobolWord mais pas de classe CobolParser.
    Le code est il faut sur le site?

  20. #20
    Invité
    Invité(e)
    Par défaut
    Non mais tu ne respectes surement pas la hiérarchie des packages en java... Renseigne toi vraiment sur comment ca marche
    Dernière modification par Invité ; 12/09/2008 à 14h37. Motif: faute de grammaire

Discussions similaires

  1. Cobol call Java sous MVS
    Par ego dans le forum Cobol
    Réponses: 4
    Dernier message: 16/08/2010, 19h03
  2. Cobol devant Java en terme de demande :)
    Par lepinekong dans le forum Actualités
    Réponses: 8
    Dernier message: 24/01/2010, 21h14
  3. de cobol vers java
    Par CobolProgrammator dans le forum z/OS
    Réponses: 4
    Dernier message: 18/02/2009, 16h45
  4. Réponses: 0
    Dernier message: 22/07/2008, 11h30

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