Pages : 1
#1 Le 24/10/2006, à 00:37
- gene69
[résolu][Compilation]Shell
Est ce que quelqu'un connait quelquechose sur la création d'un shell? (calqué sur bash 3)
je suis en panne de mot clefs
Dernière modification par gene69 (Le 24/10/2006, à 17:27)
Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion
Hors ligne
#2 Le 24/10/2006, à 02:04
- foobar2000
Re : [résolu][Compilation]Shell
Tu veux dire que tu cherches a recoder un shell ?
Aucun rapport avec le logiciel du même nom.
Hors ligne
#3 Le 24/10/2006, à 08:44
- gene69
Re : [résolu][Compilation]Shell
ouaip
Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion
Hors ligne
#4 Le 24/10/2006, à 14:46
- baltimore
Re : [résolu][Compilation]Shell
Est ce que quelqu'un connait quelquechose sur la création d'un shell? (calqué sur bash 3)
je suis en panne de mot clefs
Ce projet est un projet mythique dans mon école et donc je l'ai moi même fait
Il faut considérer plusieurs parties au shell :
- Tout d'abord, il s'agit de faire un lexer/parser, qui va servir à vérifier que ta ligne de commande ne contient pas de lexical error (caractère invalide) ou de syntax error (suite de mots invalide ex : if then echo toto; fi). Pour cela, il est très conseillé, voir indispensable de construire l'AST (Abstract Syntax Tree) correspondant.
Avec cet AST, tu vas pouvoir appeller récursivement les commandes étant donné que tu utilises une structure de données d'arbre.
Pour le construire, il faut considérer les mots spéciaux, ici par exemple : '|' , ';' , '&', 'if', 'then', etc...
- Ensuite il s'agit de coder les fonctions pour les caractères spéciaux (par exemple pour le pipe, ta fonction comportera des fork, pour une commande simple, un appel aux execv* ou pas si c'est une built-in)
Beaucoup de choses sont à gérer : la gestion des processus, l'arithmétique $(()), toutes les built-ins.
Il s'agit de bien réfléchir avant de commencer pour n'avoir qu'à ajouter des fonctionnalités à ton Shell.
Je t'ai donné un Topo rapide, si tu as d'autres questions, continue ce thread.
Bon courage
Baltimore ~~ Secrétaire de l'association Prologin
Prologin ~~ Concours National d'Informatique ~~ www.prologin.org
Hors ligne
#5 Le 24/10/2006, à 17:23
- gene69
Re : [résolu][Compilation]Shell
Merci... c'est plus détaillé que ce que je voulais.
je vais passé résolu.
Concours prologin... Je connais quelqu'un qui l'a gagné. Et je vais le voir en action le 7 novembre...
Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion
Hors ligne
#6 Le 24/10/2006, à 23:33
- foobar2000
Re : [résolu][Compilation]Shell
Si tu veux plus de detail encore y a ceci http://opengroup.org/onlinepubs/0079087 … ellix.html.
Aucun rapport avec le logiciel du même nom.
Hors ligne
Pages : 1