Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Major modes pour Bison et Flex

8 réponses
Avatar
Francois Goudal
Bonjour,

Je commence a utiliser Bison et Flex dans le cadre de mes etudes.
Je suis par consequent a la recherche de fichiers .el pour rajouter des
major-modes pour Bison et Flex a mon emacs. Je n'ai pas trouve mon
bonheur avec Google, les quelques bison-mode.el et flex-mode.el que j'ai
pu trouver ne fonctionnaient pas.

Quelqu'un saurait-il ou ( pas de DTC ;-) ) je pourrais trouver tout
cela, si tant est que cela existe deja ?

Pour info, j'utilise GNU Emacs 21.4.1

Merci.

--
Francois Goudal
Epita promo 2008 - Ing1 - Tresorier Evolutek
francois@goudal.net

8 réponses

Avatar
Florent Georges
Francois Goudal a écrit :

Je suis par consequent a la recherche de fichiers .el pour rajouter des
major-modes pour Bison et Flex a mon emacs.



Je n'ai pas d'Emacs sous la main, mais es-tu certain que la
distribution standard ne contient pas le nécessaire ? Que disent "C-h
a bison <RET>", "C-h a yack <RET>", et "C-h a lex <RET>" ?

Une recherche rapide sur EmacsWiki renseigne CC Mode comme support
pour bison et flex. Mais je n'ai pas le souvenir d'une telle chose.

--drkm
Avatar
Francois Goudal
Florent Georges a écrit :
Francois Goudal a écrit :


Je suis par consequent a la recherche de fichiers .el pour rajouter des
major-modes pour Bison et Flex a mon emacs.




Je n'ai pas d'Emacs sous la main, mais es-tu certain que la
distribution standard ne contient pas le nécessaire ? Que disent "C-h
a bison <RET>", "C-h a yack <RET>", et "C-h a lex <RET>" ?




No apropos matches for bison, yacc, lex, flex...

Une recherche rapide sur EmacsWiki renseigne CC Mode comme support
pour bison et flex. Mais je n'ai pas le souvenir d'une telle chose.




Les modes C et C++ ne me conviennent pas vraiment pour les fichiers
bison et flex qui ne sont malgre tout pas du vrai C et qui par
consequent entrainent un comportement pas tres pratique d'emacs
lorsqu'on utilise ces modes, notamment en ce qui concerne l'indentation,
et je suis donc a la recherche d'une implementation d'un mode specifique
a Bison et Flex.

J'ai bien l'impression qu'il n'en existe aucune officielle mais si
quelqu'un a pris le temps de le faire pour lui et qu'il souhaite le
partager, je suis tout a fait preneur ;-)

--drkm




Merci !

--
Francois Goudal
Epita promo 2008 - Ing1 - Tresorier Evolutek

Avatar
Florent Georges
Francois Goudal wrote:

Florent Georges a écrit :

> Une recherche rapide sur EmacsWiki renseigne CC Mode comme support
> pour bison et flex. Mais je n'ai pas le souvenir d'une telle chose.

Les modes C et C++ ne me conviennent pas vraiment pour les fichiers
bison et flex qui ne sont malgre tout pas du vrai C



Bien sur. Mais il semblait dire qu'il existait de tels mode dans CC
Mode (tout comme il contient un mode AWK, p.e.). Mais je n'ai pas
trouve trace de cela dans CC Mode.

J'ai bien l'impression qu'il n'en existe aucune officielle



C'est egalement l'impression que j'ai apres une recherche (pas tres
intensive). Cela m'etonne.

Si tu finis par trouver quelque chose, il serait bon de mettre a jour
les page ad-hoc d'EmacsWiki.

Au fait, en cherchant, je suis tombe sur un message de Martin
Stjernholm disant a peu pres que CC Mode contient un support leger pour
ces langages, mais rien d'officiel ni d'assez complet que pour declarer
un 'bison-mode'. Tu peux peut-etre demander sur la ML de CC Mode ...

--drkm
Avatar
Paul Gaborit
À (at) 9 Jan 2006 15:14:40 -0800,
"Florent Georges" écrivait (wrote):
Les modes C et C++ ne me conviennent pas vraiment pour les fichiers
bison et flex qui ne sont malgre tout pas du vrai C



Bien sur. Mais il semblait dire qu'il existait de tels mode dans CC
Mode (tout comme il contient un mode AWK, p.e.). Mais je n'ai pas
trouve trace de cela dans CC Mode.



