Blame src/cmd/ksh93/data/lexstates.c

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";