Major modes pour Bison et Flex
Le
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
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

Poser une question


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
No apropos matches for bison, yacc, lex, flex...
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 ;-)
Merci !
--
Francois Goudal
Epita promo 2008 - Ing1 - Tresorier Evolutek
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.
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
"Florent Georges"
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 -
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