Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1263 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Auteur Sujet :

Programme de Coloration syntaxique

n°1772128
Joel F
Real men use unique_ptr
Posté le 11-08-2008 à 18:21:50  profilanswer
 

Reprise du message précédent :
j'abandonne perso ...

mood
Publicité
Posté le 11-08-2008 à 18:21:50  profilanswer
 

n°1772174
Profil sup​primé
Posté le 11-08-2008 à 20:39:31  answer
 

snif, bon, il ne me reste qu'un bug, je vais me débrouillé :) à demain  :bounce:

n°1772183
ptitchep
Posté le 11-08-2008 à 21:02:03  profilanswer
 

Ben j'avoue que j'ai pas tout lu et je pense que quelqu'un te l'a déjà dit mais un include en C ou C++, c'est pas tout à fait la même chose qu'en PHP.
Genre inclure un fichier cpp ça ne m'est jamais arrivé. Ah si peut-être, il me semble qu'à l'IUT j'avais vu un cas où c'était nécessaire mais honnêtement je ne sais plus lequel désolé. En tout cas je me souviens bien de la gueule du prof quand il nous a expliqué que c'était vraiment pour UN cas précis. De toute façon, ce n'était pas à l'intérieur d'une fonction,...
Prends un bouquin et si c'est déjà fait, prends-en un autre.


---------------
deluser --remove-home ptitchep
n°1772275
matrixise
Posté le 12-08-2008 à 08:14:53  profilanswer
 

Certainement dans le cas où tu splittes une classe template en deux, la description dans le Hpp, et le code dans le .cpp, le Hpp réalise un include du .cpp.

n°1772279
Joel F
Real men use unique_ptr
Posté le 12-08-2008 à 08:54:52  profilanswer
 

matrixise a écrit :

Certainement dans le cas où tu splittes une classe template en deux, la description dans le Hpp, et le code dans le .cpp, le Hpp réalise un include du .cpp.


non ... jamais de la vie. Un .cpp est une unité de compilation, elle n'a pas vocation a être inclus. La bonne pratique dans ce cas là est de nommer ce fichier en .tpp ou .impl.hpp mais jamais .cpp.
Le jour ou tu travailleras avec un système de build automatique ca va e faire tt drole qu'il compile ton cpp remplis de template.
 
Il y a exactement 0 cas ou l'include d'un cpp est justifié

n°1772340
Profil sup​primé
Posté le 12-08-2008 à 10:28:41  answer
 

Ca, c'est pas tellement concevable pour : les seuls fichiers que nous avons le "droit" d'inclure, sont des fichier .h, dans ces fichier nous ne pouvons que dlécarer des prototype de fonctions, donc, toute les fonctions, c'est légèrement bordélique je trouve...

n°1772343
Joel F
Real men use unique_ptr
Posté le 12-08-2008 à 10:37:13  profilanswer
 

c'est surtout un héritage historique du C. Après on vis avec, sinon on reste à faire du PHP :o

n°1772424
Profil sup​primé
Posté le 12-08-2008 à 12:33:23  answer
 

Bon, j'ai une mauvaise nouvelle, j'ai revus l'organisation de mon programme et... ça marche, au menu :
 

  • Plus que trois fichier : main.cpp, fonctions.h et langages.h
  • Plus que deux namespace : KolorEngine, KolorEngineLangage
  • Plus de variable globale


Descriptions des fichiers :
 
langages.h :

  • Namepace : KolorEngineLangage (qui contient les fonctions de parsage)
  • Description du fichier : contient les prototypes des fonctions de parsage


fonctions.h :

  • Namespace : KolorEngine (qui contient les fonctions uselles du programme)
  • Description du fichier : contient les fonctions uselles du programme


main.cpp :

  • Namespace : KolorEngine, KolorEngineLangage, std
  • Description du fichier : fichier contenant tout le code du programme
  • Nombre de parties : 4


Description des parties :

  • Partie 1 : Les includes, contient toutes les inclusions nécessaire au bon fonctionnement du programme
  • Partie 2 : La fonction main, appel les fonctions, traite la demande et renvois le code
  • Partie 3 : Définie les fonctions de l'espace nom KolorEngine
  • Partie 4 : Définie les fonctions de l'espace nom KolorEngineLangage


Voilà  :whistle:  
 
1. Avant d'aller plus loin, je vous serait reconnaissant de me faire part de vos commentaires, suggestion et/ou critiques, vous pouvez également télécharger le changelog
 
2. Maintenant que cette phase est réalisé, j'aimerais savoir quels améliorations puis-je apporter à mon code, pour améliorer sa lisibilité, sa modularité, son ajout facile de langage, ses performance, etc.
 
