Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/04/2006, à 05:34

Lknight

[REQ] Créer un Parser

Bonsoir ^^
En gros, je cherche à mettre en couleurs, en gras, etc... certains mots clés d'un code (ex: C, Cpp, JAVA), que ce soit dans un fichier existant ou au fur et à mesure de la frappe du code.
Je suppose que les mots clés seront stocké dans un fichier de conf à la manière de vim.
Comment créer ce fichier, et comment créer le parser et l'intégrer dans mon éditeur de texte.
J'ai entendu parler de Lex et Yacc, mais existe-t'il un autre moyen plus facile et plus rapide surtt (pas de XML svp, plus assez de tps pour chercher à comprendre).

Merci d'avance...

Dernière modification par Lknight (Le 21/04/2006, à 05:41)


- LK -
-------------------------------------------------------
DAMNED!  Why is it always 42 !!
I hate this fucking calculator!

Hors ligne

#2 Le 21/04/2006, à 08:29

bruno

Re : [REQ] Créer un Parser

Je ne comprends pas vraiment la question. Il existe une multitude d'outils de développement sous linux qui font de la coloration syntaxique, une liste non exhaustive ici : http://lea-linux.org/cached/index/Logit … ement.html

En outre la plupart des éditeurs de texte avancés (vim en est un) offrent des options de coloration syntaxique. Il me semble que dans Gedit, menu affichage, modes de coloration on peut règler cela suivant le langage utilisé. Personnelllemnt je suis sous KDE et j'utilise Kate qui gère à peu près tout du HTML au C en passant par le bash, PHP, Perl, etc.

Hors ligne

#3 Le 21/04/2006, à 13:06

Lknight

Re : [REQ] Créer un Parser

je sais qu'il existe des programmes le faisant, je m'en moque, je dois réaliser un editeur qui fais, entre autres choses de la coloration syntaxique suivant un langage donné.
merci pour le lien.

d'autres idées?


- LK -
-------------------------------------------------------
DAMNED!  Why is it always 42 !!
I hate this fucking calculator!

Hors ligne

#4 Le 21/04/2006, à 13:55

marcounet

Re : [REQ] Créer un Parser

