Jump to content
kynder

problema

Recommended Posts

Posted

salutare

asta e proiectul meu la facultate

sa fac un program in c++ care sa indenteze fisiere sursa

exemplu:

din codul asta

dinv.jpg

sa imi transforme in codul asta

67655561.jpg

nu vreau mura-n gura cod, ci o idee de pornire.

ideea mea e sa transfer textul din fisierul neindentat intr-o singura linie in alt fisier si de acolo sa tratez fiecare caz in parte ( {,},public:,private:,protected:,etc) dar vreau sa vad si alte pareri.

Posted

Pare o destul de buna ideea ta cu un swich case mare.

Pluginul TextFX pt Notepad++ are deja functia asta si ai putea sa te uiti si pe acolo(functia se numeste reindentcode si se afla in NPPTextFX.c) sau ai putea sa perfectionezi pluginul daca chiar vrei.

Posted

ideea e ca dupa ce transfer totul pe o linie nu stiu cum sa continui.

adica nu stiu prin ce metoda mi-ar fi mai usor sa tratez toate cazurile, si eventual si cateva exceptii.

tu ce zici ?

Posted

Pai parcurgi firecare caracter si daca e de exemplu '{' treci pe o linie noua si contorizezi (pentru a realiza o indentare calumea), verifici keywords(if, for, int...) si tratezi pe fiecare separat. Problema cea mai mare ar fi totusi ca sunt foarte multe cazuri si destul de mult de munca.

Posted

eu ma gandeam ca sa bag tot ce e intre spatii inntr-un vector.

de exemplu: "class C : public F" sa "intre" in v[0]=class v[1]=C v[2]=: v[3]= public v[4]=F, pentru ca imi e mult mai usor sa verific apoi ce sa fac.

nu trebuie sa verific if,for,while pentru ca sunt corect asezate.. eu trebuie sa tratez decat cazurile cand sa adaug "\n" si "\t"; cat despre exceptii.. e aiurea rau ca nu prea-mi dau seama cum sa fac,dar mai e pana ajung la exceptii.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...