3. (nécessite la réalisation des points 1 et 2) J'aimerais rajouter deux options : un système de cache et un système de stats, tout les deux à la demande, pour le second je vois, pour le premier, j'ai un peu de mal...
 
Par avance merci de votre participation, de votre aide et surtout, de votre patience  :pt1cable:

n°1772655
Profil sup​primé
Posté le 12-08-2008 à 20:00:39  answer
 

Juste une question, vous êtes le plus impressioné par mon travail ou par mon avancé ?

n°1772675
ptitchep
Posté le 12-08-2008 à 21:18:56  profilanswer
 


Joel F a écrit :


non ... jamais de la vie. Un .cpp est une unité de compilation, elle n'a pas vocation a être inclus. La bonne pratique dans ce cas là est de nommer ce fichier en .tpp ou .impl.hpp mais jamais .cpp.
Le jour ou tu travailleras avec un système de build automatique ca va e faire tt drole qu'il compile ton cpp remplis de template.
 
Il y a exactement 0 cas ou l'include d'un cpp est justifié


 
 
Il a raison c'était ça il me semble. Faut dire qu'on avait pas le droit au build automatique histoire de nous apprendre comment ça marche une compilation et de ne pas répondre
 
Connaissant mon prof il avait sûrement du nous mettre en garde mais comme à l'époque on était surtout dans l'optique "ça marche comme ça le TP est fini donc on se casse", mon binôme et moi on n'a pas du écouter.


---------------
deluser --remove-home ptitchep
mood
Publicité
Posté le 12-08-2008 à 21:18:56  profilanswer
 

n°1772677
Joel F
Real men use unique_ptr
Posté le 12-08-2008 à 21:22:47  profilanswer
 

build automatique je parle de autoconf et cie ;)

n°1772679
ptitchep
Posté le 12-08-2008 à 21:33:13  profilanswer
 

Joel F a écrit :

build automatique je parle de autoconf et cie ;)


Pas pensé ouais.
En tout cas je note le .impl.hpp, merci.


---------------
deluser --remove-home ptitchep
n°1772767
Profil sup​primé
Posté le 13-08-2008 à 09:57:09  answer
 

Mon message n'a pas eu l'effet esconté ^^" dommage...

n°1772783
kao98
...
Posté le 13-08-2008 à 10:32:01  profilanswer
 

Citation :


Code :
  1. int main(int argc, char** argv[])




 
Moi perso, je ne vais pas plus loin. On t'a pourtant dit d'apprendre le C++ par le commencement ! Tu n'as même pas les bases, il ne te suffit pas de "savoir coder" en php pour pouvoir faire du c++ !


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1772809
Profil sup​primé
Posté le 13-08-2008 à 11:14:19  answer
 

ha, oui en effet, mauvaise version, voilà j'ai réuploader la bonne : changelog
 
Autre chose ?

n°1772833
kao98
...
Posté le 13-08-2008 à 11:51:12  profilanswer
 

Citation :


Code :
  1. // Fonction principale
  2. int main(int argc, char* argv[])
  3. {
  4.  
  5.    std::string langage;
  6.    // Récupération du langage
  7.    char* langage_intermediare = argv[1];




 
Voilà, ça, c'est n'imp !
 
Et tout ton code est merdique ! Tu ne sais pas programmer en C++ ! Reprend ton apprentissage du langage depuis le début STP !!!!!


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1772855
Profil sup​primé
Posté le 13-08-2008 à 12:51:49  answer
 

j'avoue, que ce n'est pas judicieux de ma part, je reviendrais donc sous peu...
 
PS : mon code n'est pas de bonne qualité, certes, mais pour un novice, je le trouve correcte...

n°1772907
Joel F
Real men use unique_ptr
Posté le 13-08-2008 à 15:21:27  profilanswer
 

non, c'est juste infame vu que ca compile pas et que t'as rien compris au film :/

n°1772909
MichaelJac​kfan
Posté le 13-08-2008 à 15:22:31  profilanswer
 

Salut,
 

Citation :

PS : mon code n'est pas de bonne qualité, certes, mais pour un novice, je le trouve correcte...


 
je suis ce topic depuis un petit moment et je te trouves marrant.
Tu n'as strictement rien compris au C++, ton code est ridicule, même un enfant de 10ans en lisant les cours du site du zero pourrait faire mieux (à ne pas prendre mal, c'est simplement pour dire à quel point tu ignores ce que tu fais).
Et pourtant, plutôt que de te dire "bon OK, j'y connais rien alors je relis les bases", tu t'obstines à vouloir coder un programme sans rien connaitre du C++, tu ne connais même pas le prototype de la méthode main, c'est pour dire !
 
