Lines Matching defs:start
391 // at this point for [n]<word s = start of [n], ss = start of <, sss = word
520 static char *parse_word(char *start)
523 char *end = start, *s;
525 // (( is a special quote at the start of a word
549 else return start+1;
579 if (s != end) return (end == start) ? s : end;
585 // start new quote context?
700 char *start = line, *delete = 0, *end, *last = 0, *s, *ex, done = 0;
711 delete = start = xmprintf("%s%s", arg->v[arg->c = (-arg->c)-1], start);
729 start = 0;
736 if (start) for (;;) {
768 if (isspace(*start)) ++start;
769 else if (*start=='#') while (*start && *start != '\n') ++start;
774 if ((end = parse_word(start)) == (void *)1)
788 arg->v[arg->c] = xstrndup(start, strlen(start));
798 // ) is only saved at start of a statement, ends current statement
799 if (end == start || (arg->c && *start == ')' && pl->type!='f')) {
817 if (end == start) done++;
825 s = arg->v[arg->c] = xstrndup(start, end-start);
826 start = end;
898 // start of a new block?
922 // Did we start a new statement?
986 // Don't need more input, can start executing.
1034 struct sh_pipeline *start, *end;
1046 //dprintf(2, "s=%s %s %d %s %d\n", s, ss, pl->type, blk ? blk->start->arg->v[0] : "X", blk ? blk->run : 0);
1064 pl = blk->start;
1086 if (!blk || blk->start != pl) {
1100 blk->start = pl;
1136 // gearshift from block start to block body
1143 ss = *blk->start->arg->v;
1161 pl = blk->start;