Skip to content

Latest commit

 

History

History
76 lines (50 loc) · 1.52 KB

README.md

File metadata and controls

76 lines (50 loc) · 1.52 KB

42sh

PARTIE STATUE BUG report
ED Line DONE
PLexer DONE
globbing en cours
exec en cours
builtins en cours

test sous-shell& accolade

.() := sous-shell . n'applieque pqs les changements au shell . child scope

.{} := accolade .applique les changements au shell .current scope (pas de fork); {cmd;} -> erreur parse ne check ni avant ni apres {cmd} -> envoie la commande avec accolade {esp -> tok ouvrant ;} -> tok fermant si {esp sans ;} no tokken

.&& .|| := et - ou .() -> check la derniere sortie d'execution si ; .{} -> check la derniere sortie d'execution si ;

.`` := basktickquote .cmd1 cmd2 -> cmd1 -> arg(resul cmd2)

. lexer_parser.h

.in & out .in + << + eof --> stdout: Bad file descriptor;

>  >> -> in, no out;
<  << -> (no in ?), no out, (in a voir)
&& || | -> no in no out
>& <& -> in, out

bash-3.2$ ls 2147483648>la bash: file descriptor out of range: Bad file descriptor bash-3.2$ ls 2147483647>la bash: 2147483647: Bad file descriptor

cmd'cmd'cdm |cmd<>
cmd'cmd' cmd
'cmd'cmd cmd
'cmd'cmd|
'cmd' cmd

$(cmd)|cmd -> no


>, <, ||, && --> pas de out

// opts -> chaine d'options dans define // args -> arguments au builtins (options incluses) // au retour, opt[0] contient soit le code d'erreur, soit la position dans args // de la fin des options. //int *ft_opt_parse(char *opts, char **args, size_t overwrite) #define UNSET_OPT "iu" -> opt{pos/code erreur, 1/0, 1/0} exemple opt[1] -> 1