Ton code n'a pas de sens, que ce soit pour un novice ou non...
Tu ne sais même pas que les includes ne se mettent qu'au début du fichier, ni qu'on inclue pas de *.cpp, ni les types de bases, ni rien du tout !
 
 
Ecrire un code dans un certain language est quelque chose de très très précis, il FAUT connaitre les règles si tu veux y jouer, ce n'est pas quelque chose qui se fait "au feeling".
 
 
Voilà, donc comme tous les autres, tout ce que je peux te donner comme conseil pour ton programme, c'est:
"Supprime-le, LIS des choses sur le C++ (les tutos sur le web peuvent être une base), ne te contente pas de survoler un livre en une heure, CE N'EST PAS POSSIBLE EN PROGRAMMATION, il te faut connaitre precisément toutes les règles, pas juste grossomodo comment ça marche."


Message édité par MichaelJackfan le 13-08-2008 à 15:27:03

---------------
Un problème sans solution est un problème mal posé
n°1772920
BenO
Profil: Chercheur
Posté le 13-08-2008 à 15:36:13  profilanswer
 

je code 8H par jour du c++ et je ne sais pas écrire un main :o


---------------
Python Python Python
n°1772968
Un Program​meur
Posté le 13-08-2008 à 17:54:39  profilanswer
 


 
Non.  Ce qui est normal pour un novice, c'est de n'avoir aucune idée de la qualité de ce qu'il écrit,
pas d'écrire du code aussi mauvais.
 

BenO a écrit :

je code 8H par jour du c++ et je ne sais pas écrire un main :o


 
Je ne suis pas sûr de comprendre ce que ce smiley veut dire.  Sérieusement, je ne me souviens pas d'avoir
jamais écrit un main pour du code destiné à partir en production (ah, si, peut-être une fois), mais ne pas
savoir comment on fait... ça me semble quand même bizarre.  En écrire m'arrive assez souvent quand
j'expérimente des techniques.

n°1772991
BenO
Profil: Chercheur
Posté le 13-08-2008 à 18:44:30  profilanswer
 

Je n'ai pas écrit un seul main au boulot.
Quand j'expérimente à la maison c'est plutôt en Python.
Et si je fais du C++ je recopie un main d'un précédent projet [:cerveau whistle]


---------------
Python Python Python
n°1773002
KangOl
Profil : pointeur
Posté le 13-08-2008 à 19:33:54  profilanswer
 

et la plupart des IDE le mettent d'office quand on crée un nouveau projet...

n°1773122
kao98
...
Posté le 14-08-2008 à 08:48:23  profilanswer
 

Moi, je ne sais pas écrire un winmain, mais un main, quand même ! :o


Message édité par kao98 le 14-08-2008 à 08:56:39

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1777354
Profil sup​primé
Posté le 25-08-2008 à 18:54:47  answer
 

J'ai relu une bonne partie de mon livre et après les conseils d'un ami je pense que je relève un peu le niveau :  
changelog
 
Verdict ?

n°1780299
Profil sup​primé
Posté le 30-08-2008 à 11:37:17  answer
 

Pas de suggestions ni de critique ?

n°1781446
kyntriad
Posté le 02-09-2008 à 14:59:47  profilanswer
 

C'est un peu creux là, dans le sens ou il n'y a rien de fonctionnel. Spirit c'est fait pour faire des parseurs, pas spécialement pour faire des regex, et d'ailleurs tu ne t'en sert pas. L'implémentation de toutes tes classes dans le main.cpp c'est moche.
 
Donc faut voir la suite quoi.


---------------
You can't start a fire with moonlight
n°1781509
Profil sup​primé
Posté le 02-09-2008 à 16:22:12  answer
 

Justement, j'aimerais que la structure soit valider, ensuite le contenu viendra, d'ailleur j'étudis boost.spirit en ce moment, par contre, j'approuve le faite que l'implémentation des class dans main.cpp, cependant, dans mon manuel, il n'y a aucune "alternative", peut-être pourriez vous m'en conseiller une...

n°1781512
BenO
Profil: Chercheur
Posté le 02-09-2008 à 16:24:45  profilanswer
 

ClassMachin.cpp ? :o


---------------
Python Python Python
n°1781514
Profil sup​primé
Posté le 02-09-2008 à 16:27:17  answer
 

Je croyais qu'on avait pas le droit d'inclure des .cpp
 
J'ai peut-être mal-lu ?

n°1781518
BenO
Profil: Chercheur
Posté le 02-09-2008 à 16:38:45  profilanswer
 

Tu n'as pas besoin de l'inclure.

 

Il sera compilée par ton IDE et ton compilateur (édition des liens?) sait faire la "correspondance" entre les .h et les .cpp

 

edit: si qqun à un document expliquant précisément le mécanisme :o ça m'intéresse.


