Displaying 5 results from an estimated 5 matches for "chkalia".
Did you mean:
chkalias
2019 Jan 25
0
[klibc:update-dash] [PARSER] Simplify EOF/newline handling in list parser
...teract;
if (doprompt)
setprompt(doprompt);
needprompt = 0;
- t = readtoken();
- if (t == TEOF)
- return NEOF;
- if (t == TNL)
- return NULL;
- tokpushback++;
return list(1);
}
@@ -158,11 +152,27 @@ list(int nlflag)
union node *n1, *n2, *n3;
int tok;
- checkkwd = CHKNL | CHKKWD | CHKALIAS;
- if (nlflag == 2 && tokendlist[peektoken()])
- return NULL;
n1 = NULL;
for (;;) {
+ switch (peektoken()) {
+ case TNL:
+ if (!(nlflag & 1))
+ break;
+ parseheredoc();
+ return n1;
+
+ case TEOF:
+ if (!n1 && (nlflag & 1))
+ n1 = NEOF;
+ parseheredo...
2020 Mar 28
0
[klibc:update-dash] dash: [PARSER] Simplify EOF/newline handling in list parser
...teract;
if (doprompt)
setprompt(doprompt);
needprompt = 0;
- t = readtoken();
- if (t == TEOF)
- return NEOF;
- if (t == TNL)
- return NULL;
- tokpushback++;
return list(1);
}
@@ -158,11 +152,27 @@ list(int nlflag)
union node *n1, *n2, *n3;
int tok;
- checkkwd = CHKNL | CHKKWD | CHKALIAS;
- if (nlflag == 2 && tokendlist[peektoken()])
- return NULL;
n1 = NULL;
for (;;) {
+ switch (peektoken()) {
+ case TNL:
+ if (!(nlflag & 1))
+ break;
+ parseheredoc();
+ return n1;
+
+ case TEOF:
+ if (!n1 && (nlflag & 1))
+ n1 = NEOF;
+ parseheredo...
2020 Mar 28
0
[klibc:update-dash] dash: parser: Do not push token back before parseheredoc
...itch (readtoken()) {
case TNL:
if (!(nlflag & 1))
break;
@@ -177,9 +177,12 @@ list(int nlflag)
if (!n1 && (nlflag & 1))
n1 = NEOF;
parseheredoc();
+ tokpushback++;
+ lasttoken = TEOF;
return n1;
}
+ tokpushback++;
checkkwd = CHKNL | CHKKWD | CHKALIAS;
if (nlflag == 2 && tokendlist[peektoken()])
return n1;
2019 Jan 25
0
[klibc:update-dash] input: Move all input state into parsefile
...+ parsefile->nleft = len;
INTON;
}
@@ -365,7 +339,8 @@ popstring(void)
INTOFF;
if (sp->ap) {
- if (parsenextc[-1] == ' ' || parsenextc[-1] == '\t') {
+ if (parsefile->nextc[-1] == ' ' ||
+ parsefile->nextc[-1] == '\t') {
checkkwd |= CHKALIAS;
}
if (sp->string != sp->ap->val) {
@@ -376,8 +351,8 @@ popstring(void)
unalias(sp->ap->name);
}
}
- parsenextc = sp->prevstring;
- parsenleft = sp->prevnleft;
+ parsefile->nextc = sp->prevstring;
+ parsefile->nleft = sp->prevnleft;
/*dprintf("...
2020 Mar 28
0
[klibc:update-dash] dash: input: Move all input state into parsefile
...+ parsefile->nleft = len;
INTON;
}
@@ -365,7 +339,8 @@ popstring(void)
INTOFF;
if (sp->ap) {
- if (parsenextc[-1] == ' ' || parsenextc[-1] == '\t') {
+ if (parsefile->nextc[-1] == ' ' ||
+ parsefile->nextc[-1] == '\t') {
checkkwd |= CHKALIAS;
}
if (sp->string != sp->ap->val) {
@@ -376,8 +351,8 @@ popstring(void)
unalias(sp->ap->name);
}
}
- parsenextc = sp->prevstring;
- parsenleft = sp->prevnleft;
+ parsefile->nextc = sp->prevstring;
+ parsefile->nleft = sp->prevnleft;
/*dprintf("...