Quel est la méthode conseillée ? Il faut commencer par dériver
un mode majeur ?
Footnotes:
[1] c'est le langage de description de ressource Apple
(fichiers .r),
mais avec des types custom en supplément.
Quel est la méthode conseillée ? Il faut commencer par dériver
un mode majeur ?
Footnotes:
[1] c'est le langage de description de ressource Apple
(fichiers .r),
mais avec des types custom en supplément.
Quel est la méthode conseillée ? Il faut commencer par dériver
un mode majeur ?
Footnotes:
[1] c'est le langage de description de ressource Apple
(fichiers .r),
mais avec des types custom en supplément.
Quel est la méthode conseillée ? Il faut commencer par dériver un mode
majeur ?
Quel est la méthode conseillée ? Il faut commencer par dériver un mode
majeur ?
Quel est la méthode conseillée ? Il faut commencer par dériver un mode
majeur ?
j'aimerais me fabriquer un font-locking pour colorier des fichiers de
ressources[1] propres au dev que je fais pour ma boîte.
Quel est la méthode conseillée ? Il faut commencer par dériver un mode
majeur ?
j'aimerais me fabriquer un font-locking pour colorier des fichiers de
ressources[1] propres au dev que je fais pour ma boîte.
Quel est la méthode conseillée ? Il faut commencer par dériver un mode
majeur ?
j'aimerais me fabriquer un font-locking pour colorier des fichiers de
ressources[1] propres au dev que je fais pour ma boîte.
Quel est la méthode conseillée ? Il faut commencer par dériver un mode
majeur ?
Sébastien Kirche writes:
> j'aimerais me fabriquer un font-locking pour colorier des fichiers
> de ressources[1] propres au dev que je fais pour ma boîte.
> Quel est la méthode conseillée ? Il faut commencer par dériver un
> mode majeur ?
À priori, je dirais oui. Mais je ne connais pas le format des
fichiers que tu utilises pour ta boîte. Cela te permet de plus
d'ajouter plus facilement (et de manière plus cohérente) des
fonctionalités supplémentaires, comme l'aide à la modification.
S'il est assez simple, tu peux regarder du côté de 'generic.el'
dans ta distro Emacs (et 'generic-x.el' pour des exemples). Et
bien sûr, (info "(elisp)Modes") et (info "(elisp)Major Modes")
sont intéressants.
Sébastien Kirche writes:
> j'aimerais me fabriquer un font-locking pour colorier des fichiers
> de ressources[1] propres au dev que je fais pour ma boîte.
> Quel est la méthode conseillée ? Il faut commencer par dériver un
> mode majeur ?
À priori, je dirais oui. Mais je ne connais pas le format des
fichiers que tu utilises pour ta boîte. Cela te permet de plus
d'ajouter plus facilement (et de manière plus cohérente) des
fonctionalités supplémentaires, comme l'aide à la modification.
S'il est assez simple, tu peux regarder du côté de 'generic.el'
dans ta distro Emacs (et 'generic-x.el' pour des exemples). Et
bien sûr, (info "(elisp)Modes") et (info "(elisp)Major Modes")
sont intéressants.
Sébastien Kirche writes:
> j'aimerais me fabriquer un font-locking pour colorier des fichiers
> de ressources[1] propres au dev que je fais pour ma boîte.
> Quel est la méthode conseillée ? Il faut commencer par dériver un
> mode majeur ?
À priori, je dirais oui. Mais je ne connais pas le format des
fichiers que tu utilises pour ta boîte. Cela te permet de plus
d'ajouter plus facilement (et de manière plus cohérente) des
fonctionalités supplémentaires, comme l'aide à la modification.
S'il est assez simple, tu peux regarder du côté de 'generic.el'
dans ta distro Emacs (et 'generic-x.el' pour des exemples). Et
bien sûr, (info "(elisp)Modes") et (info "(elisp)Major Modes")
sont intéressants.
resource 'WIND' (RWINDOW, purgeable) {
{60, 40, 290, 160},
kWindowDocumentProc,
invisible, GoAway, 0x0, "Traffic", staggerParentWindow
};
resource 'WIND' (RWINDOW, purgeable) {
{60, 40, 290, 160},
kWindowDocumentProc,
invisible, GoAway, 0x0, "Traffic", staggerParentWindow
};
resource 'WIND' (RWINDOW, purgeable) {
{60, 40, 290, 160},
kWindowDocumentProc,
invisible, GoAway, 0x0, "Traffic", staggerParentWindow
};
Si tu veux vraiment définir une grammaire exacte, tu peux
utiliser Semantic. L'avantage est qu'après, tu bénéficies
d'outils de navigation, et tu peux plus facilement coder des
outils d'insertion ou modification, puisque tu n'as plus à te
soucier de l'analyse syntaxique.
Mais ÀMHA dans ce cas, il est possible d'arriver à quelque
chose d'honnête avec quelques expressions rationnelles.
Cela dépend si tu es payé si tu passes plusieurs mois à
développer ce mode, ou si tu cherches juste à te faciliter la
vie.
Dans le premier cas, on peut s'arranger. Dans le second aussi,
mais ça te coutera plus cher (personnellement, je veux dire) :-p
Si tu veux vraiment définir une grammaire exacte, tu peux
utiliser Semantic. L'avantage est qu'après, tu bénéficies
d'outils de navigation, et tu peux plus facilement coder des
outils d'insertion ou modification, puisque tu n'as plus à te
soucier de l'analyse syntaxique.
Mais ÀMHA dans ce cas, il est possible d'arriver à quelque
chose d'honnête avec quelques expressions rationnelles.
Cela dépend si tu es payé si tu passes plusieurs mois à
développer ce mode, ou si tu cherches juste à te faciliter la
vie.
Dans le premier cas, on peut s'arranger. Dans le second aussi,
mais ça te coutera plus cher (personnellement, je veux dire) :-p
Si tu veux vraiment définir une grammaire exacte, tu peux
utiliser Semantic. L'avantage est qu'après, tu bénéficies
d'outils de navigation, et tu peux plus facilement coder des
outils d'insertion ou modification, puisque tu n'as plus à te
soucier de l'analyse syntaxique.
Mais ÀMHA dans ce cas, il est possible d'arriver à quelque
chose d'honnête avec quelques expressions rationnelles.
Cela dépend si tu es payé si tu passes plusieurs mois à
développer ce mode, ou si tu cherches juste à te faciliter la
vie.
Dans le premier cas, on peut s'arranger. Dans le second aussi,
mais ça te coutera plus cher (personnellement, je veux dire) :-p
Le 20 juillet 2005 à 20:07, drkm a dit :Si tu veux vraiment définir une grammaire exacte, tu peux
utiliser Semantic.
J'aimerais bien apprendre à me servir de ce truc. Je suppose que ça doit
permettre de faire des choses assez intéressantes, cependant je manque
cruellement de maîtrise du lisp.
Peut-être qu'on arrivera à combler ça si Xavier trouve moyen d'obtenir
le manuel.
J'ai aussi cherché si je ne pouvais pas trouver la grammaire du langage
sans succès. Mais par contre il y a dans la doc Apple la description de
la syntaxe et des instructions.
Je me suis aussi intéressé aux parsers et aux grammaires. J'avais dans
l'idée d'écrire un outil (recherche d'erreurs de codage, stats,
navigation et génération de code personnalisés pour mon travail)a l'aide
d'un parser en python, mais je manque un peu de bagage sur la question.
Peut-être que ça pourrait être fait avec semantic également ?
Et je me suis demandé si avec eieio il n'y aurait pas moyen de générer
une sorte de schéma du modèle physique de données à partir d'un fichier
décrivant une base (SGBD séquentiel indexé propriétaire) dans une
syntaxe particulière...
Si tu peux fournir une assistance, je prends, évidemment :)
Le 20 juillet 2005 à 20:07, drkm a dit :
Si tu veux vraiment définir une grammaire exacte, tu peux
utiliser Semantic.
J'aimerais bien apprendre à me servir de ce truc. Je suppose que ça doit
permettre de faire des choses assez intéressantes, cependant je manque
cruellement de maîtrise du lisp.
Peut-être qu'on arrivera à combler ça si Xavier trouve moyen d'obtenir
le manuel.
J'ai aussi cherché si je ne pouvais pas trouver la grammaire du langage
sans succès. Mais par contre il y a dans la doc Apple la description de
la syntaxe et des instructions.
Je me suis aussi intéressé aux parsers et aux grammaires. J'avais dans
l'idée d'écrire un outil (recherche d'erreurs de codage, stats,
navigation et génération de code personnalisés pour mon travail)a l'aide
d'un parser en python, mais je manque un peu de bagage sur la question.
Peut-être que ça pourrait être fait avec semantic également ?
Et je me suis demandé si avec eieio il n'y aurait pas moyen de générer
une sorte de schéma du modèle physique de données à partir d'un fichier
décrivant une base (SGBD séquentiel indexé propriétaire) dans une
syntaxe particulière...
Si tu peux fournir une assistance, je prends, évidemment :)
Le 20 juillet 2005 à 20:07, drkm a dit :Si tu veux vraiment définir une grammaire exacte, tu peux
utiliser Semantic.
J'aimerais bien apprendre à me servir de ce truc. Je suppose que ça doit
permettre de faire des choses assez intéressantes, cependant je manque
cruellement de maîtrise du lisp.
Peut-être qu'on arrivera à combler ça si Xavier trouve moyen d'obtenir
le manuel.
J'ai aussi cherché si je ne pouvais pas trouver la grammaire du langage
sans succès. Mais par contre il y a dans la doc Apple la description de
la syntaxe et des instructions.
Je me suis aussi intéressé aux parsers et aux grammaires. J'avais dans
l'idée d'écrire un outil (recherche d'erreurs de codage, stats,
navigation et génération de code personnalisés pour mon travail)a l'aide
d'un parser en python, mais je manque un peu de bagage sur la question.
Peut-être que ça pourrait être fait avec semantic également ?
Et je me suis demandé si avec eieio il n'y aurait pas moyen de générer
une sorte de schéma du modèle physique de données à partir d'un fichier
décrivant une base (SGBD séquentiel indexé propriétaire) dans une
syntaxe particulière...
Si tu peux fournir une assistance, je prends, évidemment :)
> J'aimerais bien apprendre à me servir de ce truc. Je suppose que ça
> doit permettre de faire des choses assez intéressantes, cependant je
> manque cruellement de maîtrise du lisp.
Personnellement, je ne connais pas. Mais je pense que tu as
plus d'avantage à connaître ce qu'est une grammaire (et/ou Yacc
ou Bison) qu'à maîtriser l'ELisp, pour utiliser Semantic.
> Peut-être qu'on arrivera à combler ça si Xavier trouve moyen
> d'obtenir le manuel.
Heu ... ? J'ai vu qu'il avait demandé sur g.emacs ou g.e.help
après le manuel Emacs Lisp imprimé. Mais je suppose que tu
parles d'autre chose. Pour rappel, le manuel imprimé est le même
que le manuel Info (sauf qu'il doit être plus vieux, j'imagine).
Et Semantic ne fait pas partie de GNU Emacs. Le manuel est
disponible sur <URL:http://cedet.sf.net/>.
> J'ai aussi cherché si je ne pouvais pas trouver la grammaire du
> langage sans succès. Mais par contre il y a dans la doc Apple la
> description de la syntaxe et des instructions.
Donc tu as la grammaire :-).
Le tout est de la retranscrire dans une autre langue.
> Je me suis aussi intéressé aux parsers et aux grammaires. J'avais
> dans l'idée d'écrire un outil (recherche d'erreurs de codage, stats,
> navigation et génération de code personnalisés pour mon travail)a
> l'aide d'un parser en python, mais je manque un peu de bagage sur la
> question.
> Peut-être que ça pourrait être fait avec semantic également ?
Oui. C'est ce que je voulais dire en parlant de ce que tu
avais en plus si tu écrivais une grammaire Wisent. C'est que, je
pense, tu as alors en bonus la navigation, la détection d'erreurs
de syntaxe, etc.
> Et je me suis demandé si avec eieio il n'y aurait pas moyen de
> générer une sorte de schéma du modèle physique de données à partir
> d'un fichier décrivant une base (SGBD séquentiel indexé
> propriétaire) dans une syntaxe particulière...
EIEIO est une implémentation (très limitée) de CLOS. C'est à
dire du système objet de Common Lisp (pour utiliser des classes,
des objets, des méthodes, etc.).
Il peut donc servir dans la conception et l'implémentation d'un
tel outil, mais il n'est pas plus adapté pour cela que pour un
gestionnaire d'arbre généalogique ou que pour décrire les
relations entre les véhicules à roues, à pattes ou amphibies.
> Si tu peux fournir une assistance, je prends, évidemment :)
Comme d'habitude, pose tes questions précises (et moins
précises :-p), on tentera d'y répondre. Maintenant, si c'est un
poste de développeur Emacs Lisp que tu me proposes, là c'est moi
qui prend :-p.
> J'aimerais bien apprendre à me servir de ce truc. Je suppose que ça
> doit permettre de faire des choses assez intéressantes, cependant je
> manque cruellement de maîtrise du lisp.
Personnellement, je ne connais pas. Mais je pense que tu as
plus d'avantage à connaître ce qu'est une grammaire (et/ou Yacc
ou Bison) qu'à maîtriser l'ELisp, pour utiliser Semantic.
> Peut-être qu'on arrivera à combler ça si Xavier trouve moyen
> d'obtenir le manuel.
Heu ... ? J'ai vu qu'il avait demandé sur g.emacs ou g.e.help
après le manuel Emacs Lisp imprimé. Mais je suppose que tu
parles d'autre chose. Pour rappel, le manuel imprimé est le même
que le manuel Info (sauf qu'il doit être plus vieux, j'imagine).
Et Semantic ne fait pas partie de GNU Emacs. Le manuel est
disponible sur <URL:http://cedet.sf.net/>.
> J'ai aussi cherché si je ne pouvais pas trouver la grammaire du
> langage sans succès. Mais par contre il y a dans la doc Apple la
> description de la syntaxe et des instructions.
Donc tu as la grammaire :-).
Le tout est de la retranscrire dans une autre langue.
> Je me suis aussi intéressé aux parsers et aux grammaires. J'avais
> dans l'idée d'écrire un outil (recherche d'erreurs de codage, stats,
> navigation et génération de code personnalisés pour mon travail)a
> l'aide d'un parser en python, mais je manque un peu de bagage sur la
> question.
> Peut-être que ça pourrait être fait avec semantic également ?
Oui. C'est ce que je voulais dire en parlant de ce que tu
avais en plus si tu écrivais une grammaire Wisent. C'est que, je
pense, tu as alors en bonus la navigation, la détection d'erreurs
de syntaxe, etc.
> Et je me suis demandé si avec eieio il n'y aurait pas moyen de
> générer une sorte de schéma du modèle physique de données à partir
> d'un fichier décrivant une base (SGBD séquentiel indexé
> propriétaire) dans une syntaxe particulière...
EIEIO est une implémentation (très limitée) de CLOS. C'est à
dire du système objet de Common Lisp (pour utiliser des classes,
des objets, des méthodes, etc.).
Il peut donc servir dans la conception et l'implémentation d'un
tel outil, mais il n'est pas plus adapté pour cela que pour un
gestionnaire d'arbre généalogique ou que pour décrire les
relations entre les véhicules à roues, à pattes ou amphibies.
> Si tu peux fournir une assistance, je prends, évidemment :)
Comme d'habitude, pose tes questions précises (et moins
précises :-p), on tentera d'y répondre. Maintenant, si c'est un
poste de développeur Emacs Lisp que tu me proposes, là c'est moi
qui prend :-p.
> J'aimerais bien apprendre à me servir de ce truc. Je suppose que ça
> doit permettre de faire des choses assez intéressantes, cependant je
> manque cruellement de maîtrise du lisp.
Personnellement, je ne connais pas. Mais je pense que tu as
plus d'avantage à connaître ce qu'est une grammaire (et/ou Yacc
ou Bison) qu'à maîtriser l'ELisp, pour utiliser Semantic.
> Peut-être qu'on arrivera à combler ça si Xavier trouve moyen
> d'obtenir le manuel.
Heu ... ? J'ai vu qu'il avait demandé sur g.emacs ou g.e.help
après le manuel Emacs Lisp imprimé. Mais je suppose que tu
parles d'autre chose. Pour rappel, le manuel imprimé est le même
que le manuel Info (sauf qu'il doit être plus vieux, j'imagine).
Et Semantic ne fait pas partie de GNU Emacs. Le manuel est
disponible sur <URL:http://cedet.sf.net/>.
> J'ai aussi cherché si je ne pouvais pas trouver la grammaire du
> langage sans succès. Mais par contre il y a dans la doc Apple la
> description de la syntaxe et des instructions.
Donc tu as la grammaire :-).
Le tout est de la retranscrire dans une autre langue.
> Je me suis aussi intéressé aux parsers et aux grammaires. J'avais
> dans l'idée d'écrire un outil (recherche d'erreurs de codage, stats,
> navigation et génération de code personnalisés pour mon travail)a
> l'aide d'un parser en python, mais je manque un peu de bagage sur la
> question.
> Peut-être que ça pourrait être fait avec semantic également ?
Oui. C'est ce que je voulais dire en parlant de ce que tu
avais en plus si tu écrivais une grammaire Wisent. C'est que, je
pense, tu as alors en bonus la navigation, la détection d'erreurs
de syntaxe, etc.
> Et je me suis demandé si avec eieio il n'y aurait pas moyen de
> générer une sorte de schéma du modèle physique de données à partir
> d'un fichier décrivant une base (SGBD séquentiel indexé
> propriétaire) dans une syntaxe particulière...
EIEIO est une implémentation (très limitée) de CLOS. C'est à
dire du système objet de Common Lisp (pour utiliser des classes,
des objets, des méthodes, etc.).
Il peut donc servir dans la conception et l'implémentation d'un
tel outil, mais il n'est pas plus adapté pour cela que pour un
gestionnaire d'arbre généalogique ou que pour décrire les
relations entre les véhicules à roues, à pattes ou amphibies.
> Si tu peux fournir une assistance, je prends, évidemment :)
Comme d'habitude, pose tes questions précises (et moins
précises :-p), on tentera d'y répondre. Maintenant, si c'est un
poste de développeur Emacs Lisp que tu me proposes, là c'est moi
qui prend :-p.
Oui. C'est ce que je voulais dire en parlant de ce que tu
avais en plus si tu écrivais une grammaire Wisent. C'est que, je
pense, tu as alors en bonus la navigation, la détection d'erreurs
de syntaxe, etc.
Cas concret : est-ce que par exemple on pourrait facilement coder un
détecteur à coquille du style « return dans un bloc TRY/EXCEPT» ?
TRY et EXCEPT sont des macros C++ qui nous permettent d'écrire des blocs
try/catch. Or si par mégarde on sort du bloc try par un return() (ce qui
est juste syntaxiquement et qui compile) on explosera le programme à la
prochaine exception qui n'aura (murphy oblige) aucun rapport avec la
portion de code où se cache le return(). Le cas normal étant soit de
sortir par return dans la partie gestion de l'exception, ou en dehors du
bloc try s'il n'y a pas d'erreur.
> Et je me suis demandé si avec eieio il n'y aurait pas moyen de
> générer une sorte de schéma du modèle physique de données à partir
> d'un fichier décrivant une base (SGBD séquentiel indexé
> propriétaire) dans une syntaxe particulière...
EIEIO est une implémentation (très limitée) de CLOS. C'est à
dire du système objet de Common Lisp (pour utiliser des classes,
des objets, des méthodes, etc.).
Il peut donc servir dans la conception et l'implémentation d'un
tel outil, mais il n'est pas plus adapté pour cela que pour un
gestionnaire d'arbre généalogique ou que pour décrire les
relations entre les véhicules à roues, à pattes ou amphibies.
Ok. D'après la doc il m'avait semblé que c'était capable de schématiser
des classes à partir du code source. Je m'étais dit que ça pouvait
peut-être s'adapter...
Oui. C'est ce que je voulais dire en parlant de ce que tu
avais en plus si tu écrivais une grammaire Wisent. C'est que, je
pense, tu as alors en bonus la navigation, la détection d'erreurs
de syntaxe, etc.
Cas concret : est-ce que par exemple on pourrait facilement coder un
détecteur à coquille du style « return dans un bloc TRY/EXCEPT» ?
TRY et EXCEPT sont des macros C++ qui nous permettent d'écrire des blocs
try/catch. Or si par mégarde on sort du bloc try par un return() (ce qui
est juste syntaxiquement et qui compile) on explosera le programme à la
prochaine exception qui n'aura (murphy oblige) aucun rapport avec la
portion de code où se cache le return(). Le cas normal étant soit de
sortir par return dans la partie gestion de l'exception, ou en dehors du
bloc try s'il n'y a pas d'erreur.
> Et je me suis demandé si avec eieio il n'y aurait pas moyen de
> générer une sorte de schéma du modèle physique de données à partir
> d'un fichier décrivant une base (SGBD séquentiel indexé
> propriétaire) dans une syntaxe particulière...
EIEIO est une implémentation (très limitée) de CLOS. C'est à
dire du système objet de Common Lisp (pour utiliser des classes,
des objets, des méthodes, etc.).
Il peut donc servir dans la conception et l'implémentation d'un
tel outil, mais il n'est pas plus adapté pour cela que pour un
gestionnaire d'arbre généalogique ou que pour décrire les
relations entre les véhicules à roues, à pattes ou amphibies.
Ok. D'après la doc il m'avait semblé que c'était capable de schématiser
des classes à partir du code source. Je m'étais dit que ça pouvait
peut-être s'adapter...
Oui. C'est ce que je voulais dire en parlant de ce que tu
avais en plus si tu écrivais une grammaire Wisent. C'est que, je
pense, tu as alors en bonus la navigation, la détection d'erreurs
de syntaxe, etc.
Cas concret : est-ce que par exemple on pourrait facilement coder un
détecteur à coquille du style « return dans un bloc TRY/EXCEPT» ?
TRY et EXCEPT sont des macros C++ qui nous permettent d'écrire des blocs
try/catch. Or si par mégarde on sort du bloc try par un return() (ce qui
est juste syntaxiquement et qui compile) on explosera le programme à la
prochaine exception qui n'aura (murphy oblige) aucun rapport avec la
portion de code où se cache le return(). Le cas normal étant soit de
sortir par return dans la partie gestion de l'exception, ou en dehors du
bloc try s'il n'y a pas d'erreur.
> Et je me suis demandé si avec eieio il n'y aurait pas moyen de
> générer une sorte de schéma du modèle physique de données à partir
> d'un fichier décrivant une base (SGBD séquentiel indexé
> propriétaire) dans une syntaxe particulière...
EIEIO est une implémentation (très limitée) de CLOS. C'est à
dire du système objet de Common Lisp (pour utiliser des classes,
des objets, des méthodes, etc.).
Il peut donc servir dans la conception et l'implémentation d'un
tel outil, mais il n'est pas plus adapté pour cela que pour un
gestionnaire d'arbre généalogique ou que pour décrire les
relations entre les véhicules à roues, à pattes ou amphibies.
Ok. D'après la doc il m'avait semblé que c'était capable de schématiser
des classes à partir du code source. Je m'étais dit que ça pouvait
peut-être s'adapter...
[ Désolé pour le temps de réponse. ]
> TRY et EXCEPT sont des macros C++ qui nous permettent d'écrire des
> blocs try/catch. Or si par mégarde on sort du bloc try par un
> return() (ce qui est juste syntaxiquement et qui compile) on
> explosera le programme à la prochaine exception qui n'aura (murphy
> oblige) aucun rapport avec la portion de code où se cache le
> return(). Le cas normal étant soit de sortir par return dans la
> partie gestion de l'exception, ou en dehors du bloc try s'il n'y a
> pas d'erreur.
Entre parenthèses, je ne vois pas le problème avec le return
dans le bloc try. Sans t'attarder trop sur ce HS, pourrais-tu en
dire un peu plus ?
Sinon, je pense que pendant longtemps les parseurs des langages
C-like ne parsaient que les éléments en namespace-level. Mais je
pense que maintenant ils implémentent presque entièrement la
grammaire et qu'il est donc possible de faire ce que tu cherches.
C'est à dire chercher les blocs try du fichier, et pour chacun
chercher s'il contient une instruction return. Tout cela est à
vérifier du côté de Semantic.
Mais je me demande si ce genre de choses a bien sa place dans
un éditeur. Je parle évidemment du cas où tu voudrais inclure
cela comme support à la saisie (vérification pendant la rédaction
du source). S'il s'agit de choisir un outil pour implémenter ce
vérificateur (qui serait par exemple appelé dans une cible check
d'un Makefile), alors pourquoi pas.
> > > Et je me suis demandé si avec eieio il n'y aurait pas moyen de
> > > générer une sorte de schéma du modèle physique de données à
> > > partir d'un fichier décrivant une base (SGBD séquentiel indexé
> > > propriétaire) dans une syntaxe particulière...
> > EIEIO est une implémentation (très limitée) de CLOS. C'est à
> > dire du système objet de Common Lisp (pour utiliser des classes,
> > des objets, des méthodes, etc.).
> > Il peut donc servir dans la conception et l'implémentation d'un
> > tel outil, mais il n'est pas plus adapté pour cela que pour un
> > gestionnaire d'arbre généalogique ou que pour décrire les
> > relations entre les véhicules à roues, à pattes ou amphibies.
> Ok. D'après la doc il m'avait semblé que c'était capable de
> schématiser des classes à partir du code source. Je m'étais dit que
> ça pouvait peut-être s'adapter...
Si je comprend ce à quoi tu fais référence, il s'agit d'une des
premières applications de EIEIO, COGRE, capable de dessiner des
schémas en ASCII. Ou alors d'une fonctionalité de EIEIO qui
dessine l'arborescence des classes. Mais rien de bien excitant,
et surtout de spécifique à EIEIO.
Si tu donnes un exemple de fichier descripteur de DB ou sa
syntaxe, et ce à quoi tu veux arriver, on y verrait peut-être
plus clair.
[ Désolé pour le temps de réponse. ]
> TRY et EXCEPT sont des macros C++ qui nous permettent d'écrire des
> blocs try/catch. Or si par mégarde on sort du bloc try par un
> return() (ce qui est juste syntaxiquement et qui compile) on
> explosera le programme à la prochaine exception qui n'aura (murphy
> oblige) aucun rapport avec la portion de code où se cache le
> return(). Le cas normal étant soit de sortir par return dans la
> partie gestion de l'exception, ou en dehors du bloc try s'il n'y a
> pas d'erreur.
Entre parenthèses, je ne vois pas le problème avec le return
dans le bloc try. Sans t'attarder trop sur ce HS, pourrais-tu en
dire un peu plus ?
Sinon, je pense que pendant longtemps les parseurs des langages
C-like ne parsaient que les éléments en namespace-level. Mais je
pense que maintenant ils implémentent presque entièrement la
grammaire et qu'il est donc possible de faire ce que tu cherches.
C'est à dire chercher les blocs try du fichier, et pour chacun
chercher s'il contient une instruction return. Tout cela est à
vérifier du côté de Semantic.
Mais je me demande si ce genre de choses a bien sa place dans
un éditeur. Je parle évidemment du cas où tu voudrais inclure
cela comme support à la saisie (vérification pendant la rédaction
du source). S'il s'agit de choisir un outil pour implémenter ce
vérificateur (qui serait par exemple appelé dans une cible check
d'un Makefile), alors pourquoi pas.
> > > Et je me suis demandé si avec eieio il n'y aurait pas moyen de
> > > générer une sorte de schéma du modèle physique de données à
> > > partir d'un fichier décrivant une base (SGBD séquentiel indexé
> > > propriétaire) dans une syntaxe particulière...
> > EIEIO est une implémentation (très limitée) de CLOS. C'est à
> > dire du système objet de Common Lisp (pour utiliser des classes,
> > des objets, des méthodes, etc.).
> > Il peut donc servir dans la conception et l'implémentation d'un
> > tel outil, mais il n'est pas plus adapté pour cela que pour un
> > gestionnaire d'arbre généalogique ou que pour décrire les
> > relations entre les véhicules à roues, à pattes ou amphibies.
> Ok. D'après la doc il m'avait semblé que c'était capable de
> schématiser des classes à partir du code source. Je m'étais dit que
> ça pouvait peut-être s'adapter...
Si je comprend ce à quoi tu fais référence, il s'agit d'une des
premières applications de EIEIO, COGRE, capable de dessiner des
schémas en ASCII. Ou alors d'une fonctionalité de EIEIO qui
dessine l'arborescence des classes. Mais rien de bien excitant,
et surtout de spécifique à EIEIO.
Si tu donnes un exemple de fichier descripteur de DB ou sa
syntaxe, et ce à quoi tu veux arriver, on y verrait peut-être
plus clair.
[ Désolé pour le temps de réponse. ]
> TRY et EXCEPT sont des macros C++ qui nous permettent d'écrire des
> blocs try/catch. Or si par mégarde on sort du bloc try par un
> return() (ce qui est juste syntaxiquement et qui compile) on
> explosera le programme à la prochaine exception qui n'aura (murphy
> oblige) aucun rapport avec la portion de code où se cache le
> return(). Le cas normal étant soit de sortir par return dans la
> partie gestion de l'exception, ou en dehors du bloc try s'il n'y a
> pas d'erreur.
Entre parenthèses, je ne vois pas le problème avec le return
dans le bloc try. Sans t'attarder trop sur ce HS, pourrais-tu en
dire un peu plus ?
Sinon, je pense que pendant longtemps les parseurs des langages
C-like ne parsaient que les éléments en namespace-level. Mais je
pense que maintenant ils implémentent presque entièrement la
grammaire et qu'il est donc possible de faire ce que tu cherches.
C'est à dire chercher les blocs try du fichier, et pour chacun
chercher s'il contient une instruction return. Tout cela est à
vérifier du côté de Semantic.
Mais je me demande si ce genre de choses a bien sa place dans
un éditeur. Je parle évidemment du cas où tu voudrais inclure
cela comme support à la saisie (vérification pendant la rédaction
du source). S'il s'agit de choisir un outil pour implémenter ce
vérificateur (qui serait par exemple appelé dans une cible check
d'un Makefile), alors pourquoi pas.
> > > Et je me suis demandé si avec eieio il n'y aurait pas moyen de
> > > générer une sorte de schéma du modèle physique de données à
> > > partir d'un fichier décrivant une base (SGBD séquentiel indexé
> > > propriétaire) dans une syntaxe particulière...
> > EIEIO est une implémentation (très limitée) de CLOS. C'est à
> > dire du système objet de Common Lisp (pour utiliser des classes,
> > des objets, des méthodes, etc.).
> > Il peut donc servir dans la conception et l'implémentation d'un
> > tel outil, mais il n'est pas plus adapté pour cela que pour un
> > gestionnaire d'arbre généalogique ou que pour décrire les
> > relations entre les véhicules à roues, à pattes ou amphibies.
> Ok. D'après la doc il m'avait semblé que c'était capable de
> schématiser des classes à partir du code source. Je m'étais dit que
> ça pouvait peut-être s'adapter...
Si je comprend ce à quoi tu fais référence, il s'agit d'une des
premières applications de EIEIO, COGRE, capable de dessiner des
schémas en ASCII. Ou alors d'une fonctionalité de EIEIO qui
dessine l'arborescence des classes. Mais rien de bien excitant,
et surtout de spécifique à EIEIO.
Si tu donnes un exemple de fichier descripteur de DB ou sa
syntaxe, et ce à quoi tu veux arriver, on y verrait peut-être
plus clair.