En fait le problème est plus général, car il existe plein d'outils
similaires à bison ou yacc pour décrire des grammaires (je pense par
exemple à Parse::Yapp pour Perl). À la base, ils utilisent tous une
syntaxe du style de celle de bison/yacc décrivant les règles et leur
expansion. Mais ils intègrent aussi les actions sémantiques qui,
elles, sont décrites dans le langage cible (C/C++ pour bison/yacc,
Perl pour Parse::Yacc, etc.).

On peut même généraliser encore plus, en incluant les systèmes de
template qui mixent la grammaire spécifique au langage de template et
la grammaire du langage cible.

En fait, ce qui manque vraiment, c'est un mécanimse général permettant
de transformer n'importe quel major-mode en minor-mode d'un autre
mode... ou un mécanise permettant d'appliquer un major-mode à une
région et non à tout le buffer.

Personnellement, malgré les petits défauts d'identation ou de
colorisation, je me contente de cc-mode pour faire du bison/yacc et de
c-perl pour faire du Parse::Yacc. Pour que ça se passe pas trop mal,
on est obligé d'utiliser un style qui n'est pas toujours très joli et
impossible d'utiliser de l'indentation automatique mais c'est déjà
mieux que rien.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/&gt;
Avatar
Florent Georges
Paul Gaborit wrote:

En fait, ce qui manque vraiment, c'est un mécanimse général permett ant
de transformer n'importe quel major-mode en minor-mode d'un autre
mode... ou un mécanise permettant d'appliquer un major-mode à une
région et non à tout le buffer.



Vi. Avoir plusieurs modes majeurs dans un seul buffer. Penser ne
serait-ce qu'a JSP ou PHP. Il y a eu plusieurs essais sur le sujets,
reussissant plus ou moins, mais rien AMHA de vraiment convainquant.

La derniere fois que j'avais reflechi un peu au sujet, j'en etais
arrive a la conclusion qu'il faudrait un nouveau type de variable dans
Emacs d'une part, et la collaboration des modes majeurs d'auter part.
C'est un vaste sujet.

--drkm
Avatar
Paul Gaborit
À (at) 10 Jan 2006 02:39:43 -0800,
"Florent Georges" écrivait (wrote):
Vi.



Heu... Ça veut dire "oui" ou c'est pour parler de "vi" ? ;-)

Avoir plusieurs modes majeurs dans un seul buffer. Penser ne
serait-ce qu'a JSP ou PHP. Il y a eu plusieurs essais sur le
sujets, reussissant plus ou moins, mais rien AMHA de vraiment
convainquant.



C'est effectivement ce que j'avais constaté...

C'est un vaste sujet.



Donc pas de solution en vue avant... longtemps !

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/&gt;
Avatar
frederic
Francois Goudal writes:

Bonjour,

Je commence a utiliser Bison et Flex dans le cadre de mes etudes.
Je suis par consequent a la recherche de fichiers .el pour rajouter des
major-modes pour Bison et Flex a mon emacs. Je n'ai pas trouve mon
bonheur avec Google, les quelques bison-mode.el et flex-mode.el que j'ai
pu trouver ne fonctionnaient pas.

Quelqu'un saurait-il ou ( pas de DTC ;-) ) je pourrais trouver tout
cela, si tant est que cela existe deja ?

Pour info, j'utilise GNU Emacs 21.4.1

Merci.



hop: http://www.eecs.tulane.edu/www/Beuscher/emacs/el-doc/bison-mode.el.txt

en deux clics sur google.

--
Frédéric
Avatar
Francois Goudal
a écrit :
Francois Goudal writes:


Bonjour,

Je commence a utiliser Bison et Flex dans le cadre de mes etudes.
Je suis par consequent a la recherche de fichiers .el pour rajouter des
major-modes pour Bison et Flex a mon emacs. Je n'ai pas trouve mon
bonheur avec Google, les quelques bison-mode.el et flex-mode.el que j'ai
pu trouver ne fonctionnaient pas.

Quelqu'un saurait-il ou ( pas de DTC ;-) ) je pourrais trouver tout
cela, si tant est que cela existe deja ?

Pour info, j'utilise GNU Emacs 21.4.1

Merci.




hop: http://www.eecs.tulane.edu/www/Beuscher/emacs/el-doc/bison-mode.el.txt

en deux clics sur google.




Essayez donc de faire marcher cela.
Quand je dis que je n'avais pas trouve mon bonheur avec google, ca
comprenait aussi les cas des fichiers que je trouvais mais qui ne
marchaient pas...

--
Francois Goudal
Epita promo 2008 - Ing1 - Tresorier Evolutek