|
Packit Service |
a8c26c |
/***********************************************************************
|
|
Packit Service |
a8c26c |
* *
|
|
Packit Service |
a8c26c |
* This software is part of the ast package *
|
|
Packit Service |
a8c26c |
* Copyright (c) 1982-2011 AT&T Intellectual Property *
|
|
Packit Service |
a8c26c |
* and is licensed under the *
|
|
Packit Service |
a8c26c |
* Eclipse Public License, Version 1.0 *
|
|
Packit Service |
a8c26c |
* by AT&T Intellectual Property *
|
|
Packit Service |
a8c26c |
* *
|
|
Packit Service |
a8c26c |
* A copy of the License is available at *
|
|
Packit Service |
a8c26c |
* http://www.eclipse.org/org/documents/epl-v10.html *
|
|
Packit Service |
a8c26c |
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
|
|
Packit Service |
a8c26c |
* *
|
|
Packit Service |
a8c26c |
* Information and Software Systems Research *
|
|
Packit Service |
a8c26c |
* AT&T Research *
|
|
Packit Service |
a8c26c |
* Florham Park NJ *
|
|
Packit Service |
a8c26c |
* *
|
|
Packit Service |
a8c26c |
* David Korn <dgk@research.att.com> *
|
|
Packit Service |
a8c26c |
* *
|
|
Packit Service |
a8c26c |
***********************************************************************/
|
|
Packit Service |
a8c26c |
#pragma prototyped
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
#include <ast.h>
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
#include "FEATURE/options"
|
|
Packit Service |
a8c26c |
#include "lexstates.h"
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
/*
|
|
Packit Service |
a8c26c |
* This is the initial state for tokens
|
|
Packit Service |
a8c26c |
*/
|
|
Packit Service |
a8c26c |
static const char sh_lexstate0[256] =
|
|
Packit Service |
a8c26c |
{
|
|
Packit Service |
a8c26c |
S_EOF, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
#if SHOPT_CRNL
|
|
Packit Service |
a8c26c |
S_REG, 0, S_NLTOK,S_REG, S_REG, 0, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
#else
|
|
Packit Service |
a8c26c |
S_REG, 0, S_NLTOK,S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
#endif /* SHOPT_CRNL */
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
0, S_REG, S_REG, S_COM, S_REG, S_REG, S_OP, S_REG,
|
|
Packit Service |
a8c26c |
S_OP, S_OP, S_REG, S_REG, S_REG, S_REG, S_NAME, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_OP, S_OP, S_REG, S_OP, S_REG,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_REG, S_NAME, S_NAME, S_NAME, S_NAME, S_NAME, S_NAME, S_NAME,
|
|
Packit Service |
a8c26c |
S_NAME, S_NAME, S_NAME, S_NAME, S_NAME, S_NAME, S_NAME, S_NAME,
|
|
Packit Service |
a8c26c |
S_NAME, S_NAME, S_NAME, S_NAME, S_NAME, S_NAME, S_NAME, S_NAME,
|
|
Packit Service |
a8c26c |
S_NAME, S_NAME, S_NAME, S_REG, S_REG, S_REG, S_REG, S_NAME,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_REG, S_NAME, S_NAME, S_RES, S_RES, S_RES, S_RES, S_NAME,
|
|
Packit Service |
a8c26c |
#if SHOPT_NAMESPACE
|
|
Packit Service |
a8c26c |
S_NAME, S_RES, S_NAME, S_NAME, S_NAME, S_NAME, S_RES, S_NAME,
|
|
Packit Service |
a8c26c |
#else
|
|
Packit Service |
a8c26c |
S_NAME, S_RES, S_NAME, S_NAME, S_NAME, S_NAME, S_NAME, S_NAME,
|
|
Packit Service |
a8c26c |
#endif /* SHOPT_NAMESPACE */
|
|
Packit Service |
a8c26c |
S_NAME, S_NAME, S_NAME, S_RES, S_RES, S_RES, S_NAME, S_RES,
|
|
Packit Service |
a8c26c |
S_NAME, S_NAME, S_NAME, S_BRACE,S_OP, S_BRACE,S_TILDE,S_REG,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
};
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
/*
|
|
Packit Service |
a8c26c |
* This state is for identifiers
|
|
Packit Service |
a8c26c |
*/
|
|
Packit Service |
a8c26c |
static const char sh_lexstate1[256] =
|
|
Packit Service |
a8c26c |
{
|
|
Packit Service |
a8c26c |
S_EOF, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
#if SHOPT_CRNL
|
|
Packit Service |
a8c26c |
S_REG, S_BREAK,S_BREAK,S_REG, S_REG, S_BREAK,S_REG, S_REG,
|
|
Packit Service |
a8c26c |
#else
|
|
Packit Service |
a8c26c |
S_REG, S_BREAK,S_BREAK,S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
#endif /* SHOPT_CRNL */
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_BREAK,S_EPAT, S_QUOTE,S_REG, S_DOL, S_EPAT, S_BREAK,S_LIT,
|
|
Packit Service |
a8c26c |
S_BREAK,S_BREAK,S_PAT, S_EPAT, S_REG, S_EPAT, S_DOT, S_REG,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, S_LABEL,S_BREAK,S_BREAK,S_EQ, S_BREAK,S_PAT,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_EPAT, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, S_BRACT,S_ESC, S_REG, S_REG, 0,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_GRAVE,0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, S_BRACE,S_BREAK,S_BRACE,S_EPAT, S_REG,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG, S_REG,
|
|
Packit Service |
a8c26c |
};
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
static const char sh_lexstate2[256] =
|
|
Packit Service |
a8c26c |
{
|
|
Packit Service |
a8c26c |
S_EOF, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
#if SHOPT_CRNL
|
|
Packit Service |
a8c26c |
0, S_BREAK,S_BREAK,0, 0, S_BREAK,0, 0,
|
|
Packit Service |
a8c26c |
#else
|
|
Packit Service |
a8c26c |
0, S_BREAK,S_BREAK,0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
#endif /* SHOPT_CRNL */
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_BREAK,S_EPAT, S_QUOTE,0, S_DOL, S_EPAT, S_BREAK,S_LIT,
|
|
Packit Service |
a8c26c |
S_BREAK,S_BREAK,S_PAT, S_EPAT, 0, S_EPAT, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, S_COLON,S_BREAK,S_BREAK,0, S_BREAK,S_PAT,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_EPAT, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, S_PAT, S_ESC, 0, 0, 0,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_GRAVE,0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, S_BRACE,S_BREAK,S_BRACE,S_EPAT, 0,
|
|
Packit Service |
a8c26c |
};
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
/*
|
|
Packit Service |
a8c26c |
* for skipping over '...'
|
|
Packit Service |
a8c26c |
*/
|
|
Packit Service |
a8c26c |
static const char sh_lexstate3[256] =
|
|
Packit Service |
a8c26c |
{
|
|
Packit Service |
a8c26c |
S_EOF, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, S_NL, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, S_LIT,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, S_ESC2, 0, 0, 0
|
|
Packit Service |
a8c26c |
};
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
/*
|
|
Packit Service |
a8c26c |
* for skipping over "..." and `...`
|
|
Packit Service |
a8c26c |
*/
|
|
Packit Service |
a8c26c |
static const char sh_lexstate4[256] =
|
|
Packit Service |
a8c26c |
{
|
|
Packit Service |
a8c26c |
S_EOF, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, S_NL, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, S_QUOTE,0, S_DOL, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, S_ESC, 0, 0, 0,
|
|
Packit Service |
a8c26c |
S_GRAVE,0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, S_RBRA, 0, 0
|
|
Packit Service |
a8c26c |
};
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
/*
|
|
Packit Service |
a8c26c |
* for skipping over ?(...), [...]
|
|
Packit Service |
a8c26c |
*/
|
|
Packit Service |
a8c26c |
static const char sh_lexstate5[256] =
|
|
Packit Service |
a8c26c |
{
|
|
Packit Service |
a8c26c |
S_EOF, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, S_BLNK, S_NL, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
S_BLNK, 0, S_QUOTE,0, S_DOL, 0, S_META, S_LIT,
|
|
Packit Service |
a8c26c |
S_PUSH, S_POP, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, S_POP, S_META, 0, S_META, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, S_BRACT,S_ESC, S_POP, 0, 0,
|
|
Packit Service |
a8c26c |
S_GRAVE,0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, S_BRACE,S_META, S_POP, S_TILDE,0
|
|
Packit Service |
a8c26c |
};
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
/*
|
|
Packit Service |
a8c26c |
* Defines valid expansion characters
|
|
Packit Service |
a8c26c |
*/
|
|
Packit Service |
a8c26c |
static const char sh_lexstate6[256] =
|
|
Packit Service |
a8c26c |
{
|
|
Packit Service |
a8c26c |
S_EOF, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_ERR, S_SPC1, S_ERR, S_SPC1, S_SPC2, S_ERR, S_ERR, S_LIT,
|
|
Packit Service |
a8c26c |
S_PAR, S_ERR, S_SPC2, S_ERR, S_ERR, S_SPC2, S_ALP, S_ERR,
|
|
Packit Service |
a8c26c |
S_DIG, S_DIG, S_DIG, S_DIG, S_DIG, S_DIG, S_DIG, S_DIG,
|
|
Packit Service |
a8c26c |
S_DIG, S_DIG, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_SPC2,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
#if SHOPT_TYPEDEF
|
|
Packit Service |
a8c26c |
S_SPC1, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP,
|
|
Packit Service |
a8c26c |
#else
|
|
Packit Service |
a8c26c |
S_SPC2, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP,
|
|
Packit Service |
a8c26c |
#endif
|
|
Packit Service |
a8c26c |
S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP,
|
|
Packit Service |
a8c26c |
S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP,
|
|
Packit Service |
a8c26c |
S_ALP, S_ALP, S_ALP, S_ERR, S_ERR, S_ERR, S_ERR, S_ALP,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_ERR, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP,
|
|
Packit Service |
a8c26c |
S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP,
|
|
Packit Service |
a8c26c |
S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP, S_ALP,
|
|
Packit Service |
a8c26c |
S_ALP, S_ALP, S_ALP, S_LBRA, S_ERR, S_RBRA, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
};
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
/*
|
|
Packit Service |
a8c26c |
* for skipping over ${...} until modifier
|
|
Packit Service |
a8c26c |
*/
|
|
Packit Service |
a8c26c |
static const char sh_lexstate7[256] =
|
|
Packit Service |
a8c26c |
{
|
|
Packit Service |
a8c26c |
S_EOF, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_MOD2, S_ERR, S_MOD2, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_MOD1, S_MOD1, S_ERR, S_MOD1, S_DOT, S_MOD2,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, S_MOD1, S_ERR, S_ERR, S_MOD1, S_ERR, S_MOD1,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, S_BRACT,S_ESC, S_ERR, S_ERR, 0,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_ERR, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, S_ERR, S_ERR, S_POP, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR, S_ERR,
|
|
Packit Service |
a8c26c |
};
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
/*
|
|
Packit Service |
a8c26c |
* This state is for $name
|
|
Packit Service |
a8c26c |
*/
|
|
Packit Service |
a8c26c |
static const char sh_lexstate8[256] =
|
|
Packit Service |
a8c26c |
{
|
|
Packit Service |
a8c26c |
S_EOF, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_EDOL, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, S_EDOL, S_EDOL, S_EDOL, S_EDOL, 0,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_EDOL,0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL, S_EDOL,
|
|
Packit Service |
a8c26c |
};
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
/*
|
|
Packit Service |
a8c26c |
* This is used for macro expansion
|
|
Packit Service |
a8c26c |
*/
|
|
Packit Service |
a8c26c |
static const char sh_lexstate9[256] =
|
|
Packit Service |
a8c26c |
{
|
|
Packit Service |
a8c26c |
S_EOF, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, S_QUOTE,0, S_DOL, 0, S_PAT, S_LIT,
|
|
Packit Service |
a8c26c |
S_PAT, S_PAT, S_PAT, 0, S_COM, 0, S_DOT, S_SLASH,
|
|
Packit Service |
a8c26c |
S_DIG, S_DIG, S_DIG, S_DIG, S_DIG, S_DIG, S_DIG, S_DIG,
|
|
Packit Service |
a8c26c |
S_DIG, S_DIG, S_COLON,0, 0, S_EQ, 0, S_PAT,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, S_BRACT,S_ESC, S_ENDCH,0, 0,
|
|
Packit Service |
a8c26c |
S_GRAVE,0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
a8c26c |
#if SHOPT_BRACEPAT
|
|
Packit Service |
a8c26c |
0, 0, 0, S_BRACE,S_PAT, S_ENDCH,0, 0
|
|
Packit Service |
a8c26c |
#else
|
|
Packit Service |
a8c26c |
0, 0, 0, 0, S_PAT, S_ENDCH,0, 0
|
|
Packit Service |
a8c26c |
#endif /* SHOPT_BRACEPAT */
|
|
Packit Service |
a8c26c |
};
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
const char *sh_lexrstates[ST_NONE] =
|
|
Packit Service |
a8c26c |
{
|
|
Packit Service |
a8c26c |
sh_lexstate0, sh_lexstate1, sh_lexstate2, sh_lexstate3,
|
|
Packit Service |
a8c26c |
sh_lexstate4, sh_lexstate5, sh_lexstate6, sh_lexstate7,
|
|
Packit Service |
a8c26c |
sh_lexstate8, sh_lexstate9, sh_lexstate5
|
|
Packit Service |
a8c26c |
};
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
|
|
Packit Service |
a8c26c |
const char e_lexversion[] = "%d: invalid binary script version";
|
|
Packit Service |
a8c26c |
const char e_lexspace[] = "line %d: use space or tab to separate operators %c and %c";
|
|
Packit Service |
a8c26c |
const char e_lexslash[] = "line %d: $ not preceded by \\";
|
|
Packit Service |
a8c26c |
const char e_lexsyntax1[] = "syntax error at line %d: `%s' %s";
|
|
Packit Service |
a8c26c |
const char e_lexsyntax2[] = "syntax error: `%s' %s";
|
|
Packit Service |
a8c26c |
const char e_lexsyntax3[] = "syntax error at line %d: duplicate label %s";
|
|
Packit Service |
a8c26c |
const char e_lexsyntax4[] = "syntax error at line %d: invalid reference list";
|
|
Packit Service |
a8c26c |
const char e_lexsyntax5[] = "syntax error at line %d: `<<%s' here-document not contained within command substitution";
|
|
Packit Service |
a8c26c |
const char e_lexwarnvar[] = "line %d: variable expansion makes arithmetic evaluation less efficient";
|
|
Packit Service |
a8c26c |
const char e_lexlabignore[] = "line %d: label %s ignored";
|
|
Packit Service |
a8c26c |
const char e_lexlabunknown[] = "line %d: %s unknown label";
|
|
Packit Service |
a8c26c |
const char e_lexobsolete1[] = "line %d: `...` obsolete, use $(...)";
|
|
Packit Service |
a8c26c |
const char e_lexobsolete2[] = "line %d: -a obsolete, use -e";
|
|
Packit Service |
a8c26c |
const char e_lexobsolete3[] = "line %d: '=' obsolete, use '=='";
|
|
Packit Service |
a8c26c |
const char e_lexobsolete4[] = "line %d: %s within [[...]] obsolete, use ((...))";
|
|
Packit Service |
a8c26c |
const char e_lexobsolete5[] = "line %d: set %s obsolete";
|
|
Packit Service |
a8c26c |
const char e_lexobsolete6[] = "line %d: `{' instead of `in' is obsolete";
|
|
Packit Service |
a8c26c |
const char e_lexnonstandard[] = "line %d: `&>file' is nonstandard -- interpreted as `>file 2>&1' for profile input only";
|
|
Packit Service |
a8c26c |
const char e_lexusebrace[] = "line %d: use braces to avoid ambiguities with $id[...]";
|
|
Packit Service |
a8c26c |
const char e_lexusequote[] = "line %d: %c within ${} should be quoted";
|
|
Packit Service |
a8c26c |
const char e_lexescape[] = "line %d: escape %c to avoid ambiguities";
|
|
Packit Service |
a8c26c |
const char e_lexquote[] = "line %d: quote %c to avoid ambiguities";
|
|
Packit Service |
a8c26c |
const char e_lexnested[] = "line %d: spaces required for nested subshell";
|
|
Packit Service |
a8c26c |
const char e_lexbadchar[] = "%c: invalid character in expression - %s";
|
|
Packit Service |
a8c26c |
const char e_lexfuture[] = "line %d: \\ in front of %c reserved for future use";
|
|
Packit Service |
a8c26c |
const char e_lexlongquote[] = "line %d: %c quote may be missing";
|
|
Packit Service |
a8c26c |
const char e_lexzerobyte[] = "zero byte";
|
|
Packit Service |
a8c26c |
const char e_lexemptyfor[] = "line %d: empty for list";
|
|
Packit Service |
a8c26c |
const char e_lextypeset[] = "line %d: %s invalid typeset option order";
|
|
Packit Service |
a8c26c |
const char e_lexcharclass[] = "line %d: '^' as first character in character class not portable";
|