Message édité par BenO le 02-09-2008 à 16:39:25

---------------
Python Python Python
n°1781557
Profil sup​primé
Posté le 02-09-2008 à 17:55:25  answer
 

Après doc, j'ai class wizzard sous CodeBlocks, avec ça dois-je inclure "Parser.h" quand même ? je pense que non...
 
Pour boost.spirit, on me l'as conseillé, et sur leur site c'est l'un des principales usages qu'il mettent en valeur, avec celui d'interprêter des syntaxes...
 
PS : doc => http://loulou.developpez.com/tutor [...] ocks/#L7.2

n°1781578
Joel F
Real men use unique_ptr
Posté le 02-09-2008 à 19:22:56  profilanswer
 

ta classe Toto est déclarer dans toto.hpp ert son code est défini dans toto.cpp
 
tu inclus toto.hpp dans les fichiers ayant besoin de connaitre toto. tu compiles et tulink toto.cpp avec les autres cpp.
 
Chapitre 1 du manuel :€

n°1781584
Profil sup​primé
Posté le 02-09-2008 à 20:03:39  answer
 

Joel F a écrit :

ta classe Toto est déclarer dans toto.hpp ert son code est défini dans toto.cpp
 
tu inclus toto.hpp dans les fichiers ayant besoin de connaitre toto. tu compiles et tulink toto.cpp avec les autres cpp.
 
Chapitre 1 du manuel :€


 
On parle pas du même manuel alors...
 
Et je les link comment ? en les ajoute au projet ou en me servant de class wizzard

n°1781585
KangOl
Profil : pointeur
Posté le 02-09-2008 à 20:06:28  profilanswer
 
n°1781588
Joel F
Real men use unique_ptr
Posté le 02-09-2008 à 20:16:36  profilanswer
 


 
compialtion + edition des liens c'est quand meme la base quoi :€

n°1782047
Profil sup​primé
Posté le 03-09-2008 à 14:57:14  answer
 


 

Joel F a écrit :


 
compialtion + edition des liens c'est quand meme la base quoi :€


 
Désolé, mais sur mon bouquin y avait pas la gestion d'IDE...
 
J'ai fais les modifs nécessaire, mais j'ai encore un problème d'{, je vais trouver ^^

n°1782066
Joel F
Real men use unique_ptr
Posté le 03-09-2008 à 15:17:11  profilanswer
 

c'est pas une notion d'IDE hein :o mais de compilateur ;)

n°1783292
Profil sup​primé
Posté le 05-09-2008 à 20:27:45  answer
 

IDE : Integrated Development Environment, le compilateur est intégré à l'IDE, donc la maitrise de l'IDE inclus la maitrise du compilateur... Moi je vais arrêté car tu va plus vouloir participer ^^
 
J'ai tout refais, voilà, moins dégueulasse :)
 
changelog : http://knightoffear.free.fr/kolore [...] -0-09a.zip

n°1783296
tholdan
Posté le 05-09-2008 à 20:34:16  profilanswer
 


Non.


---------------
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
n°1783298
theshockwa​ve
I work at a firm named Koslow
Posté le 05-09-2008 à 20:40:59  profilanswer
 

je te cite :

Code :
  1. //on pourrait détruire objet mais cette tâche ne revient pas à Ajoute


En l'occurrence, si tu détruis l'objet, ta map contiendra un pointeur invalide, donc c'est absolument faux.
Vu qu'en plus, tu clones ton parser pour pouvoir l'utiliser, j'ai l'impression que tu es très loin d'avoir les idées claires sur le rôle que tu comptes donner à tes classes. Avant de faire compliqué, fais simple, c'est une règle d'or.
Avant de vouloir faire un programme complexe, fais-toi des exemples plus simples, et fais les évoluer en quelque chose de progressivement plus complexe. Tu n'imagines pas la galère dans laquelle tu t'embarques si tu veux programmer une horde de classes avant même de parvenir à faire compiler ton programme ... Les erreurs qui empêchent la compilation sont de loin les plus simples à régler, là, tu es en train d'enterrer des mines sur lesquelles tu marcheras plus tard.
 

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3

Aller à :
Ajouter une réponse
 

Sujets relatifs
Programme en majusculeDemande d'informations pour programme en java
ce site : programmé avec les pieds ou pas ?Programme open-source, licenses GPL, GNU
quel programme pour traiter des données dans excel?programme pour surveiller les portes du PC
programme access 2003Exécuter un fichier (ou programme) depuis du Tcl/Tk
Faire exectuer une ligne de commande à un programme JavaPremier programme C (manip. de fichiers txt)
Plus de sujets relatifs à : Programme de Coloration syntaxique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR