Traducteur algo visual basic .net/c#

Soyez le premier à donner votre avis sur cette source.

Vue 10 378 fois - Téléchargée 1 052 fois

Description

Une petite AP de BTS informatique. Ce petit programme permet d'importer un algo au format txt puis il sera traduit en code visual basic .NET ou C#. Il ne gère pour le moment que les structure élémentaires et ne gère pas la programmation orienté objet. J'attends avant tout des suggestions plus que des critiques. C'est mon premier programme en C# donc je m'excuse si le code n'est pas optimisé.

En C# le switch n'est pas encore géré!

Source / Exemple :


Dans la source on peut trouver un exemple d'algo en fichier txt. Attention l'algo en lui même est bien sur faux, il exploite juste le plus de structure algorithmique possible.

Conclusion :


Je compte mettre à jour la source régulièrement, le but à long terme étant de proposer d'autre langages à traduire. (Le PHP sera le prochain proposé).

La prochaine étape sera la traduction des fonctions

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
2
Date d'inscription
mercredi 6 juillet 2005
Statut
Membre
Dernière intervention
13 septembre 2009

Salut, comme tu l'as dit... tu es ouvert a toute proposition et tout commentaire critique...

Je ne suis pas pro-c# (j'en ai fait très peux dans ma vie) mais, j'espère quand même que tu te rends compte que ton code est totalement inefficace.

Pour un premier essai, pour apprendre ok... mais comme application pour ton BTS info... j'aurai fait ça, je me serais fait trucidé par mes profs!

Premièrement, les regex ne sont vraiment pas approprié pour les "compilateurs" (renseigne toi sur leur fonctionnement et leur coût).

Secondement, tes regex sont recompilée à chaque coup... une amélioration possible est d'utiliser des regex "pré-compilée".

Cela dit, quoi que tu fasses, ton programme sera toujours inefficace... as-tu essaie de compiler 100 K lignes et de voir le temps que ça te prenait?

Soit, je ne peux que t'encourager à continuer bien évidement, et bien sur à mieux te renseigner sur les programmes futurs que tu souhaiteras écrire afin d'éviter de re-écrire un programme inutilisable comme celui-ci :)

"Apprendre oui, faire n'importe quoi non..."
Messages postés
10
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
22 juillet 2011
3
Trop de fautes, je recommence :

Ok, try...catch j'en ai fait qu'un seul je crois ce n'est pas assez, pour le gros pavé je pense que cela concerne surtout la fonction Remplacement qui est rempli de pas mal de If... Après mon choix de structure étant, je ne peux malheureusement pas enlever cette impression de pâté.

Pour le problème de couche, je vais donc créer deux dossiers : En gros je vais le faire en Objet, à savoir une classe qui aura mes fonctions que j'appelle de l'autre côté, dans le "visuel.

Donc en gros bien séparer, le visuel avec les fonctions Regex. C'est ce que tu pensais?^^

En tout cas merci beaucoup pour ton aide !
Messages postés
467
Date d'inscription
lundi 24 juin 2002
Statut
Membre
Dernière intervention
9 mars 2011

en toute sincérité je n'ai pas non plus eu le temps de regardé en détails.
Je ne pense pas en avoir énormément non plus.
Si on le limite a l'architecture du logiciel lui même et non pas au code un problème apparait : tu as coder la partit logique dans la couche de présentation ce qui induit en cas de problème d'exécution des problèmes au niveau de la couche de présentation tel que "écran freezer" ou "ne répond pas", ou encore un plantage complet de l'application pour une simple défaillance (potentielle) du code.

et dans le code survolé :
pas de try catch
et le code en super gros pavé

il y a probablement d'autre chose mais comme indiqué j'ai pas eu le temps de regarder en détails
Messages postés
10
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
22 juillet 2011
3
Oui je crois qu'on m'en a déjà parlé. Cependant dans mon idée je pensais qu'avec des Regex je pouvais m'en sortir, je suis donc parti de cette idée la. Pour être franc je n'avais même pas cherché s'il y avait un autre moyen de faire une sorte de traduction algo en code.

Faudra que je m'y penche malheureusement je passe mon BTS bientôt j'aurais pas le temps de toute refaire dans cette application, mais cet été si j'ai le temps je verrais ce que je peux faire^^

Merci du lien en tout cas, par contre petite question : Je débute en C# (c'est ma toute première application), d'habitude je développe en Visual Basic, j'avais envie de changer. Es-ce qu'au niveau du code il y a des choses qui ne vont pas? (optimisation par exemple^^) Voila. Merci encore
Messages postés
467
Date d'inscription
lundi 24 juin 2002
Statut
Membre
Dernière intervention
9 mars 2011

pourquoi ne pas avoir implementé un Parser/Lexer de C# & vb.net a cet effet ?

http://www.codeproject.com/KB/recipes/grammar_support_1.aspx

voila un très bon article & code traitant du sujet, de plus un fichier de regle pour le C# 3.0 est fournit avec.
Le code permet à la fois de créé ses parser avec le "PEG Generator" & le post pro
qui débite du code C# 3.0 et plus (utilisation d'expression lambda)
mais il permet aussi (après de très légère manipulation du projet de base) de rajouter son code C# généré a la liste des parser utilisable et donc de pouvoir a la volé modifier & tester son parser.
Il permet aussi de générer un AST (l'arbre issue du Parse) qui lui permettra de reconstruire du code par la suite.
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.