es                272 user/sh.c      gettoken(char **ps, char *es, char **q, char **eq)
es                278 user/sh.c        while(s < es && strchr(whitespace, *s))
es                303 user/sh.c          while(s < es && !strchr(whitespace, *s) && !strchr(symbols, *s))
es                310 user/sh.c        while(s < es && strchr(whitespace, *s))
es                317 user/sh.c      peek(char **ps, char *es, char *toks)
es                322 user/sh.c        while(s < es && strchr(whitespace, *s))
es                336 user/sh.c        char *es;
es                339 user/sh.c        es = s + strlen(s);
es                340 user/sh.c        cmd = parseline(&s, es);
es                341 user/sh.c        peek(&s, es, "");
es                342 user/sh.c        if(s != es){
es                351 user/sh.c      parseline(char **ps, char *es)
es                355 user/sh.c        cmd = parsepipe(ps, es);
es                356 user/sh.c        while(peek(ps, es, "&")){
es                357 user/sh.c          gettoken(ps, es, 0, 0);
es                360 user/sh.c        if(peek(ps, es, ";")){
es                361 user/sh.c          gettoken(ps, es, 0, 0);
es                362 user/sh.c          cmd = listcmd(cmd, parseline(ps, es));
es                368 user/sh.c      parsepipe(char **ps, char *es)
es                372 user/sh.c        cmd = parseexec(ps, es);
es                373 user/sh.c        if(peek(ps, es, "|")){
es                374 user/sh.c          gettoken(ps, es, 0, 0);
es                375 user/sh.c          cmd = pipecmd(cmd, parsepipe(ps, es));
es                381 user/sh.c      parseredirs(struct cmd *cmd, char **ps, char *es)
es                386 user/sh.c        while(peek(ps, es, "<>")){
es                387 user/sh.c          tok = gettoken(ps, es, 0, 0);
es                388 user/sh.c          if(gettoken(ps, es, &q, &eq) != 'a')
es                406 user/sh.c      parseblock(char **ps, char *es)
es                410 user/sh.c        if(!peek(ps, es, "("))
es                412 user/sh.c        gettoken(ps, es, 0, 0);
es                413 user/sh.c        cmd = parseline(ps, es);
es                414 user/sh.c        if(!peek(ps, es, ")"))
es                416 user/sh.c        gettoken(ps, es, 0, 0);
es                417 user/sh.c        cmd = parseredirs(cmd, ps, es);
es                422 user/sh.c      parseexec(char **ps, char *es)
es                429 user/sh.c        if(peek(ps, es, "("))
es                430 user/sh.c          return parseblock(ps, es);
es                436 user/sh.c        ret = parseredirs(ret, ps, es);
es                437 user/sh.c        while(!peek(ps, es, "|)&;")){
es                438 user/sh.c          if((tok=gettoken(ps, es, &q, &eq)) == 0)
es                447 user/sh.c          ret = parseredirs(ret, ps, es);