/* Array indicating which tokens mark the end of a list */ static const char tokendlist[] = { 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, }; static const char *const tokname[] = { "end of file", "newline", "\";\"", "\"&\"", "\"&&\"", "\"||\"", "\"|\"", "\"(\"", "\")\"", "\";;\"", "\"`\"", "redirection", "word", "\"!\"", "\"case\"", "\"do\"", "\"done\"", "\"elif\"", "\"else\"", "\"esac\"", "\"fi\"", "\"for\"", "\"if\"", "\"in\"", "\"then\"", "\"until\"", "\"while\"", "\"{\"", "\"}\"", }; #define KWDOFFSET 13 static const char *const parsekwd[] = { "!", "case", "do", "done", "elif", "else", "esac", "fi", "for", "if", "in", "then", "until", "while", "{", "}" };