Je travaille sur un shell, un petit shell de type bash, sans script (si tout le temps ...) Je dois faire le lexer/parser (LL) par main.Comment écrire un lexer (shell) à la main
Ainsi, le lexer transformera la commande (char * cmd) à une liste chaînée (t_list * Liste). Et l'analyseur LL transformera la liste chaînée (de t_list * Liste) à un AST (arbre binaire t_btree * racine) avec un So grammar
, je sais comment faire l'analyseur LL mais je n » Je sais comment symboliser ma commande.
Par exemple: ps | grep ls >> file ; make && ./a.out
=>'ps' '|' 'grep' 'ls' '>>' 'file' ';' ''make '&&' './a.out'
Merci.
(Je ne veux pas utiliser tout générateur)
qu'est-ce que vous avez à ce jour? où es-tu coincé? – Mat
Depuis que vous l'avez marqué comme 'C simple', il semble que vous devriez viser une boucle sur la chaîne de commande en utilisant des appels répétés à 'strchr (cmd, '')' ou quelque chose de cette nature. – phooji
'switch/case' machine à états? – Spudd86