Scintilla est un éditeur que tu peux intégrer dans tes programmes (c'est la même chose que Scite) et il y a même un composant scintilla dans wxWidgets. Il fait la coloration syntaxique et plein d'autres choses.
Mais je ne l'ai jamais utilisé...


Marcounet des Brumes

Hors ligne

#5 Le 21/04/2006, à 14:38

zeugme

Re : [REQ] Créer un Parser

A deplacer dans la rubrique programmation, non ?

Si tu n'a pas le temps de comprendre XML, je supose que SableCC est de loin trop complexe ?

Tu ne nous dis meme pas en quel langage tu doit programmer ton truc ...

Hors ligne

#6 Le 21/04/2006, à 15:30

Lknight

Re : [REQ] Créer un Parser

jbb a écrit :

A deplacer dans la rubrique programmation, non ?

Si tu n'a pas le temps de comprendre XML, je supose que SableCC est de loin trop complexe ?

Tu ne nous dis meme pas en quel langage tu doit programmer ton truc ...

En C++, je voulais ada95, mais plus assez de temps, j'ai pris trop de retard, je suis encore à la phase de conception UML.
C'est pour mon mémoire, la base est un éditeur de texte qui parse le code saisi (smart editor), le reste c de la cryptographie.

Dernière modification par Lknight (Le 21/04/2006, à 15:34)


- LK -
-------------------------------------------------------
DAMNED!  Why is it always 42 !!
I hate this fucking calculator!

Hors ligne

#7 Le 21/04/2006, à 15:33

Lknight

Re : [REQ] Créer un Parser

marcounet a écrit :

Scintilla est un éditeur que tu peux intégrer dans tes programmes (c'est la même chose que Scite) et il y a même un composant scintilla dans wxWidgets. Il fait la coloration syntaxique et plein d'autres choses.
Mais je ne l'ai jamais utilisé...

hmmm, intérressant ca, pcq si je peux me concentrer sur la partie crypto principalement ca m'aiderais vachement ^^
je v regarder ca smile
merci !! wink


- LK -
-------------------------------------------------------
DAMNED!  Why is it always 42 !!
I hate this fucking calculator!

Hors ligne

#8 Le 21/04/2006, à 15:39

zeugme

Re : [REQ] Créer un Parser

Lknight a écrit :
jbb a écrit :

A deplacer dans la rubrique programmation, non ?

Si tu n'a pas le temps de comprendre XML, je supose que SableCC est de loin trop complexe ?

Tu ne nous dis meme pas en quel langage tu doit programmer ton truc ...

En C++, je voulais ada95, mais plus assez de temps, j'ai pris trop de retard, je suis encore à la phase de conception UML.
C'est pour mon mémoire, la base est un éditeur de texte qui parse le code saisi (smart editor), le reste c de la cryptographie.

Ada95 ? Interessant. C'est pour quel deplome ou dans quelle ecole/fac ?

En tout cas, Ada ou pas, je te conseille de passer par un generateur de parser parce que en coder un a la mano, c'est un cauchemar.

Hors ligne

#9 Le 21/04/2006, à 15:46

Lknight

Re : [REQ] Créer un Parser

jbb a écrit :
Lknight a écrit :
jbb a écrit :

A deplacer dans la rubrique programmation, non ?

Si tu n'a pas le temps de comprendre XML, je supose que SableCC est de loin trop complexe ?

Tu ne nous dis meme pas en quel langage tu doit programmer ton truc ...

En C++, je voulais ada95, mais plus assez de temps, j'ai pris trop de retard, je suis encore à la phase de conception UML.
C'est pour mon mémoire, la base est un éditeur de texte qui parse le code saisi (smart editor), le reste c de la cryptographie.

Ada95 ? Interessant. C'est pour quel deplome ou dans quelle ecole/fac ?

En tout cas, Ada ou pas, je te conseille de passer par un generateur de parser parce que en coder un a la mano, c'est un cauchemar.

bof, c une école de merde, je voulais de moi-même me mettre à ada et faire le programme de mon mémoire en ada95, mais je n'ai plus le temps, je suis aux diagrammes de séquence uml, et je dois remettre tout ca fin mai.

ca je sais que c un cauchemard, j'en ai deja fais un une fois, un pti truc qui vérifie le parenthésage, mais là c une autre histoire de difficulté :-s
que connais-tu comme générateur de parser?
on m'a montré (voir plus haut) scintilla, ca m'a l'air pas mal, mais je n'ai pas encore pu regarder la doc, ni le code, mais ca à l'air pas mal.


- LK -
-------------------------------------------------------
DAMNED!  Why is it always 42 !!
I hate this fucking calculator!

Hors ligne

#10 Le 21/04/2006, à 16:30

Black_pignouf

Re : [REQ] Créer un Parser

Je me suis jamais trop interessé à la coloration, mais ca la plupart doivent se baser sur grep et des expressions régulières.
Je te laisse faire les recherches correspondantes!

Hors ligne

#11 Le 21/04/2006, à 16:33

zeugme

Re : [REQ] Créer un Parser

Lknight a écrit :
jbb a écrit :
Lknight a écrit :

En C++, je voulais ada95, mais plus assez de temps, j'ai pris trop de retard, je suis encore à la phase de conception UML.
C'est pour mon mémoire, la base est un éditeur de texte qui parse le code saisi (smart editor), le reste c de la cryptographie.

Ada95 ? Interessant. C'est pour quel deplome ou dans quelle ecole/fac ?

En tout cas, Ada ou pas, je te conseille de passer par un generateur de parser parce que en coder un a la mano, c'est un cauchemar.

bof, c une école de merde, je voulais de moi-même me mettre à ada et faire le programme de mon mémoire en ada95, mais je n'ai plus le temps, je suis aux diagrammes de séquence uml, et je dois remettre tout ca fin mai.

ca je sais que c un cauchemard, j'en ai deja fais un une fois, un pti truc qui vérifie le parenthésage, mais là c une autre histoire de difficulté :-s
que connais-tu comme générateur de parser?
on m'a montré (voir plus haut) scintilla, ca m'a l'air pas mal, mais je n'ai pas encore pu regarder la doc, ni le code, mais ca à l'air pas mal.

Le principe est que tu defini ta grammaire (dans une meta-grammaire donc) et le generateur te produit un parser/lexer de la grammaire ainsi definie.
Naturellement, les langages courant tels que C, SQL, Java sont deja decris en meta-grammaire.

Ensuite, tu utilise le code du lexer/parser pour "agir" en fonction des mots cle, par exemple, colorisation.

SableCC pour java est un excellent candidat.
Sinon, les classiques mais viellissants lex et yacc.

EDIT : a bouger dans programmation.

Dernière modification par jbb (Le 21/04/2006, à 16:34)

Hors ligne