]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(sh): Fix various syntax highlighting problems in ksh93 scripts
authorJohnothan King <johnothanking@protonmail.com>
Wed, 21 May 2025 19:21:14 +0000 (21:21 +0200)
committerChristian Brabandt <cb@256bit.org>
Wed, 21 May 2025 19:21:14 +0000 (21:21 +0200)
- Fixed syntax highlighting for ksh93 namespace variables starting
  with '${.'
- Added support for the alarm, eloop, fds, mkservice, pids, poll and
  sha2sum builtins (which are indeed ksh93 builtins, albeit whether or
  not they are available depends on the ksh release and the compiled
  SHOPT options).
- Added support for the many Unix commands provided by ksh93's libcmd
  as builtin commands (since these are general commands, scripts for
  other shells like bash will also highlight these).
  - The dumps for the sh_0{2,5,6,8,9}.sh were recreated due to this
    change affecting commands those scripts call (e.g. 'wc').
- Enabled ${parameter/pattern/string} and friends for ksh syntax.
- Enabled case modification for ksh. See also:
  https://github.com/ksh93/ksh/commit/c1762e03
- Enabled ;;& support for ksh. See also:
  https://github.com/ksh93/ksh/commit/fc89d20a
- Added many special ksh variables using 93u+m's data/variables.c
  as a reference.

If vim can't figure out which ksh release is in play using e.g.
the hashbang path, in such a case a generic default that enables
everything and the kitchen sink will be used. Otherwise, features will
be disabled if it's absolutely known a certain feature will not be
present. Examples:
   - ERRNO is ksh88 specific, so that is locked to ksh88.
   - Only 93u+m (assumed for generic) has SRANDOM, and only 93u+m
     and 93v- have case modification support.
   - 93u+ and 93v- have VPATH and CSWIDTH variables (the latter
     is vestigal, but still present in the hardcoded variable table).
   - 93v- and ksh2020 have (buggy and near unusable) implementations
     of compgen and complete.
   - Only mksh provides function substitutions, i.e. ${|command;}.

This took the better part of my day to implement. It seems to work well
enough though. (Also had to regenerate the dumps again while testing
it, as now there are dup scripts with mere hashbang differences, used
solely for testing syntax highlighting differences.)

closes: #17348

Signed-off-by: Johnothan King <johnothanking@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
96 files changed:
runtime/doc/syntax.txt
runtime/syntax/sh.vim
runtime/syntax/testdir/dumps/ksh2020_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh2020_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh2020_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh2020_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh2020_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh2020_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh2020_06.dump [moved from runtime/syntax/testdir/dumps/sh_10_00.dump with 64% similarity]
runtime/syntax/testdir/dumps/ksh2020_07.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh2020_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh2020_09.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh88_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh88_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh88_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh88_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh88_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh88_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh88_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh88_07.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh88_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh88_09.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93_generic_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93_generic_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93_generic_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93_generic_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93_generic_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93_generic_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93_generic_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93_generic_07.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93_generic_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93_generic_09.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93u_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93u_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93u_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93u_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93u_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93u_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93u_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93u_07.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93u_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93u_09.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93v_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93v_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93v_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93v_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93v_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93v_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93v_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93v_07.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93v_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh93v_09.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh_generic_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh_generic_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh_generic_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh_generic_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh_generic_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh_generic_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh_generic_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh_generic_07.dump [moved from runtime/syntax/testdir/dumps/sh_10_01.dump with 53% similarity]
runtime/syntax/testdir/dumps/ksh_generic_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/ksh_generic_09.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/mksh_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/mksh_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/mksh_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/mksh_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/mksh_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/mksh_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/mksh_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/mksh_07.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/mksh_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/mksh_09.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/sh_02_01.dump
runtime/syntax/testdir/dumps/sh_05_00.dump
runtime/syntax/testdir/dumps/sh_05_01.dump
runtime/syntax/testdir/dumps/sh_05_02.dump
runtime/syntax/testdir/dumps/sh_06_00.dump
runtime/syntax/testdir/dumps/sh_08_00.dump
runtime/syntax/testdir/dumps/sh_08_01.dump
runtime/syntax/testdir/dumps/sh_08_02.dump
runtime/syntax/testdir/dumps/sh_08_03.dump
runtime/syntax/testdir/dumps/sh_09_00.dump
runtime/syntax/testdir/dumps/sh_10_02.dump [deleted file]
runtime/syntax/testdir/dumps/sh_bash_sundrous_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/sh_bash_sundrous_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/sh_bash_sundrous_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/sh_bash_sundrous_03.dump [new file with mode: 0644]
runtime/syntax/testdir/input/ksh2020.ksh [new file with mode: 0644]
runtime/syntax/testdir/input/ksh88.ksh [new file with mode: 0644]
runtime/syntax/testdir/input/ksh93_generic.ksh [new file with mode: 0644]
runtime/syntax/testdir/input/ksh93u.ksh [new file with mode: 0644]
runtime/syntax/testdir/input/ksh93v.ksh [new file with mode: 0644]
runtime/syntax/testdir/input/ksh_generic.ksh [new file with mode: 0644]
runtime/syntax/testdir/input/mksh.ksh [new file with mode: 0644]
runtime/syntax/testdir/input/sh_10.sh [deleted file]
runtime/syntax/testdir/input/sh_bash_sundrous.bash [new file with mode: 0644]

index f2c03c46768af78eee64ac2e7569b1380209b71f..513fdac7a568d52e9545a982c37402c1d08f8261 100644 (file)
@@ -1,4 +1,4 @@
-*syntax.txt*   For Vim version 9.1.  Last change: 2025 May 17
+*syntax.txt*   For Vim version 9.1.  Last change: 2025 May 21
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -3553,6 +3553,10 @@ variables in your <.vimrc>:
 <   sh: Bourne shell >
        let g:is_sh        = 1
 
+Specific shell features are automatically enabled based on the shell detected
+from the shebang line ("#! ...").  For KornShell Vim detects different shell
+features for mksh, ksh88, ksh93, ksh93u, ksh93v, and ksh2020.
+
 If there's no "#! ..." line, and the user hasn't availed himself/herself of a
 default sh.vim syntax setting as just shown, then syntax/sh.vim will assume
 the POSIX shell syntax.  No need to quote RFCs or market penetration
index b0e02b9813ec340e740b2ed115d715701ea1481a..68d43a311816204cb7a45a4f05cea1b06e474fbc 100644 (file)
@@ -14,6 +14,7 @@
 "              2025 May 06 improve single-quote string matching in parameter expansions
 "              2025 May 06 match KornShell compound arrays
 "              2025 May 10 improve wildcard character class lists
+"              2025 May 21 improve supported KornShell features
 " Version:             208
 " Former URL:          http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
 " For options and settings, please use:      :help ft-sh-syntax
@@ -31,7 +32,32 @@ let b:is_sh = 1
 let s:shebang = getline(1)
 
 if s:shebang =~ '^#!.\{-2,}\<ksh\>'
+  " The binary is too ambiguous (i.e. '/bin/ksh' or some such).
  let b:is_kornshell = 1
+ let b:generic_korn = 1
+elseif s:shebang =~ '^#!.\{-2,}\<ksh93u\+\>'
+ " ksh93u+ (or 93u-) release (still much too common to encounter)
+ let b:is_kornshell = 1
+ let b:is_ksh93u = 1
+elseif s:shebang =~ '^#!.\{-2,}\<ksh93v\>'
+ " ksh93v- alpha or beta
+ let b:is_kornshell = 1
+ let b:is_ksh93v = 1
+elseif s:shebang =~ '^#!.\{-2,}\<ksh93\>'
+ " Could be any ksh93 release
+ let b:is_kornshell = 1
+ let b:is_ksh93 = 1
+elseif s:shebang =~ '^#!.\{-2,}\<ksh2020\>'
+ let b:is_kornshell = 1
+ let b:is_ksh2020 = 1
+elseif s:shebang =~ '^#!.\{-2,}\<ksh88\>'
+ " The actual AT&T ksh88 and its feature set is assumed.
+ let b:is_kornshell = 1
+ let b:is_ksh88 = 1
+elseif s:shebang =~ '^#!.\{-2,}\<mksh\>'
+ " MirBSD Korn Shell
+ let b:is_kornshell = 1
+ let b:is_mksh = 1
 elseif s:shebang =~ '^#!.\{-2,}\<bash\>'
  let b:is_bash      = 1
 elseif s:shebang =~ '^#!.\{-2,}\<dash\>'
@@ -46,6 +72,7 @@ elseif s:shebang =~ '^#!.\{-2,}\<dash\>'
 elseif !exists("b:is_kornshell") && !exists("b:is_bash") && !exists("b:is_posix") && !exists("b:is_dash")
  if exists("g:is_kornshell")
   let b:is_kornshell= 1
+  let b:generic_korn = 1
  elseif exists("g:is_bash")
   let b:is_bash= 1
  elseif exists("g:is_dash")
@@ -64,8 +91,33 @@ elseif !exists("b:is_kornshell") && !exists("b:is_bash") && !exists("b:is_posix"
   elseif executable("/usr/bin/sh")
    let s:shell = resolve("/usr/bin/sh")
   endif
-  if     s:shell =~ '\<ksh\>'
-   let b:is_kornshell= 1
+  if s:shell =~ '\<ksh\>'
+   " The binary is too ambiguous (i.e. '/bin/ksh' or some such).
+   let b:is_kornshell = 1
+   let b:generic_korn = 1
+  elseif s:shell =~ '\<ksh93u\+\>'
+   " ksh93u+ (or 93u-) release (still much too common to encounter)
+   let b:is_kornshell = 1
+   let b:is_ksh93u = 1
+  elseif s:shell =~ '\<ksh93v\>'
+   " ksh93v- alpha or beta
+   let b:is_kornshell = 1
+   let b:is_ksh93v = 1
+  elseif s:shell =~ '\<ksh93\>'
+   " Could be any ksh93 release
+   let b:is_kornshell = 1
+   let b:is_ksh93 = 1
+  elseif s:shebang =~ '\<ksh2020\>'
+   let b:is_kornshell = 1
+   let b:is_ksh2020 = 1
+  elseif s:shell =~ '\<ksh88\>'
+   " The actual AT&T ksh88 and its feature set is assumed.
+   let b:is_kornshell = 1
+   let b:is_ksh88 = 1
+  elseif s:shell =~ '\<mksh\>'
+   " MirBSD Korn Shell
+   let b:is_kornshell = 1
+   let b:is_mksh = 1
   elseif s:shell =~ '\<bash\>'
    let b:is_bash = 1
   elseif s:shell =~ '\<dash\>'
@@ -234,7 +286,7 @@ syn cluster shForList       contains=shTestOpr,shNumber,shDerefSimple,shDeref,shComman
 " Echo: {{{1
 " ====
 " This one is needed INSIDE a CommandSub, so that `echo bla` be correct
-if exists("b:is_kornshell")
+if (exists("b:is_kornshell") && !exists("b:is_ksh88"))
  syn region shEcho matchgroup=shStatement start="\<echo\>"  skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|()`}]"me=e-1 end="\d[<>]"me=e-2 end="#"me=e-1 end="\ze[ \t\n;]}" contains=@shEchoList skipwhite nextgroup=shQuickComment
  syn region shEcho matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|()`}]"me=e-1 end="\d[<>]"me=e-2 end="#"me=e-1 end="\ze[ \t\n;]}" contains=@shEchoList skipwhite nextgroup=shQuickComment
 else
@@ -359,7 +411,7 @@ syn match  shComma     contained    ","
 syn match shCaseBar    contained skipwhite "\(^\|[^\\]\)\(\\\\\)*\zs|"         nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
 syn match shCaseStart  contained skipwhite skipnl "("                  nextgroup=shCase,shCaseBar
 syn match shCaseLabel  contained skipwhite     "\%(\\.\|[-a-zA-Z0-9_*.]\)\+"   contains=shBracketExpr
-if exists("b:is_bash")
+if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("b:is_ksh88") && !exists("b:is_ksh93u") && !exists("b:is_ksh93v") && !exists("b:is_ksh2020"))
  ShFoldIfDoFor syn region      shCase  contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)"  end=";;" end=";&" end=";;&" end="esac"me=s-1   contains=@shCaseList    nextgroup=shCaseStart,shCase,shComment
 elseif exists("b:is_kornshell")
  ShFoldIfDoFor syn region      shCase  contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)"  end=";;" end=";&" end="esac"me=s-1     contains=@shCaseList    nextgroup=shCaseStart,shCase,shComment
@@ -369,7 +421,7 @@ endif
 ShFoldIfDoFor syn region       shCaseEsac      matchgroup=shConditional start="\<case\>" end="\<esac\>"        contains=@shCaseEsacList
 
 syn keyword shCaseIn   contained skipwhite skipnl in                   nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
-if exists("b:is_bash") || exists("b:is_kornshell")
+if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("b:is_ksh88"))
  syn region  shCaseExSingleQuote       matchgroup=shQuote start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial      skipwhite skipnl nextgroup=shCaseBar    contained
 elseif !exists("g:sh_no_error")
  syn region  shCaseExSingleQuote       matchgroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+   contains=shStringSpecial        skipwhite skipnl nextgroup=shCaseBar    contained
@@ -403,8 +455,16 @@ syn match   shEscape       contained       '\%(^\)\@!\%(\\\\\)*\\.'        nextgroup=shComment
 if exists("b:is_kornshell") || exists("b:is_bash") || exists("b:is_posix")
  syn region shCommandSub matchgroup=shCmdSubRegion start="\$((\@!"  skip='\\\\\|\\.' end=")"  contains=@shCommandSubList
  if exists("b:is_kornshell")
-  syn region shSubshare matchgroup=shCmdSubRegion start="\${\ze[ \t\n<]"  skip='\\\\\|\\.' end="\zs[ \t\n;]}"  contains=@shCommandSubList
-  syn region shValsub matchgroup=shCmdSubRegion start="\${|"  skip='\\\\\|\\.' end="}"  contains=@shCommandSubList
+  if !exists("b:is_ksh88")
+   if exists("b:is_mksh")
+    syn region shSubshare matchgroup=shCmdSubRegion start="\${\ze[ \t\n]"  skip='\\\\\|\\.' end="\zs[ \t\n;]}"  contains=@shCommandSubList
+   else
+    syn region shSubshare matchgroup=shCmdSubRegion start="\${\ze[ \t\n<]"  skip='\\\\\|\\.' end="\zs[ \t\n;]}"  contains=@shCommandSubList
+   endif
+  endif
+  if exists("b:is_mksh") || exists("b:generic_korn")
+   syn region shValsub matchgroup=shCmdSubRegion start="\${|"  skip='\\\\\|\\.' end="}"  contains=@shCommandSubList
+  endif
  endif
  syn region shArithmetic matchgroup=shArithRegion  start="\$((" skip='\\\\\|\\.' end="))" contains=@shArithList
  syn region shArithmetic matchgroup=shArithRegion  start="\$\[" skip='\\\\\|\\.' end="\]" contains=@shArithList
@@ -419,17 +479,39 @@ if exists("b:is_bash")
  syn cluster shCommandSubList add=bashSpecialVariables,bashStatement
  syn cluster shCaseList add=bashAdminStatement,bashStatement
  syn keyword bashSpecialVariables contained auto_resume BASH BASH_ALIASES BASH_ARGC BASH_ARGV BASH_CMDS BASH_COMMAND BASH_ENV BASH_EXECUTION_STRING BASH_LINENO BASHOPTS BASHPID BASH_REMATCH BASH_SOURCE BASH_SUBSHELL BASH_VERSINFO BASH_VERSION BASH_XTRACEFD CDPATH COLUMNS COMP_CWORD COMP_KEY COMP_LINE COMP_POINT COMPREPLY COMP_TYPE COMP_WORDBREAKS COMP_WORDS COPROC COPROC_PID DIRSTACK EMACS ENV EUID FCEDIT FIGNORE FUNCNAME FUNCNEST GLOBIGNORE GROUPS histchars HISTCMD HISTCONTROL HISTFILE HISTFILESIZE HISTIGNORE HISTSIZE HISTTIMEFORMAT HOME HOSTFILE HOSTNAME HOSTTYPE IFS IGNOREEOF INPUTRC LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_NUMERIC LINENO LINES MACHTYPE MAIL MAILCHECK MAILPATH MAPFILE OLDPWD OPTARG OPTERR OPTIND OSTYPE PATH PIPESTATUS POSIXLY_CORRECT PPID PROMPT_COMMAND PS0 PS1 PS2 PS3 PS4 PWD RANDOM READLINE_LINE READLINE_POINT REPLY SECONDS SHELL SHELLOPTS SHLVL TIMEFORMAT TIMEOUT TMPDIR UID
- syn keyword bashStatement chmod clear complete du egrep expr fgrep find gnufind gnugrep grep head less ls mkdir mv rm rmdir rpm sed sleep sort strip tail
+ syn keyword bashStatement basename cat chgrp chmod chown cksum clear cmp comm command compgen complete cp cut date dirname du egrep expr fgrep find fmt fold getconf gnufind gnugrep grep head iconv id join less ln logname ls md5sum mkdir mkfifo mknod mktemp mv od paste pathchk readlink realpath rev rm rmdir rpm sed sha1sum sha224sum sha256sum sha384sum sha512sum sleep sort strip stty sum sync tail tee tr tty uname uniq wc which xargs xgrep
  syn keyword bashAdminStatement daemon killall killproc nice reload restart start status stop
- syn keyword bashStatement     command compgen
 endif
 
 if exists("b:is_kornshell") || exists("b:is_posix")
  syn cluster shCommandSubList add=kshSpecialVariables,kshStatement
  syn cluster shCaseList add=kshStatement
- syn keyword kshSpecialVariables contained CDPATH COLUMNS EDITOR ENV ERRNO FCEDIT FPATH HISTFILE HISTSIZE HOME IFS LINENO LINES MAIL MAILCHECK MAILPATH OLDPWD OPTARG OPTIND PATH PPID PS1 PS2 PS3 PS4 PWD RANDOM REPLY SECONDS SHELL TMOUT VISUAL
- syn keyword kshStatement cat chmod clear cp du egrep expr fgrep find grep head killall less ls mkdir mv nice printenv rm rmdir sed sort strip stty tail tput
- syn keyword kshStatement command setgroups setsenv
+ syn keyword kshSpecialVariables contained CDPATH COLUMNS EDITOR ENV FCEDIT FIGNORE FPATH HISTCMD HISTEDIT HISTFILE HISTSIZE HOME IFS JOBMAX KSH_VERSION LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_TIME LINENO LINES MAIL MAILCHECK MAILPATH OLDPWD OPTARG OPTIND PATH PPID PS1 PS2 PS3 PS4 PWD RANDOM REPLY SECONDS SHELL SHLVL TMOUT VISUAL
+ syn keyword kshStatement basename cat chgrp chmod chown cksum clear cmp comm command cp cut date dirname du egrep expr fgrep find fmt fold grep head iconv id join killall less ln logname ls md5sum mkdir mknod mkfifo mktemp mv nice od paste pathchk printenv readlink realpath rev rm rmdir sed setgroups setsenv sha1sum sha224sum sha256sum sha384sum sha512sum sort strip stty sum sync tail tee tput tr tty uname uniq wc which xargs xgrep
+ if exists("b:is_ksh88")
+  syn keyword kshSpecialVariables contained ERRNO
+ elseif exists("b:is_mksh")
+  syn keyword kshSpecialVariables contained BASHPID EPOCHREALTIME EXECSHELL KSHEGID KSHGID KSHUID KSH_MATCH PATHSEP PGRP PIPESTATUS TMPDIR USER_ID
+  syn keyword kshStatement bind rename
+ elseif exists("b:is_ksh93v") || exists("b:is_ksh2020")
+  syn keyword kshSpecialVariables contained SH_OPTIONS COMP_CWORD COMP_LINE COMP_POINT COMP_WORDS COMP_KEY COMPREPLY COMP_WORDBREAKS COMP_TYPE
+  syn keyword kshStatement compgen complete
+  if exists("b:is_ksh93v")
+   syn keyword kshSpecialVariables contained VPATH CSWIDTH
+   syn keyword kshStatement vmstate alarm fds pids poll sha2sum
+  endif
+ elseif exists("b:is_ksh93u")
+  " ksh93u+
+  syn keyword kshSpecialVariables contained VPATH CSWIDTH
+  syn keyword kshStatement alarm fds pids vmstate
+ else
+  " 'ksh' is ambiguous; include everything
+  syn keyword kshSpecialVariables contained BASHPID EPOCHREALTIME EXECSHELL KSHEGID KSHGID KSHUID KSH_MATCH PATHSEP PGRP PIPESTATUS TMPDIR USER_ID SH_OPTIONS COMP_CWORD COMP_LINE COMP_POINT COMP_WORDS COMP_KEY COMPREPLY COMP_WORDBREAKS COMP_TYPE VPATH SRANDOM CSWIDTH
+  if !exists("b:is_ksh93")
+   syn keyword kshSpecialVariables contained ERRNO
+  endif
+  syn keyword kshStatement vmstate alarm fds pids poll sha2sum alarm eloop fds mkservice pids compgen complete bind rename
+ endif
 endif
 
 syn match   shSource   "^\.\s"
@@ -504,8 +586,8 @@ ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc16 start="<<-\s*\\\_$\_s*
 
 " Here Strings: {{{1
 " =============
-" available for: bash; ksh (really should be ksh93 only) but not if its a posix
-if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("b:is_posix"))
+" available for: bash and ksh (except ksh88) but not if its a posix
+if exists("b:is_bash") || ((exists("b:is_kornshell") && !exists("b:is_ksh88")) && !exists("b:is_posix"))
  syn match shHereString "<<<"  skipwhite       nextgroup=shCmdParenRegion
 endif
 
@@ -518,7 +600,7 @@ if exists("b:is_bash")
  syn region  shArrayValue      contained       start="\[\%(..\{-}\]=\)\@=" end="\]=\@="        contains=@shArrayValueList nextgroup=shVarAssign
  syn cluster shArrayValueList  contains=shArithmetic,shArithParen,shCommandSub,shDeref,shDerefSimple,shExpr,shNumber,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shSpecial,shParen,bashSpecialVariables,shParenError
  syn region  shArrayRegion     contained matchgroup=shShellVariables start="(" skip='\\\\\|\\.' end=")" contains=@shArrayValueList,shArrayValue,shComment
-elseif exists("b:is_kornshell")
+elseif (exists("b:is_kornshell") && !exists("b:is_ksh88"))
  " The subscript form for array values, e.g. "foo=([2]=10 [4]=100)".
  syn region  shArrayValue      contained       start="\[\%(..\{-}\]=\)\@=" end="\]=\@="        contains=@shArrayValueList nextgroup=shVarAssign
  syn cluster shArrayValueList  contains=shArithmetic,shArithParen,shCommandSub,shDeref,shDerefSimple,shExpr,shNumber,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shSpecial,shParen,kshSpecialVariables,shParenError
@@ -548,7 +630,7 @@ else
 endif
 
 " KornShell namespace: {{{1
-if exists("b:is_kornshell")
+if exists("b:is_kornshell") && !exists("b:is_ksh88") && !exists("b:is_mksh")
  syn keyword shFunctionKey namespace skipwhite skipnl nextgroup=shFunctionTwo
 endif
 
@@ -578,8 +660,14 @@ if !exists("g:sh_no_error")
  syn match  shDerefWordError   "[^}$[~]"       contained
 endif
 syn match  shDerefSimple       "\$\%(\h\w*\|\d\)"      nextgroup=@shNoZSList
-if exists("b:is_kornshell")
- syn region shDeref    matchgroup=PreProc start="\${\ze[^ \t\n<|]" end="}"     contains=@shDerefList,shDerefVarArray nextgroup=shSpecialStart
+if exists("b:is_kornshell") && !exists("b:is_ksh88")
+ if exists("b:is_mksh")
+  syn region shDeref   matchgroup=PreProc start="\${\ze[^ \t\n|]" end="}"      contains=@shDerefList,shDerefVarArray nextgroup=shSpecialStart
+ elseif exists("b:generic_korn")
+  syn region shDeref   matchgroup=PreProc start="\${\ze[^ \t\n<|]" end="}"     contains=@shDerefList,shDerefVarArray nextgroup=shSpecialStart
+ else
+  syn region shDeref   matchgroup=PreProc start="\${\ze[^ \t\n<]" end="}"      contains=@shDerefList,shDerefVarArray nextgroup=shSpecialStart
+ endif
 else
  syn region shDeref    matchgroup=PreProc start="\${" end="}"                  contains=@shDerefList,shDerefVarArray nextgroup=shSpecialStart
 endif
@@ -593,13 +681,14 @@ endif
 
 " ksh: ${.sh.*} variables: {{{1
 " ========================================
-if exists("b:is_kornshell")
+if exists("b:is_kornshell") && !exists("b:is_ksh88") && !exists("b:is_mksh")
  syn match  shDerefVar contained       "\.\+"  nextgroup=@shDerefVarList
+ syn region shDeref    matchgroup=PreProc start="\${\ze[\.]" end="}"   contains=@shDerefVarList,shDerefPSR,shDerefPPS
 endif
 
 " ksh: ${!var[*]} array index list syntax: {{{1
 " ========================================
-if exists("b:is_kornshell") || exists("b:is_posix")
+if (exists("b:is_kornshell") && !exists("b:is_ksh88")) || exists("b:is_posix")
  syn region shDeref    matchgroup=PreProc start="\${!" end="}" contains=@shDerefVarArray
 endif
 
@@ -609,7 +698,7 @@ if exists("b:is_bash")
  syn region shDeref    matchgroup=PreProc start="\${!" end="\*\=}"     contains=@shDerefList,shDerefOffset
  syn match  shDerefVar contained       "{\@<=!\h\w*"           nextgroup=@shDerefVarList
 endif
-if exists("b:is_kornshell")
+if (exists("b:is_kornshell") && !exists("b:is_ksh88"))
  syn match  shDerefVar contained       "{\@<=!\h\w*[[:alnum:]_.]*"     nextgroup=@shDerefVarList
 endif
 
@@ -633,10 +722,10 @@ syn region  shDerefVarArray   contained   matchgroup=shDeref start="\[" end="]"   co
 "    ksh bash : ${parameter##pattern} remove large left  pattern
 "    ksh bash : ${parameter%pattern}  remove small right pattern
 "    ksh bash : ${parameter%%pattern} remove large right pattern
-"        bash : ${parameter^pattern}  Case modification
-"        bash : ${parameter^^pattern} Case modification
-"        bash : ${parameter,pattern}  Case modification
-"        bash : ${parameter,,pattern} Case modification
+"    ksh bash : ${parameter^pattern}  Case modification
+"    ksh bash : ${parameter^^pattern} Case modification
+"    ksh bash : ${parameter,pattern}  Case modification
+"    ksh bash : ${parameter,,pattern} Case modification
 "        bash : ${@:start:qty}        display command line arguments from start to start+qty-1 (inferred)
 "        bash : ${parameter@operator} transforms parameter (operator∈[uULqEPARa])
 syn cluster shDerefPatternList contains=shDerefPattern,shDerefString
@@ -655,15 +744,17 @@ if exists("b:is_bash") || exists("b:is_kornshell") || exists("b:is_posix")
  call s:GenerateBracketExpressionItems({'itemGroup': 'shDerefPattern', 'bracketGroup': 'shBracketExprDelim', 'extraArgs': 'contained nextgroup=shDerefPattern'})
  syn match  shDerefEscape      contained       '\%(\\\\\)*\\.'
 endif
-if exists("b:is_bash")
+if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("b:is_ksh88") && !exists("b:is_mksh") && !exists("b:is_ksh93u") && !exists("b:is_ksh2020"))
  syn match  shDerefOp  contained       "[,^]\{1,2}"    nextgroup=@shDerefPatternList
+endif
+if exists("b:is_bash")
  syn match  shDerefOp  contained       "@[uULQEPAKa]"
 endif
 syn region shDerefString       contained       matchgroup=shDerefDelim start=+\%(\\\)\@<!'+ end=+'+
 syn region shDerefString       contained       matchgroup=shDerefDelim start=+\%(\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial
 syn match  shDerefString       contained       "\\["']"        nextgroup=shDerefPattern
 
-if exists("b:is_bash") || exists("b:is_kornshell") || exists("b:is_posix")
+if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("b:is_ksh88")) || exists("b:is_posix")
  " bash ksh posix : ${parameter:offset}
  " bash ksh posix : ${parameter:offset:length}
  syn region shDerefOffset      contained       start=':[^-=?+]' end='\ze:'     end='\ze}'      contains=shDeref,shDerefSimple,shDerefEscape    nextgroup=shDerefLen,shDeref,shDerefSimple
@@ -671,15 +762,15 @@ if exists("b:is_bash") || exists("b:is_kornshell") || exists("b:is_posix")
  syn match  shDerefLen contained       ":[^}]\+"       contains=shDeref,shDerefSimple,shArithmetic
 endif
 
-if exists("b:is_bash")
- " bash : ${parameter/pattern/string}
- " bash : ${parameter//pattern/string}
+if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("b:is_ksh88"))
+ " bash ksh : ${parameter/pattern/string}
+ " bash ksh : ${parameter//pattern/string}
  syn match  shDerefPPS contained       '/\{1,2}'       nextgroup=shDerefPPSleft
  syn region shDerefPPSleft     contained       start='.'       skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp       end='/' end='\ze}' end='"'      nextgroup=shDerefPPSright       contains=@shPPSLeftList
  syn region shDerefPPSright    contained       start='.'       skip=@\%(\\\\\)\+@              end='\ze}'                              contains=@shPPSRightList
 
- " bash : ${parameter/#pattern/string}
- " bash : ${parameter/%pattern/string}
+ " bash ksh : ${parameter/#pattern/string}
+ " bash ksh : ${parameter/%pattern/string}
  syn match  shDerefPSR contained       '/[#%]' nextgroup=shDerefPSRleft,shDoubleQuote,shSingleQuote
  syn region shDerefPSRleft     contained       start='[^"']'   skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp       end='/' end='\ze}'      nextgroup=shDerefPSRright       contains=shBracketExpr
  syn region shDerefPSRright    contained       start='.'       skip=@\%(\\\\\)\+@              end='\ze}'
diff --git a/runtime/syntax/testdir/dumps/ksh2020_00.dump b/runtime/syntax/testdir/dumps/ksh2020_00.dump
new file mode 100644 (file)
index 0000000..6f7e69e
--- /dev/null
@@ -0,0 +1,20 @@
+>#+0#0000e05#ffffff0|!|/|b|i|n|/|k|s|h|2|0|2|0| +0#0000000&@60
+@75
+|#+0#0000e05&| |R|e|n|d|e|r|i|n|g| |n|a|m|e|s|p|a|c|e| |v|a|r|i|a|b|l|e|s| +0#0000000&@43
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|a+0#0000000&|d|s|f|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|a+0#0000000&|z|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|[|v+0#0000000&|a|r|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|*+0#0000000&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|#+0#af5f00255&
+@1|b+0#0000000&|a|z|}+0#e000e06&| +0#0000000&@69
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|3+0#e000002&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|z+0#0000000&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|s|h|.|v|e|r|s|i|o|n|/+0#af5f00255&|V+0#0000000&|/+0#af5f00255&|b+0#0000000&|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o
+|n|/+0#af5f00255&|V+0#0000000&|/+0#af5f00255&|b+0#0000000&|}+0#e000e06&| +0#0000000&@68
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|d+0#0000000&|]+0#e000e06&|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&
+|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|b|a|r|.|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&
+|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#af5f00255&@1|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|^@1|}| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|,@1|}| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a|l|a|r|m| |-+0#e000e06&@1|m|a|n| +0#0000000&@63
+|#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+@57|1|,|1| @10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/ksh2020_01.dump b/runtime/syntax/testdir/dumps/ksh2020_01.dump
new file mode 100644 (file)
index 0000000..1490d8b
--- /dev/null
@@ -0,0 +1,20 @@
+|e+0#af5f00255#ffffff0|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#af5f00255&@1|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|^@1|}| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|,@1|}| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a|l|a|r|m| |-+0#e000e06&@1|m|a|n| +0#0000000&@63
+>#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+|#+0#0000e05&| |a|n|d| |2|0@1|8|-|0|6|-|0|2|,| |r|e|s|p|e|c|t|i|v|e|l|y|.| |H|o|w|e|v|e|r|,| |t|h|e|s|e| |w|e|r|e| |n|o|t| |r|e|a|d|i|l|y| |e|n|a|b|l|e|d|;| |i|n
+|#| |9|3|u|+|m| |t|h|e|s|e| |c|a|n| |b|e| |e|n|a|b|l|e|d| |w|i|t|h| |t|h|e| |b|u|i|l|t|i|n| |c|o|m@1|a|n|d| |i|f| |l|i|b|c|m|d|.|s|o| |i|s| |p|r|e|s|e
+|n|t|,| +0#0000000&@71
+|#+0#0000e05&| |e|i|t|h|e|r| |v|i|a| |'|b|u|i|l|t|i|n| |-|f|'| |o|r| |(|i|n| |m|o|r|e| |r|e|c|e|n|t| |c|o|m@1|i|t|s|)| |w|i|t|h| |a| |r|e|g|u|l|a|r| |i|n|v|o|c|a
+|t|i|o|n| +0#0000000&@70
+|#+0#0000e05&| |o|f| |t|h|e| |'|b|u|i|l|t|i|n|'| |b|u|i|l|t|-|i|n|.| +0#0000000&@46
+|#+0#0000e05&| |c|f|.| |h|t@1|p|s|:|/@1|g|i|t|h|u|b|.|c|o|m|/|k|s|h|9|3|/|k|s|h|/|c|o|m@1|i|t|/|f|1|5|e|2|c|4|1| +0#0000000&@24
+|b+0#af5f00255&|u|i|l|t|i|n| +0#0000000&|f|d|s| |p|i|d|s| @58
+|f|d|s|;| |p|i|d|s| @65
+@75
+|#+0#0000e05&| |U|n|i|x| |c|o|m@1|a|n|d|s| |w|h|i|c|h| |a|r|e| |p|r|o|v|i|d|e|d| |b|y| |k|s|h| |a|s| |b|u|i|l|t|i|n|s| |v|i|a| |l|i|b|c|m|d|.|s|o| +0#0000000&@7
+|b+0#af5f00255&|a|s|e|n|a|m|e| +0#0000000&@66
+@57|1|4|,|1| @10|6|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh2020_02.dump b/runtime/syntax/testdir/dumps/ksh2020_02.dump
new file mode 100644 (file)
index 0000000..d8825d3
--- /dev/null
@@ -0,0 +1,20 @@
+|b+0#af5f00255#ffffff0|a|s|e|n|a|m|e| +0#0000000&@66
+|c+0#af5f00255&|a|t| +0#0000000&@71
+|c+0#af5f00255&|h|g|r|p| +0#0000000&@69
+|c+0#af5f00255&|h|m|o|d| +0#0000000&@69
+|c+0#af5f00255&|h|o|w|n| +0#0000000&@69
+>c+0#af5f00255&|k|s|u|m| +0#0000000&@69
+|c+0#af5f00255&|m|p| +0#0000000&@71
+|c+0#af5f00255&|o|m@1| +0#0000000&@70
+|c+0#af5f00255&|p| +0#0000000&@72
+|c+0#af5f00255&|u|t| +0#0000000&@71
+|d+0#af5f00255&|a|t|e| +0#0000000&@70
+|d+0#af5f00255&|i|r|n|a|m|e| +0#0000000&@67
+|e+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|e+0#af5f00255&|x|p|r| +0#0000000&@70
+|f+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|f+0#af5f00255&|m|t| +0#0000000&@71
+|f+0#af5f00255&|o|l|d| +0#0000000&@70
+|g+0#af5f00255&|e|t|c|o|n|f| +0#0000000&@67
+|g+0#af5f00255&|r|e|p| +0#0000000&@70
+@57|2|9|,|1| @9|1|8|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh2020_03.dump b/runtime/syntax/testdir/dumps/ksh2020_03.dump
new file mode 100644 (file)
index 0000000..f166483
--- /dev/null
@@ -0,0 +1,20 @@
+|g+0#af5f00255#ffffff0|r|e|p| +0#0000000&@70
+|h+0#af5f00255&|e|a|d| +0#0000000&@70
+|i+0#af5f00255&|c|o|n|v| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|i+0#af5f00255&|d| +0#0000000&@72
+|j+0#af5f00255&|o|i|n| +0#0000000&@70
+>l+0#af5f00255&|n| +0#0000000&@72
+|l+0#af5f00255&|o|g|n|a|m|e| +0#0000000&@67
+|l+0#af5f00255&|s| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|m+0#af5f00255&|d|5|s|u|m| +0#0000000&@68
+|m+0#af5f00255&|k|d|i|r| +0#0000000&@69
+|m+0#af5f00255&|k|f|i|f|o| +0#0000000&@68
+|m+0#af5f00255&|k|t|e|m|p| +0#0000000&@68
+|m+0#af5f00255&|v| +0#0000000&@72
+|o+0#af5f00255&|d| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|p+0#af5f00255&|a|s|t|e| +0#0000000&@69
+|p+0#af5f00255&|a|t|h|c|h|k| +0#0000000&@67
+|r+0#af5f00255&|e|a|d|l|i|n|k| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|a|l|p|a|t|h| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|v| +0#0000000&@71
+@57|4|7|,|1| @9|3|2|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh2020_04.dump b/runtime/syntax/testdir/dumps/ksh2020_04.dump
new file mode 100644 (file)
index 0000000..4dd849b
--- /dev/null
@@ -0,0 +1,20 @@
+|r+0#af5f00255#ffffff0|e|v| +0#0000000&@71
+|r+0#af5f00255&|m| +0#0000000&@72
+|r+0#af5f00255&|m|d|i|r| +0#0000000&@69
+|s+0#af5f00255&|h|a|1|s|u|m| +0#0000000&@8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|2|5|6|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+>s|h|a|2|s|u|m| @8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|3|8|4|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|5|1|2|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|t@1|y| +0#0000000&@70
+|s+0#af5f00255&|u|m| +0#0000000&@71
+|s+0#af5f00255&|y|n|c| +0#0000000&@70
+|t+0#af5f00255&|a|i|l| +0#0000000&@70
+|t+0#af5f00255&|e@1| +0#0000000&@71
+|t+0#af5f00255&|r| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|t+0#af5f00255&@1|y| +0#0000000&@71
+|u+0#af5f00255&|n|a|m|e| +0#0000000&@69
+|u+0#af5f00255&|n|i|q| +0#0000000&@70
+|v|m|s|t|a|t|e| @8|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t|;| |o|n|l|y| |a|v|a|i|l|a|b|l|e| |i|n| |9|3|v|-| |a|n|d| |o|l|d|e|r| +0#0000000&@11
+|w+0#af5f00255&|c| +0#0000000&@72
+@57|6|5|,|1| @9|4|6|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh2020_05.dump b/runtime/syntax/testdir/dumps/ksh2020_05.dump
new file mode 100644 (file)
index 0000000..ba9f354
--- /dev/null
@@ -0,0 +1,20 @@
+|w+0#af5f00255#ffffff0|c| +0#0000000&@72
+|x+0#af5f00255&|a|r|g|s| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|x+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+@75
+|#+0#0000e05&| |S|H|A| |c|o|m@1|a|n|d| |n|o|t| |p|r|o|v|i|d|e|d| |a|s| |a| |b|u|i|l|t|i|n| |b|u|t| |i|n|c|l|u|d|e|d| |h|e|r|e| |f|o|r| |c|o|m|p|l|e|t|e|n|e|s@1| +0#0000000&
+>s+0#af5f00255&|h|a|2@1|4|s|u|m| +0#0000000&@65
+@75
+|#+0#0000e05&| |p|o|l@1| |b|u|i|l|t|i|n| |(|9|3|v|-|)| +0#0000000&@53
+|p|o|l@1| |-+0#e000e06&@1|m|a|n| +0#0000000&@64
+@75
+|#+0#0000e05&| |m|k|s|e|r|v|i|c|e| |a|n|d| |e|l|o@1|p| |(|r|a|r|e|l|y| |p|r|o|v|i|d|e|d|;| |r|e|q|u|i|r|e|s| |S|H|O|P|T|_|M|K|S|E|R|V|I|C|E|)| +0#0000000&@9
+|m|k|s|e|r|v|i|c|e| |-+0#e000e06&@1|m|a|n|;+0#0000000&| |e|l|o@1|p| |-+0#e000e06&@1|h|e|l|p| +0#0000000&@45
+@75
+|#+0#0000e05&| |s|o|m|e| |m|k|s|h| |b|u|i|l|t|i|n|s| +0#0000000&@54
+|b|i|n|d|;| |r|e|n|a|m|e| @62
+@75
+|#+0#0000e05&| |;|&| |a|n|d| |;@1|&| |i|n| |c|a|s|e| |s|t|a|t|e|m|e|n|t|s| +0#0000000&@43
+|c+0#af5f00255&|a|s|e| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&@65
+@8|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#0000000&|1|}+0#e000e06&| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@57|8|3|,|1| @9|6|0|%| 
similarity index 64%
rename from runtime/syntax/testdir/dumps/sh_10_00.dump
rename to runtime/syntax/testdir/dumps/ksh2020_06.dump
index b0c98eab4cb69ce93f694b52ee0d8df51ed75258..65bd84647709506e4107a8b623db47395ae1f674 100644 (file)
@@ -1,11 +1,9 @@
->#+0#0000e05#ffffff0|!|/|b|i|n|/|k|s|h| +0#0000000&@64
+| +0&#ffffff0@7|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#0000000&|1|}+0#e000e06&| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@8|f|o@1|)+0#af5f00255&| +0#0000000&|t+0#af5f00255&|r|u|e| +0#0000000&|$+0#e000e06&|{|f|o@1|:+0#0000000&|0|:|0|}+0#e000e06&| +0#0000000&|;+0#af5f00255&@1|&+0#0000000&| @42
+@8|*|)+0#af5f00255&| +0#0000000&|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{|b|a|r|}| +0#e000002&|;+0#af5f00255&@1| +0#0000000&@48
+|e+0#af5f00255&|s|a|c| +0#0000000&@70
 @75
-|#+0#0000e05&| |T|h|i|s| |s|c|r|i|p|t| |i|s| |a| |t|e|s|t| |f|i|l|e| |f|o|r| |k|s|h|9|3| |s|h|a|r|e|d|-|s|t|a|t|e| +0#0000000&@23
-|#+0#0000e05&| |c|o|m@1|a|n|d| |s|u|b|s|t|i|t|u|t|i|o|n|s| |(|s|u|b|s|h|a|r|e|s|)| |a|n|d| |m|k|s|h| |v|a|l|u|e| +0#0000000&@24
-|#+0#0000e05&| |s|u|b|s|t|i|t|u|t|i|o|n|s| |(|v|a|l|s|u|b|s|)|.| +0#0000000&@48
-@75
-|#+0#0000e05&| |=@5| +0#0000000&@66
-|#+0#0000e05&| |B|e|l|o|w| |i|s| |s|u|b|s|h|a|r|e| |s|y|n|t|a|x| |s|u|p@1|o|r|t|e|d| |b|y| |b|o|t|h| |k|s|h|9|3| |a|n|d| |m|k|s|h|.| +0#0000000&@14
+>#+0#0000e05&| |B|e|l|o|w| |i|s| |s|u|b|s|h|a|r|e| |s|y|n|t|a|x| |s|u|p@1|o|r|t|e|d| |b|y| |b|o|t|h| |k|s|h|9|3| |a|n|d| |m|k|s|h|.| +0#0000000&@14
 |p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|o|n|e| +0#e000e06&|}| +0#0000000&@55
 |p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|t|w|o| +0#0000000&@50
 |}+0#e000e06&| +0#0000000&@73
@@ -17,4 +15,6 @@
 |}+0#e000e06&| +0#0000000&@73
 |p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|e|v|e|n|'+0#af5f00255&| +0#e000e06&@3|}| +0#0000000&@41
 |e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| |p+0#af5f00255&|r|i|n|t| +0#e000002&|'+0#af5f00255&|e+0#e000002&|i|g|h|t|'+0#af5f00255&| +0#e000e06&@2|}| +0#0000000&@49
-|i|s|_|k|o|r|n|s|h|e|l@1|:| |1|,| @40|1|,|1| @10|T|o|p| 
+|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|i|n|e|=+0#0000000&|$+0#e000e06&|{| |p+0#af5f00255&|w|d|;| +0#e000e06&|}| +0#0000000&@52
+@75
+@57|1|0|1|,|1| @8|7|4|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh2020_07.dump b/runtime/syntax/testdir/dumps/ksh2020_07.dump
new file mode 100644 (file)
index 0000000..f4c2f4d
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| |$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
+|#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| +0#0000000&@43
+|i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|e+0#af5f00255&|v|a|l| +0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| |2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| +0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
+| +0#00e0e07&@7|v|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@16>R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
+@8|}+0#00e0e07&| +0#0000000&@65
+@8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |e|l|e|v|e|n|;|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@36
+@8|p+0#af5f00255&|r|i|n|t|f| +0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|w|e|l|v|e| @6|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@24
+@8|u+0#00e0e07&|n|l|u|c|k|y|=+0#0000000&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|h|i|r|t|e@1|n| +0#0000000#ffffff0@36
+|}+0#e000e06&| +0#0000000&@73
+@8|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|o|t|a|f|l|o|a|t|=+0#0000000&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |n|o|t|a|n|u|m|b|e|r| @5|}+0#e000e06#ffffff0| +0#0000000&@17
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|u|n|l|u|c|k|y| +0#e000002&|$+0#e000e06&|n|o|t|a|n|u|m|b|e|r| +0#0000000&@40
+@8|$+0#e000e06&|{||+0#ffffff16#ff404010|e|c|h|o| |f|o@1|}+0#e000e06#ffffff0| +0#0000000&@54
+@8|$+0#e000e06&|{||+0#ffffff16#ff404010|e|c|h|o| |b|a|r| +0#0000000#ffffff0@55
+|}+0#e000e06&| +0#0000000&@73
+|f+0#af5f00255&|i| +0#0000000&@72
+@75
+@57|1@1|9|,|3|-|1|7| @5|8@1|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh2020_08.dump b/runtime/syntax/testdir/dumps/ksh2020_08.dump
new file mode 100644 (file)
index 0000000..cdb01e1
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |=@5| +0#0000000&@66
+|#+0#0000e05&| |S|h|a|r|e|d|-|s|t|a|t|e| |c|o|m@1|a|n|d| |s|u|b|s|t|i|t|u|t|i|o|n|s| |u|s|i|n|g| |t|h|e| |s|y|n|t|a|x| |$|{|<|f|i|l|e|;|}| +0#0000000&@11
+|#+0#0000e05&| |a|r|e| |o|n|l|y| |s|u|p@1|o|r|t|e|d| |b|y| |k|s|h|9|3|,| |n|o|t| |m|k|s|h|.| +0#0000000&@34
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| +0#0000000&@67
+| +0#e000e06&@7>p+0#af5f00255&|r|i|n|t|f| +0#e000e06&|%|s| |s|t|r| +0#0000000&@53
+|}+0#e000e06&| +0#e000002&|>+0#af5f00255&| +0#0000000&|/|t|m|p|/|s|t|r|f|i|l|e| @58
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|<+0#af5f00255&|/+0#e000e06&|t|m|p|/|s|t|r|f|i|l|e|;|}| +0#0000000&@52
+@75
+|e+0#af5f00255&|x|i|t| +0#0000000&|0+0#e000002&| +0#0000000&@68
+|#+0#0000e05&| |k|s|h|8@1| |a|n|d| |k|s|h|9|3| |n|o|n|-|d|o|t| |s|p|e|c|i|a|l| |v|a|r|i|a|b|l|e|s| +0#0000000&@31
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |R|A|N|D|O|M|=+0#af5f00255&| +0#e000e06&|S+0#00e0e07&|R|A|N|D|O|M|=+0#0000000&| +0#e000e06&|S|H|L|V|L|=+0#af5f00255&| +0#e000e06&|J|O|B|M|A|X|=+0#af5f00255&| +0#e000e06&|K|S|H|_|V|E|R|S|I|O|N|=+0#af5f00255&| +0#e000e06&|F|I|G|N|O|R|E|=+0#af5f00255&| +0#e000e06&|L|C|_|T|I|M|E|=+0#af5f00255&| +0#e000e06&|L|C|_
+|N|U|M|E|R|I|C|=+0#af5f00255&| +0#e000e06&|L|C|_|M|E|S@1|A|G|E|S|=+0#af5f00255&| +0#e000e06&|L|C|_|C|T|Y|P|E|=+0#af5f00255&| +0#e000e06&|L|C|_|C|O|L@1|A|T|E|=+0#af5f00255&| +0#e000e06&|L|C|_|A|L@1|=+0#af5f00255&| +0#e000e06&|L|A|N|G|=+0#af5f00255&| +0#e000e06&|F|P|A|T|H|=+0#af5f00255&| +0#e000e06&|P|S|4|=+0#af5f00255&| +0#e000e06&|O|P|T|I|N
+|D|=+0#af5f00255&| +0#e000e06&|O|P|T|A|R|G|=+0#af5f00255&| +0#e000e06&|t+0#af5f00255&|r|u|e| +0#e000e06&|;|}| +0#0000000&@56
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|L|I|N|E|N|O|=+0#af5f00255&| +0#e000e06&|S|E|C|O|N|D|S|=+0#af5f00255&| +0#e000e06&|T|M|O|U|T|=+0#af5f00255&| +0#e000e06&|P@1|I|D|=+0#af5f00255&| +0#e000e06&|L|I|N|E|S|=+0#af5f00255&| +0#e000e06&|C|O|L|U|M|N|S|=+0#af5f00255&| +0#e000e06&|V|I|S|U|A|L|=+0#af5f00255&| +0#e000e06&|O|L|D|P|W|D|=+0#af5f00255&| +0#e000e06&|P|S|3|=+0#af5f00255&| +0#e000e06&
+|M|A|I|L|P|A|T|H|=+0#af5f00255&| +0#e000e06&|C|D|P|A|T|H|=+0#af5f00255&| +0#e000e06&|F|C|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|C|M|D|=+0#af5f00255&| +0#e000e06&|H|I|S|T|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|S|I|Z|E|=+0#af5f00255&| +0#e000e06&|H|I|S|T|F|I|L|E|=+0#af5f00255&| +0#e000e06&|E|N|V|=+0#af5f00255&| +0#e000e06&|M|A|I|L|C
+|H|E|C|K|=+0#af5f00255&| +0#e000e06&|E|D|I|T|O|R|=+0#af5f00255&| +0#e000e06&|S|H|E|L@1|=+0#af5f00255&| +0#e000e06&|f+0#af5f00255&|a|l|s|e|)+0#e000e06&| +0#0000000&@47
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S|H|_|O|P|T|I|O|N|S|=+0#af5f00255&| +0#e000e06&|E+0#00e0e07&|R@1|N|O|=+0#0000000&| +0#e000e06&|C|O|M
+|P|_|C|W|O|R|D|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|L|I|N|E|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|P|O|I|N|T|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|R|D|S|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|K|E|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|@+0#4040ff13&@2
+| +0#0000000&@56|1|3|7|,|2|-|9| @6|9|8|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh2020_09.dump b/runtime/syntax/testdir/dumps/ksh2020_09.dump
new file mode 100644 (file)
index 0000000..98e266c
--- /dev/null
@@ -0,0 +1,20 @@
+|p+0#af5f00255#ffffff0|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S|H|_|O|P|T|I|O|N|S|=+0#af5f00255&| +0#e000e06&|E+0#00e0e07&|R@1|N|O|=+0#0000000&| +0#e000e06&|C|O|M
+|P|_|C|W|O|R|D|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|L|I|N|E|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|P|O|I|N|T|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|R|D|S|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|K|E|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|R|D|B
+|R|E|A|K|S|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|T|Y|P|E|=+0#af5f00255&| +0#e000e06&|c+0#af5f00255&|o|m|p|g|e|n|)+0#e000e06&| +0#0000000&@48
+>p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|B+0#00e0e07&|A|S|H|P|I|D|=+0#0000000&| +0#e000e06&|E+0#00e0e07&|P|O|C|H|R|E|A|L|T|I|M|E|=+0#0000000&| +0#e000e06&|E+0#00e0e07&|X|E|C|S|H|E|L@1|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|E|G|I|D|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|G|I|D|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|U|I|D|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|_|M|A|T
+|C|H|=+0#0000000&| +0#e000e06&|P+0#00e0e07&|A|T|H|S|E|P|=+0#0000000&| +0#e000e06&|P+0#00e0e07&|G|R|P|=+0#0000000&| +0#e000e06&|P+0#00e0e07&|I|P|E|S|T|A|T|U|S|=+0#0000000&| +0#e000e06&|T+0#00e0e07&|M|P|D|I|R|=+0#0000000&| +0#e000e06&|U+0#00e0e07&|S|E|R|_|I|D|=+0#0000000&| +0#e000e06&|V+0#00e0e07&|P|A|T|H|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|S|W|I|D|T|H|=+0#0000000&| +0#e000e06&|c+0#af5f00255&|o|m|p|l|e|t|e|)+0#e000e06&| +0#0000000&@1
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|4|6|,|1| @8|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/ksh88_00.dump b/runtime/syntax/testdir/dumps/ksh88_00.dump
new file mode 100644 (file)
index 0000000..ad36df0
--- /dev/null
@@ -0,0 +1,20 @@
+>#+0#0000e05#ffffff0|!|/|b|i|n|/|k|s|h|8@1| +0#0000000&@62
+@75
+|#+0#0000e05&| |R|e|n|d|e|r|i|n|g| |n|a|m|e|s|p|a|c|e| |v|a|r|i|a|b|l|e|s| +0#0000000&@43
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|[+0#e000e06#ffffff0|a+0#0000000&|d|s|f|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|a+0#0000000&|z|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|[+0#e000e06#ffffff0|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|[+0#e000e06#ffffff0|v+0#0000000&|a|r|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|[+0#e000e06#ffffff0|1+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|[+0#e000e06#ffffff0|*+0#0000000&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|#
+@1|b|a|z|}+0#e000e06#ffffff0| +0#0000000&@69
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|[+0#e000e06#ffffff0|3+0#e000002&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|[+0#e000e06#ffffff0|z+0#0000000&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|s|h|.|v|e|r|s|i|o|n|/+0#ffffff16#ff404010|V|/|b|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|s|h|.|v|e|r|s|i|o
+|n|/|V|/|b|}+0#e000e06#ffffff0| +0#0000000&@68
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#ffffff16#ff404010|%|b|a|r|/|f|o@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#ffffff16#ff404010|#|b|a|r|/|f|o@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|/+0#ffffff16#ff404010|%|b|a|r|/|f|o@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|d+0#0000000&|]+0#e000e06&|/+0#ffffff16#ff404010|#|b|a|r|/
+|f|o@1|}+0#e000e06#ffffff0| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|/|%|b|a|r|f|o@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|/|#|b|a|r|/|f|o@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|b|a|r|.|f|o@1|/|%|b|a|r|/|f|o@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|b|a|r|/|#|b|a|r|/
+|f|o@1|}+0#e000e06#ffffff0| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#ffffff16#ff404010|%|b|a|r|f|o@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#ffffff16#ff404010|b|a|r|/|f|o@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#ffffff16#ff404010@1|b|a|r|/|f|o@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#ffffff16#ff404010|#|b|a|r|/|f|o@1|}+0#e000e06#ffffff0| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|s|h|.|v|e|r|s|i|o|n|^@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|s|h|.|v|e|r|s|i|o|n|,@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a|l|a|r|m| |-+0#e000e06&@1|m|a|n| +0#0000000&@63
+|#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+@57|1|,|1| @10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/ksh88_01.dump b/runtime/syntax/testdir/dumps/ksh88_01.dump
new file mode 100644 (file)
index 0000000..2691a5a
--- /dev/null
@@ -0,0 +1,20 @@
+|e+0#af5f00255#ffffff0|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#ffffff16#ff404010|%|b|a|r|f|o@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#ffffff16#ff404010|b|a|r|/|f|o@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#ffffff16#ff404010@1|b|a|r|/|f|o@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#ffffff16#ff404010|#|b|a|r|/|f|o@1|}+0#e000e06#ffffff0| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|s|h|.|v|e|r|s|i|o|n|^@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|s|h|.|v|e|r|s|i|o|n|,@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a|l|a|r|m| |-+0#e000e06&@1|m|a|n| +0#0000000&@63
+>#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+|#+0#0000e05&| |a|n|d| |2|0@1|8|-|0|6|-|0|2|,| |r|e|s|p|e|c|t|i|v|e|l|y|.| |H|o|w|e|v|e|r|,| |t|h|e|s|e| |w|e|r|e| |n|o|t| |r|e|a|d|i|l|y| |e|n|a|b|l|e|d|;| |i|n
+|#| |9|3|u|+|m| |t|h|e|s|e| |c|a|n| |b|e| |e|n|a|b|l|e|d| |w|i|t|h| |t|h|e| |b|u|i|l|t|i|n| |c|o|m@1|a|n|d| |i|f| |l|i|b|c|m|d|.|s|o| |i|s| |p|r|e|s|e
+|n|t|,| +0#0000000&@71
+|#+0#0000e05&| |e|i|t|h|e|r| |v|i|a| |'|b|u|i|l|t|i|n| |-|f|'| |o|r| |(|i|n| |m|o|r|e| |r|e|c|e|n|t| |c|o|m@1|i|t|s|)| |w|i|t|h| |a| |r|e|g|u|l|a|r| |i|n|v|o|c|a
+|t|i|o|n| +0#0000000&@70
+|#+0#0000e05&| |o|f| |t|h|e| |'|b|u|i|l|t|i|n|'| |b|u|i|l|t|-|i|n|.| +0#0000000&@46
+|#+0#0000e05&| |c|f|.| |h|t@1|p|s|:|/@1|g|i|t|h|u|b|.|c|o|m|/|k|s|h|9|3|/|k|s|h|/|c|o|m@1|i|t|/|f|1|5|e|2|c|4|1| +0#0000000&@24
+|b+0#af5f00255&|u|i|l|t|i|n| +0#0000000&|f|d|s| |p|i|d|s| @58
+|f|d|s|;| |p|i|d|s| @65
+@75
+|#+0#0000e05&| |U|n|i|x| |c|o|m@1|a|n|d|s| |w|h|i|c|h| |a|r|e| |p|r|o|v|i|d|e|d| |b|y| |k|s|h| |a|s| |b|u|i|l|t|i|n|s| |v|i|a| |l|i|b|c|m|d|.|s|o| +0#0000000&@7
+|b+0#af5f00255&|a|s|e|n|a|m|e| +0#0000000&@66
+@57|1|4|,|1| @10|6|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh88_02.dump b/runtime/syntax/testdir/dumps/ksh88_02.dump
new file mode 100644 (file)
index 0000000..d8825d3
--- /dev/null
@@ -0,0 +1,20 @@
+|b+0#af5f00255#ffffff0|a|s|e|n|a|m|e| +0#0000000&@66
+|c+0#af5f00255&|a|t| +0#0000000&@71
+|c+0#af5f00255&|h|g|r|p| +0#0000000&@69
+|c+0#af5f00255&|h|m|o|d| +0#0000000&@69
+|c+0#af5f00255&|h|o|w|n| +0#0000000&@69
+>c+0#af5f00255&|k|s|u|m| +0#0000000&@69
+|c+0#af5f00255&|m|p| +0#0000000&@71
+|c+0#af5f00255&|o|m@1| +0#0000000&@70
+|c+0#af5f00255&|p| +0#0000000&@72
+|c+0#af5f00255&|u|t| +0#0000000&@71
+|d+0#af5f00255&|a|t|e| +0#0000000&@70
+|d+0#af5f00255&|i|r|n|a|m|e| +0#0000000&@67
+|e+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|e+0#af5f00255&|x|p|r| +0#0000000&@70
+|f+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|f+0#af5f00255&|m|t| +0#0000000&@71
+|f+0#af5f00255&|o|l|d| +0#0000000&@70
+|g+0#af5f00255&|e|t|c|o|n|f| +0#0000000&@67
+|g+0#af5f00255&|r|e|p| +0#0000000&@70
+@57|2|9|,|1| @9|1|8|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh88_03.dump b/runtime/syntax/testdir/dumps/ksh88_03.dump
new file mode 100644 (file)
index 0000000..f166483
--- /dev/null
@@ -0,0 +1,20 @@
+|g+0#af5f00255#ffffff0|r|e|p| +0#0000000&@70
+|h+0#af5f00255&|e|a|d| +0#0000000&@70
+|i+0#af5f00255&|c|o|n|v| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|i+0#af5f00255&|d| +0#0000000&@72
+|j+0#af5f00255&|o|i|n| +0#0000000&@70
+>l+0#af5f00255&|n| +0#0000000&@72
+|l+0#af5f00255&|o|g|n|a|m|e| +0#0000000&@67
+|l+0#af5f00255&|s| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|m+0#af5f00255&|d|5|s|u|m| +0#0000000&@68
+|m+0#af5f00255&|k|d|i|r| +0#0000000&@69
+|m+0#af5f00255&|k|f|i|f|o| +0#0000000&@68
+|m+0#af5f00255&|k|t|e|m|p| +0#0000000&@68
+|m+0#af5f00255&|v| +0#0000000&@72
+|o+0#af5f00255&|d| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|p+0#af5f00255&|a|s|t|e| +0#0000000&@69
+|p+0#af5f00255&|a|t|h|c|h|k| +0#0000000&@67
+|r+0#af5f00255&|e|a|d|l|i|n|k| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|a|l|p|a|t|h| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|v| +0#0000000&@71
+@57|4|7|,|1| @9|3|2|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh88_04.dump b/runtime/syntax/testdir/dumps/ksh88_04.dump
new file mode 100644 (file)
index 0000000..4dd849b
--- /dev/null
@@ -0,0 +1,20 @@
+|r+0#af5f00255#ffffff0|e|v| +0#0000000&@71
+|r+0#af5f00255&|m| +0#0000000&@72
+|r+0#af5f00255&|m|d|i|r| +0#0000000&@69
+|s+0#af5f00255&|h|a|1|s|u|m| +0#0000000&@8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|2|5|6|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+>s|h|a|2|s|u|m| @8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|3|8|4|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|5|1|2|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|t@1|y| +0#0000000&@70
+|s+0#af5f00255&|u|m| +0#0000000&@71
+|s+0#af5f00255&|y|n|c| +0#0000000&@70
+|t+0#af5f00255&|a|i|l| +0#0000000&@70
+|t+0#af5f00255&|e@1| +0#0000000&@71
+|t+0#af5f00255&|r| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|t+0#af5f00255&@1|y| +0#0000000&@71
+|u+0#af5f00255&|n|a|m|e| +0#0000000&@69
+|u+0#af5f00255&|n|i|q| +0#0000000&@70
+|v|m|s|t|a|t|e| @8|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t|;| |o|n|l|y| |a|v|a|i|l|a|b|l|e| |i|n| |9|3|v|-| |a|n|d| |o|l|d|e|r| +0#0000000&@11
+|w+0#af5f00255&|c| +0#0000000&@72
+@57|6|5|,|1| @9|4|6|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh88_05.dump b/runtime/syntax/testdir/dumps/ksh88_05.dump
new file mode 100644 (file)
index 0000000..95bea14
--- /dev/null
@@ -0,0 +1,20 @@
+|w+0#af5f00255#ffffff0|c| +0#0000000&@72
+|x+0#af5f00255&|a|r|g|s| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|x+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+@75
+|#+0#0000e05&| |S|H|A| |c|o|m@1|a|n|d| |n|o|t| |p|r|o|v|i|d|e|d| |a|s| |a| |b|u|i|l|t|i|n| |b|u|t| |i|n|c|l|u|d|e|d| |h|e|r|e| |f|o|r| |c|o|m|p|l|e|t|e|n|e|s@1| +0#0000000&
+>s+0#af5f00255&|h|a|2@1|4|s|u|m| +0#0000000&@65
+@75
+|#+0#0000e05&| |p|o|l@1| |b|u|i|l|t|i|n| |(|9|3|v|-|)| +0#0000000&@53
+|p|o|l@1| |-+0#e000e06&@1|m|a|n| +0#0000000&@64
+@75
+|#+0#0000e05&| |m|k|s|e|r|v|i|c|e| |a|n|d| |e|l|o@1|p| |(|r|a|r|e|l|y| |p|r|o|v|i|d|e|d|;| |r|e|q|u|i|r|e|s| |S|H|O|P|T|_|M|K|S|E|R|V|I|C|E|)| +0#0000000&@9
+|m|k|s|e|r|v|i|c|e| |-+0#e000e06&@1|m|a|n|;+0#0000000&| |e|l|o@1|p| |-+0#e000e06&@1|h|e|l|p| +0#0000000&@45
+@75
+|#+0#0000e05&| |s|o|m|e| |m|k|s|h| |b|u|i|l|t|i|n|s| +0#0000000&@54
+|b|i|n|d|;| |r|e|n|a|m|e| @62
+@75
+|#+0#0000e05&| |;|&| |a|n|d| |;@1|&| |i|n| |c|a|s|e| |s|t|a|t|e|m|e|n|t|s| +0#0000000&@43
+|c+0#af5f00255&|a|s|e| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&@65
+@8|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#ffffff16#ff404010|1+0#e000e06#ffffff0|}| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@57|8|3|,|1| @9|6|0|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh88_06.dump b/runtime/syntax/testdir/dumps/ksh88_06.dump
new file mode 100644 (file)
index 0000000..efb5199
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@7|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#ffffff16#ff404010|1+0#e000e06#ffffff0|}| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@8|f|o@1|)+0#af5f00255&| +0#0000000&|t+0#af5f00255&|r|u|e| +0#0000000&|$+0#e000e06&|{|f|o@1|:+0#ffffff16#ff404010|0+0#e000e06#ffffff0|:+0#ffffff16#ff404010|0+0#e000e06#ffffff0|}| +0#0000000&|;+0#af5f00255&@1|&+0#0000000&| @42
+@8|*|)+0#af5f00255&| +0#0000000&|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{|b|a|r|}| +0#e000002&|;+0#af5f00255&@1| +0#0000000&@48
+|e+0#af5f00255&|s|a|c| +0#0000000&@70
+@75
+>#+0#0000e05&| |B|e|l|o|w| |i|s| |s|u|b|s|h|a|r|e| |s|y|n|t|a|x| |s|u|p@1|o|r|t|e|d| |b|y| |b|o|t|h| |k|s|h|9|3| |a|n|d| |m|k|s|h|.| +0#0000000&@14
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#ffffff16#ff404010|e|c|h|o| |o|n|e| |}+0#e000e06#ffffff0| +0#0000000&@55
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#ffffff16#ff404010@7|e|c|h|o| |t|w|o| +0#0000000#ffffff0@50
+|}+0#e000e06&| +0#0000000&@73
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#0000000&@66
+|e+0#ffffff16#ff404010|c|h|o| |t|h|r|e@1| @5|}+0#e000e06#ffffff0| +0#0000000&@57
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#ffffff16#ff404010|e|c|h|o| |'|f|o|u|r|'|;| |}+0#e000e06#ffffff0| +0#0000000&@51
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#ffffff16#ff404010|e|c|h|o| |'|f|i|v|e|'| |;|}+0#e000e06#ffffff0| +0#0000000&@51
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#ffffff16#ff404010|e|c|h|o| |'|s|i|x|'| +0#0000000#ffffff0@55
+|}+0#e000e06&| +0#0000000&@73
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#ffffff16#ff404010@7|e|c|h|o| |'|s|e|v|e|n|'| @3|}+0#e000e06#ffffff0| +0#0000000&@41
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| +0#ffffff16#ff404010|p|r|i|n|t| |'|e|i|g|h|t|'| @2|}+0#e000e06#ffffff0| +0#0000000&@49
+|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|i|n|e|=+0#0000000&|$+0#e000e06&|{| +0#ffffff16#ff404010|p|w|d|;| |}+0#e000e06#ffffff0| +0#0000000&@52
+@75
+@57|1|0|1|,|1| @8|7|4|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh88_07.dump b/runtime/syntax/testdir/dumps/ksh88_07.dump
new file mode 100644 (file)
index 0000000..f4c2f4d
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| |$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
+|#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| +0#0000000&@43
+|i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|e+0#af5f00255&|v|a|l| +0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| |2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| +0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
+| +0#00e0e07&@7|v|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@16>R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
+@8|}+0#00e0e07&| +0#0000000&@65
+@8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |e|l|e|v|e|n|;|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@36
+@8|p+0#af5f00255&|r|i|n|t|f| +0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|w|e|l|v|e| @6|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@24
+@8|u+0#00e0e07&|n|l|u|c|k|y|=+0#0000000&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|h|i|r|t|e@1|n| +0#0000000#ffffff0@36
+|}+0#e000e06&| +0#0000000&@73
+@8|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|o|t|a|f|l|o|a|t|=+0#0000000&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |n|o|t|a|n|u|m|b|e|r| @5|}+0#e000e06#ffffff0| +0#0000000&@17
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|u|n|l|u|c|k|y| +0#e000002&|$+0#e000e06&|n|o|t|a|n|u|m|b|e|r| +0#0000000&@40
+@8|$+0#e000e06&|{||+0#ffffff16#ff404010|e|c|h|o| |f|o@1|}+0#e000e06#ffffff0| +0#0000000&@54
+@8|$+0#e000e06&|{||+0#ffffff16#ff404010|e|c|h|o| |b|a|r| +0#0000000#ffffff0@55
+|}+0#e000e06&| +0#0000000&@73
+|f+0#af5f00255&|i| +0#0000000&@72
+@75
+@57|1@1|9|,|3|-|1|7| @5|8@1|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh88_08.dump b/runtime/syntax/testdir/dumps/ksh88_08.dump
new file mode 100644 (file)
index 0000000..db8f748
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |=@5| +0#0000000&@66
+|#+0#0000e05&| |S|h|a|r|e|d|-|s|t|a|t|e| |c|o|m@1|a|n|d| |s|u|b|s|t|i|t|u|t|i|o|n|s| |u|s|i|n|g| |t|h|e| |s|y|n|t|a|x| |$|{|<|f|i|l|e|;|}| +0#0000000&@11
+|#+0#0000e05&| |a|r|e| |o|n|l|y| |s|u|p@1|o|r|t|e|d| |b|y| |k|s|h|9|3|,| |n|o|t| |m|k|s|h|.| +0#0000000&@34
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| +0#0000000&@67
+| +0#ffffff16#ff404010@7>p|r|i|n|t|f| |%|s| |s|t|r| +0#0000000#ffffff0@53
+|}+0#e000e06&| +0#e000002&|>+0#af5f00255&| +0#0000000&|/|t|m|p|/|s|t|r|f|i|l|e| @58
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|<+0#ffffff16#ff404010|/|t|m|p|/|s|t|r|f|i|l|e|;|}+0#e000e06#ffffff0| +0#0000000&@52
+@75
+|e+0#af5f00255&|x|i|t| +0#0000000&|0+0#e000002&| +0#0000000&@68
+|#+0#0000e05&| |k|s|h|8@1| |a|n|d| |k|s|h|9|3| |n|o|n|-|d|o|t| |s|p|e|c|i|a|l| |v|a|r|i|a|b|l|e|s| +0#0000000&@31
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#ffffff16#ff404010|R|A|N|D|O|M|=| |S|R|A|N|D|O|M|=| |S|H|L|V|L|=| |J|O|B|M|A|X|=| |K|S|H|_|V|E|R|S|I|O|N|=| |F|I|G|N|O|R|E|=| |L|C|_|T|I|M|E|=| |L|C|_
+|N|U|M|E|R|I|C|=| |L|C|_|M|E|S@1|A|G|E|S|=| |L|C|_|C|T|Y|P|E|=| |L|C|_|C|O|L@1|A|T|E|=| |L|C|_|A|L@1|=| |L|A|N|G|=| |F|P|A|T|H|=| |P|S|4+0#e000e06#ffffff0|=+0#af5f00255&| +0#0000000&|O|P|T|I|N
+|D|=| |O|P|T|A|R|G|=| |t|r|u|e| |;|}+0#e000e06&| +0#0000000&@56
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|L|I|N|E|N|O|=+0#af5f00255&| +0#e000e06&|S|E|C|O|N|D|S|=+0#af5f00255&| +0#e000e06&|T|M|O|U|T|=+0#af5f00255&| +0#e000e06&|P@1|I|D|=+0#af5f00255&| +0#e000e06&|L|I|N|E|S|=+0#af5f00255&| +0#e000e06&|C|O|L|U|M|N|S|=+0#af5f00255&| +0#e000e06&|V|I|S|U|A|L|=+0#af5f00255&| +0#e000e06&|O|L|D|P|W|D|=+0#af5f00255&| +0#e000e06&|P|S|3|=+0#af5f00255&| +0#e000e06&
+|M|A|I|L|P|A|T|H|=+0#af5f00255&| +0#e000e06&|C|D|P|A|T|H|=+0#af5f00255&| +0#e000e06&|F|C|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|C|M|D|=+0#af5f00255&| +0#e000e06&|H|I|S|T|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|S|I|Z|E|=+0#af5f00255&| +0#e000e06&|H|I|S|T|F|I|L|E|=+0#af5f00255&| +0#e000e06&|E|N|V|=+0#af5f00255&| +0#e000e06&|M|A|I|L|C
+|H|E|C|K|=+0#af5f00255&| +0#e000e06&|E|D|I|T|O|R|=+0#af5f00255&| +0#e000e06&|S|H|E|L@1|=+0#af5f00255&| +0#e000e06&|f+0#af5f00255&|a|l|s|e|)+0#e000e06&| +0#0000000&@47
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S+0#00e0e07&|H|_|O|P|T|I|O|N|S|=+0#0000000&| +0#e000e06&|E|R@1|N|O|=+0#af5f00255&| +0#e000e06&|C+0#00e0e07&|O|M
+|P|_|C|W|O|R|D|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|L|I|N|E|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|P|O|I|N|T|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|W|O|R|D|S|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|K|E|Y|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|R|E|P|L|Y|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|W|O|@+0#4040ff13&@2
+| +0#0000000&@56|1|3|7|,|2|-|9| @6|9|8|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh88_09.dump b/runtime/syntax/testdir/dumps/ksh88_09.dump
new file mode 100644 (file)
index 0000000..3906242
--- /dev/null
@@ -0,0 +1,20 @@
+|p+0#af5f00255#ffffff0|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S+0#00e0e07&|H|_|O|P|T|I|O|N|S|=+0#0000000&| +0#e000e06&|E|R@1|N|O|=+0#af5f00255&| +0#e000e06&|C+0#00e0e07&|O|M
+|P|_|C|W|O|R|D|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|L|I|N|E|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|P|O|I|N|T|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|W|O|R|D|S|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|K|E|Y|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|R|E|P|L|Y|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|W|O|R|D|B
+|R|E|A|K|S|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|T|Y|P|E|=+0#0000000&| +0#e000e06&|c|o|m|p|g|e|n|)| +0#0000000&@48
+>p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|B+0#00e0e07&|A|S|H|P|I|D|=+0#0000000&| +0#e000e06&|E+0#00e0e07&|P|O|C|H|R|E|A|L|T|I|M|E|=+0#0000000&| +0#e000e06&|E+0#00e0e07&|X|E|C|S|H|E|L@1|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|E|G|I|D|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|G|I|D|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|U|I|D|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|_|M|A|T
+|C|H|=+0#0000000&| +0#e000e06&|P+0#00e0e07&|A|T|H|S|E|P|=+0#0000000&| +0#e000e06&|P+0#00e0e07&|G|R|P|=+0#0000000&| +0#e000e06&|P+0#00e0e07&|I|P|E|S|T|A|T|U|S|=+0#0000000&| +0#e000e06&|T+0#00e0e07&|M|P|D|I|R|=+0#0000000&| +0#e000e06&|U+0#00e0e07&|S|E|R|_|I|D|=+0#0000000&| +0#e000e06&|V+0#00e0e07&|P|A|T|H|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|S|W|I|D|T|H|=+0#0000000&| +0#e000e06&|c|o|m|p|l|e|t|e|)| +0#0000000&@1
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|4|6|,|1| @8|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/ksh93_generic_00.dump b/runtime/syntax/testdir/dumps/ksh93_generic_00.dump
new file mode 100644 (file)
index 0000000..a1a110b
--- /dev/null
@@ -0,0 +1,20 @@
+>#+0#0000e05#ffffff0|!|/|b|i|n|/|k|s|h|9|3| +0#0000000&@62
+@75
+|#+0#0000e05&| |R|e|n|d|e|r|i|n|g| |n|a|m|e|s|p|a|c|e| |v|a|r|i|a|b|l|e|s| +0#0000000&@43
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|a+0#0000000&|d|s|f|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|a+0#0000000&|z|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|[|v+0#0000000&|a|r|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|*+0#0000000&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|#+0#af5f00255&
+@1|b+0#0000000&|a|z|}+0#e000e06&| +0#0000000&@69
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|3+0#e000002&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|z+0#0000000&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|s|h|.|v|e|r|s|i|o|n|/+0#af5f00255&|V+0#0000000&|/+0#af5f00255&|b+0#0000000&|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o
+|n|/+0#af5f00255&|V+0#0000000&|/+0#af5f00255&|b+0#0000000&|}+0#e000e06&| +0#0000000&@68
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|d+0#0000000&|]+0#e000e06&|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&
+|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|b|a|r|.|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&
+|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#af5f00255&@1|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|^+0#af5f00255&@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|,+0#af5f00255&@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#af5f00255&|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#af5f00255&|}+0#e000e06&| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a+0#af5f00255&|l|a|r|m| +0#0000000&|-+0#e000e06&@1|m|a|n| +0#0000000&@63
+|#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+@57|1|,|1| @10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/ksh93_generic_01.dump b/runtime/syntax/testdir/dumps/ksh93_generic_01.dump
new file mode 100644 (file)
index 0000000..53c0db0
--- /dev/null
@@ -0,0 +1,20 @@
+|e+0#af5f00255#ffffff0|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#af5f00255&@1|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|^+0#af5f00255&@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|,+0#af5f00255&@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#af5f00255&|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#af5f00255&|}+0#e000e06&| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a+0#af5f00255&|l|a|r|m| +0#0000000&|-+0#e000e06&@1|m|a|n| +0#0000000&@63
+>#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+|#+0#0000e05&| |a|n|d| |2|0@1|8|-|0|6|-|0|2|,| |r|e|s|p|e|c|t|i|v|e|l|y|.| |H|o|w|e|v|e|r|,| |t|h|e|s|e| |w|e|r|e| |n|o|t| |r|e|a|d|i|l|y| |e|n|a|b|l|e|d|;| |i|n
+|#| |9|3|u|+|m| |t|h|e|s|e| |c|a|n| |b|e| |e|n|a|b|l|e|d| |w|i|t|h| |t|h|e| |b|u|i|l|t|i|n| |c|o|m@1|a|n|d| |i|f| |l|i|b|c|m|d|.|s|o| |i|s| |p|r|e|s|e
+|n|t|,| +0#0000000&@71
+|#+0#0000e05&| |e|i|t|h|e|r| |v|i|a| |'|b|u|i|l|t|i|n| |-|f|'| |o|r| |(|i|n| |m|o|r|e| |r|e|c|e|n|t| |c|o|m@1|i|t|s|)| |w|i|t|h| |a| |r|e|g|u|l|a|r| |i|n|v|o|c|a
+|t|i|o|n| +0#0000000&@70
+|#+0#0000e05&| |o|f| |t|h|e| |'|b|u|i|l|t|i|n|'| |b|u|i|l|t|-|i|n|.| +0#0000000&@46
+|#+0#0000e05&| |c|f|.| |h|t@1|p|s|:|/@1|g|i|t|h|u|b|.|c|o|m|/|k|s|h|9|3|/|k|s|h|/|c|o|m@1|i|t|/|f|1|5|e|2|c|4|1| +0#0000000&@24
+|b+0#af5f00255&|u|i|l|t|i|n| +0#0000000&|f+0#af5f00255&|d|s| +0#0000000&|p+0#af5f00255&|i|d|s| +0#0000000&@58
+|f+0#af5f00255&|d|s|;+0#0000000&| |p+0#af5f00255&|i|d|s| +0#0000000&@65
+@75
+|#+0#0000e05&| |U|n|i|x| |c|o|m@1|a|n|d|s| |w|h|i|c|h| |a|r|e| |p|r|o|v|i|d|e|d| |b|y| |k|s|h| |a|s| |b|u|i|l|t|i|n|s| |v|i|a| |l|i|b|c|m|d|.|s|o| +0#0000000&@7
+|b+0#af5f00255&|a|s|e|n|a|m|e| +0#0000000&@66
+@57|1|4|,|1| @10|6|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93_generic_02.dump b/runtime/syntax/testdir/dumps/ksh93_generic_02.dump
new file mode 100644 (file)
index 0000000..d8825d3
--- /dev/null
@@ -0,0 +1,20 @@
+|b+0#af5f00255#ffffff0|a|s|e|n|a|m|e| +0#0000000&@66
+|c+0#af5f00255&|a|t| +0#0000000&@71
+|c+0#af5f00255&|h|g|r|p| +0#0000000&@69
+|c+0#af5f00255&|h|m|o|d| +0#0000000&@69
+|c+0#af5f00255&|h|o|w|n| +0#0000000&@69
+>c+0#af5f00255&|k|s|u|m| +0#0000000&@69
+|c+0#af5f00255&|m|p| +0#0000000&@71
+|c+0#af5f00255&|o|m@1| +0#0000000&@70
+|c+0#af5f00255&|p| +0#0000000&@72
+|c+0#af5f00255&|u|t| +0#0000000&@71
+|d+0#af5f00255&|a|t|e| +0#0000000&@70
+|d+0#af5f00255&|i|r|n|a|m|e| +0#0000000&@67
+|e+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|e+0#af5f00255&|x|p|r| +0#0000000&@70
+|f+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|f+0#af5f00255&|m|t| +0#0000000&@71
+|f+0#af5f00255&|o|l|d| +0#0000000&@70
+|g+0#af5f00255&|e|t|c|o|n|f| +0#0000000&@67
+|g+0#af5f00255&|r|e|p| +0#0000000&@70
+@57|2|9|,|1| @9|1|8|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93_generic_03.dump b/runtime/syntax/testdir/dumps/ksh93_generic_03.dump
new file mode 100644 (file)
index 0000000..f166483
--- /dev/null
@@ -0,0 +1,20 @@
+|g+0#af5f00255#ffffff0|r|e|p| +0#0000000&@70
+|h+0#af5f00255&|e|a|d| +0#0000000&@70
+|i+0#af5f00255&|c|o|n|v| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|i+0#af5f00255&|d| +0#0000000&@72
+|j+0#af5f00255&|o|i|n| +0#0000000&@70
+>l+0#af5f00255&|n| +0#0000000&@72
+|l+0#af5f00255&|o|g|n|a|m|e| +0#0000000&@67
+|l+0#af5f00255&|s| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|m+0#af5f00255&|d|5|s|u|m| +0#0000000&@68
+|m+0#af5f00255&|k|d|i|r| +0#0000000&@69
+|m+0#af5f00255&|k|f|i|f|o| +0#0000000&@68
+|m+0#af5f00255&|k|t|e|m|p| +0#0000000&@68
+|m+0#af5f00255&|v| +0#0000000&@72
+|o+0#af5f00255&|d| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|p+0#af5f00255&|a|s|t|e| +0#0000000&@69
+|p+0#af5f00255&|a|t|h|c|h|k| +0#0000000&@67
+|r+0#af5f00255&|e|a|d|l|i|n|k| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|a|l|p|a|t|h| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|v| +0#0000000&@71
+@57|4|7|,|1| @9|3|2|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93_generic_04.dump b/runtime/syntax/testdir/dumps/ksh93_generic_04.dump
new file mode 100644 (file)
index 0000000..8ac496a
--- /dev/null
@@ -0,0 +1,20 @@
+|r+0#af5f00255#ffffff0|e|v| +0#0000000&@71
+|r+0#af5f00255&|m| +0#0000000&@72
+|r+0#af5f00255&|m|d|i|r| +0#0000000&@69
+|s+0#af5f00255&|h|a|1|s|u|m| +0#0000000&@8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|2|5|6|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+>s+0#af5f00255&|h|a|2|s|u|m| +0#0000000&@8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|3|8|4|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|5|1|2|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|t@1|y| +0#0000000&@70
+|s+0#af5f00255&|u|m| +0#0000000&@71
+|s+0#af5f00255&|y|n|c| +0#0000000&@70
+|t+0#af5f00255&|a|i|l| +0#0000000&@70
+|t+0#af5f00255&|e@1| +0#0000000&@71
+|t+0#af5f00255&|r| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|t+0#af5f00255&@1|y| +0#0000000&@71
+|u+0#af5f00255&|n|a|m|e| +0#0000000&@69
+|u+0#af5f00255&|n|i|q| +0#0000000&@70
+|v+0#af5f00255&|m|s|t|a|t|e| +0#0000000&@8|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t|;| |o|n|l|y| |a|v|a|i|l|a|b|l|e| |i|n| |9|3|v|-| |a|n|d| |o|l|d|e|r| +0#0000000&@11
+|w+0#af5f00255&|c| +0#0000000&@72
+@57|6|5|,|1| @9|4|6|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93_generic_05.dump b/runtime/syntax/testdir/dumps/ksh93_generic_05.dump
new file mode 100644 (file)
index 0000000..4f4d4c8
--- /dev/null
@@ -0,0 +1,20 @@
+|w+0#af5f00255#ffffff0|c| +0#0000000&@72
+|x+0#af5f00255&|a|r|g|s| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|x+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+@75
+|#+0#0000e05&| |S|H|A| |c|o|m@1|a|n|d| |n|o|t| |p|r|o|v|i|d|e|d| |a|s| |a| |b|u|i|l|t|i|n| |b|u|t| |i|n|c|l|u|d|e|d| |h|e|r|e| |f|o|r| |c|o|m|p|l|e|t|e|n|e|s@1| +0#0000000&
+>s+0#af5f00255&|h|a|2@1|4|s|u|m| +0#0000000&@65
+@75
+|#+0#0000e05&| |p|o|l@1| |b|u|i|l|t|i|n| |(|9|3|v|-|)| +0#0000000&@53
+|p+0#af5f00255&|o|l@1| +0#0000000&|-+0#e000e06&@1|m|a|n| +0#0000000&@64
+@75
+|#+0#0000e05&| |m|k|s|e|r|v|i|c|e| |a|n|d| |e|l|o@1|p| |(|r|a|r|e|l|y| |p|r|o|v|i|d|e|d|;| |r|e|q|u|i|r|e|s| |S|H|O|P|T|_|M|K|S|E|R|V|I|C|E|)| +0#0000000&@9
+|m+0#af5f00255&|k|s|e|r|v|i|c|e| +0#0000000&|-+0#e000e06&@1|m|a|n|;+0#0000000&| |e+0#af5f00255&|l|o@1|p| +0#0000000&|-+0#e000e06&@1|h|e|l|p| +0#0000000&@45
+@75
+|#+0#0000e05&| |s|o|m|e| |m|k|s|h| |b|u|i|l|t|i|n|s| +0#0000000&@54
+|b+0#af5f00255&|i|n|d|;+0#0000000&| |r+0#af5f00255&|e|n|a|m|e| +0#0000000&@62
+@75
+|#+0#0000e05&| |;|&| |a|n|d| |;@1|&| |i|n| |c|a|s|e| |s|t|a|t|e|m|e|n|t|s| +0#0000000&@43
+|c+0#af5f00255&|a|s|e| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&@65
+@8|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#0000000&|1|}+0#e000e06&| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@57|8|3|,|1| @9|6|0|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93_generic_06.dump b/runtime/syntax/testdir/dumps/ksh93_generic_06.dump
new file mode 100644 (file)
index 0000000..31f0b12
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@7|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#0000000&|1|}+0#e000e06&| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@8|f|o@1|)+0#af5f00255&| +0#0000000&|t+0#af5f00255&|r|u|e| +0#0000000&|$+0#e000e06&|{|f|o@1|:+0#0000000&|0|:|0|}+0#e000e06&| +0#0000000&|;+0#af5f00255&@1|&| +0#0000000&@42
+@8|*|)+0#af5f00255&| +0#0000000&|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{|b|a|r|}| +0#e000002&|;+0#af5f00255&@1| +0#0000000&@48
+|e+0#af5f00255&|s|a|c| +0#0000000&@70
+@75
+>#+0#0000e05&| |B|e|l|o|w| |i|s| |s|u|b|s|h|a|r|e| |s|y|n|t|a|x| |s|u|p@1|o|r|t|e|d| |b|y| |b|o|t|h| |k|s|h|9|3| |a|n|d| |m|k|s|h|.| +0#0000000&@14
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|o|n|e| +0#e000e06&|}| +0#0000000&@55
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|t|w|o| +0#0000000&@50
+|}+0#e000e06&| +0#0000000&@73
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#0000000&@66
+|e+0#af5f00255&|c|h|o| +0#e000002&|t|h|r|e@1| +0#e000e06&@5|}| +0#0000000&@57
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|f+0#e000002&|o|u|r|'+0#af5f00255&|;| +0#e000e06&|}| +0#0000000&@51
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|f+0#e000002&|i|v|e|'+0#af5f00255&| +0#e000002&|;+0#e000e06&|}| +0#0000000&@51
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|i|x|'+0#af5f00255&| +0#0000000&@55
+|}+0#e000e06&| +0#0000000&@73
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|e|v|e|n|'+0#af5f00255&| +0#e000e06&@3|}| +0#0000000&@41
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| |p+0#af5f00255&|r|i|n|t| +0#e000002&|'+0#af5f00255&|e+0#e000002&|i|g|h|t|'+0#af5f00255&| +0#e000e06&@2|}| +0#0000000&@49
+|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|i|n|e|=+0#0000000&|$+0#e000e06&|{| |p+0#af5f00255&|w|d|;| +0#e000e06&|}| +0#0000000&@52
+@75
+@57|1|0|1|,|1| @8|7|4|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93_generic_07.dump b/runtime/syntax/testdir/dumps/ksh93_generic_07.dump
new file mode 100644 (file)
index 0000000..f4c2f4d
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| |$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
+|#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| +0#0000000&@43
+|i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|e+0#af5f00255&|v|a|l| +0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| |2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| +0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
+| +0#00e0e07&@7|v|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@16>R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
+@8|}+0#00e0e07&| +0#0000000&@65
+@8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |e|l|e|v|e|n|;|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@36
+@8|p+0#af5f00255&|r|i|n|t|f| +0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|w|e|l|v|e| @6|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@24
+@8|u+0#00e0e07&|n|l|u|c|k|y|=+0#0000000&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|h|i|r|t|e@1|n| +0#0000000#ffffff0@36
+|}+0#e000e06&| +0#0000000&@73
+@8|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|o|t|a|f|l|o|a|t|=+0#0000000&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |n|o|t|a|n|u|m|b|e|r| @5|}+0#e000e06#ffffff0| +0#0000000&@17
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|u|n|l|u|c|k|y| +0#e000002&|$+0#e000e06&|n|o|t|a|n|u|m|b|e|r| +0#0000000&@40
+@8|$+0#e000e06&|{||+0#ffffff16#ff404010|e|c|h|o| |f|o@1|}+0#e000e06#ffffff0| +0#0000000&@54
+@8|$+0#e000e06&|{||+0#ffffff16#ff404010|e|c|h|o| |b|a|r| +0#0000000#ffffff0@55
+|}+0#e000e06&| +0#0000000&@73
+|f+0#af5f00255&|i| +0#0000000&@72
+@75
+@57|1@1|9|,|3|-|1|7| @5|8@1|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93_generic_08.dump b/runtime/syntax/testdir/dumps/ksh93_generic_08.dump
new file mode 100644 (file)
index 0000000..057e10d
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |=@5| +0#0000000&@66
+|#+0#0000e05&| |S|h|a|r|e|d|-|s|t|a|t|e| |c|o|m@1|a|n|d| |s|u|b|s|t|i|t|u|t|i|o|n|s| |u|s|i|n|g| |t|h|e| |s|y|n|t|a|x| |$|{|<|f|i|l|e|;|}| +0#0000000&@11
+|#+0#0000e05&| |a|r|e| |o|n|l|y| |s|u|p@1|o|r|t|e|d| |b|y| |k|s|h|9|3|,| |n|o|t| |m|k|s|h|.| +0#0000000&@34
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| +0#0000000&@67
+| +0#e000e06&@7>p+0#af5f00255&|r|i|n|t|f| +0#e000e06&|%|s| |s|t|r| +0#0000000&@53
+|}+0#e000e06&| +0#e000002&|>+0#af5f00255&| +0#0000000&|/|t|m|p|/|s|t|r|f|i|l|e| @58
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|<+0#af5f00255&|/+0#e000e06&|t|m|p|/|s|t|r|f|i|l|e|;|}| +0#0000000&@52
+@75
+|e+0#af5f00255&|x|i|t| +0#0000000&|0+0#e000002&| +0#0000000&@68
+|#+0#0000e05&| |k|s|h|8@1| |a|n|d| |k|s|h|9|3| |n|o|n|-|d|o|t| |s|p|e|c|i|a|l| |v|a|r|i|a|b|l|e|s| +0#0000000&@31
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |R|A|N|D|O|M|=+0#af5f00255&| +0#e000e06&|S|R|A|N|D|O|M|=+0#af5f00255&| +0#e000e06&|S|H|L|V|L|=+0#af5f00255&| +0#e000e06&|J|O|B|M|A|X|=+0#af5f00255&| +0#e000e06&|K|S|H|_|V|E|R|S|I|O|N|=+0#af5f00255&| +0#e000e06&|F|I|G|N|O|R|E|=+0#af5f00255&| +0#e000e06&|L|C|_|T|I|M|E|=+0#af5f00255&| +0#e000e06&|L|C|_
+|N|U|M|E|R|I|C|=+0#af5f00255&| +0#e000e06&|L|C|_|M|E|S@1|A|G|E|S|=+0#af5f00255&| +0#e000e06&|L|C|_|C|T|Y|P|E|=+0#af5f00255&| +0#e000e06&|L|C|_|C|O|L@1|A|T|E|=+0#af5f00255&| +0#e000e06&|L|C|_|A|L@1|=+0#af5f00255&| +0#e000e06&|L|A|N|G|=+0#af5f00255&| +0#e000e06&|F|P|A|T|H|=+0#af5f00255&| +0#e000e06&|P|S|4|=+0#af5f00255&| +0#e000e06&|O|P|T|I|N
+|D|=+0#af5f00255&| +0#e000e06&|O|P|T|A|R|G|=+0#af5f00255&| +0#e000e06&|t+0#af5f00255&|r|u|e| +0#e000e06&|;|}| +0#0000000&@56
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|L|I|N|E|N|O|=+0#af5f00255&| +0#e000e06&|S|E|C|O|N|D|S|=+0#af5f00255&| +0#e000e06&|T|M|O|U|T|=+0#af5f00255&| +0#e000e06&|P@1|I|D|=+0#af5f00255&| +0#e000e06&|L|I|N|E|S|=+0#af5f00255&| +0#e000e06&|C|O|L|U|M|N|S|=+0#af5f00255&| +0#e000e06&|V|I|S|U|A|L|=+0#af5f00255&| +0#e000e06&|O|L|D|P|W|D|=+0#af5f00255&| +0#e000e06&|P|S|3|=+0#af5f00255&| +0#e000e06&
+|M|A|I|L|P|A|T|H|=+0#af5f00255&| +0#e000e06&|C|D|P|A|T|H|=+0#af5f00255&| +0#e000e06&|F|C|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|C|M|D|=+0#af5f00255&| +0#e000e06&|H|I|S|T|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|S|I|Z|E|=+0#af5f00255&| +0#e000e06&|H|I|S|T|F|I|L|E|=+0#af5f00255&| +0#e000e06&|E|N|V|=+0#af5f00255&| +0#e000e06&|M|A|I|L|C
+|H|E|C|K|=+0#af5f00255&| +0#e000e06&|E|D|I|T|O|R|=+0#af5f00255&| +0#e000e06&|S|H|E|L@1|=+0#af5f00255&| +0#e000e06&|f+0#af5f00255&|a|l|s|e|)+0#e000e06&| +0#0000000&@47
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S|H|_|O|P|T|I|O|N|S|=+0#af5f00255&| +0#e000e06&|E+0#00e0e07&|R@1|N|O|=+0#0000000&| +0#e000e06&|C|O|M
+|P|_|C|W|O|R|D|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|L|I|N|E|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|P|O|I|N|T|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|R|D|S|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|K|E|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|@+0#4040ff13&@2
+| +0#0000000&@56|1|3|7|,|2|-|9| @6|9|8|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93_generic_09.dump b/runtime/syntax/testdir/dumps/ksh93_generic_09.dump
new file mode 100644 (file)
index 0000000..c457cc0
--- /dev/null
@@ -0,0 +1,20 @@
+|p+0#af5f00255#ffffff0|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S|H|_|O|P|T|I|O|N|S|=+0#af5f00255&| +0#e000e06&|E+0#00e0e07&|R@1|N|O|=+0#0000000&| +0#e000e06&|C|O|M
+|P|_|C|W|O|R|D|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|L|I|N|E|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|P|O|I|N|T|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|R|D|S|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|K|E|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|R|D|B
+|R|E|A|K|S|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|T|Y|P|E|=+0#af5f00255&| +0#e000e06&|c+0#af5f00255&|o|m|p|g|e|n|)+0#e000e06&| +0#0000000&@48
+>p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|B|A|S|H|P|I|D|=+0#af5f00255&| +0#e000e06&|E|P|O|C|H|R|E|A|L|T|I|M|E|=+0#af5f00255&| +0#e000e06&|E|X|E|C|S|H|E|L@1|=+0#af5f00255&| +0#e000e06&|K|S|H|E|G|I|D|=+0#af5f00255&| +0#e000e06&|K|S|H|G|I|D|=+0#af5f00255&| +0#e000e06&|K|S|H|U|I|D|=+0#af5f00255&| +0#e000e06&|K|S|H|_|M|A|T
+|C|H|=+0#af5f00255&| +0#e000e06&|P|A|T|H|S|E|P|=+0#af5f00255&| +0#e000e06&|P|G|R|P|=+0#af5f00255&| +0#e000e06&|P|I|P|E|S|T|A|T|U|S|=+0#af5f00255&| +0#e000e06&|T|M|P|D|I|R|=+0#af5f00255&| +0#e000e06&|U|S|E|R|_|I|D|=+0#af5f00255&| +0#e000e06&|V|P|A|T|H|=+0#af5f00255&| +0#e000e06&|C|S|W|I|D|T|H|=+0#af5f00255&| +0#e000e06&|c+0#af5f00255&|o|m|p|l|e|t|e|)+0#e000e06&| +0#0000000&@1
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|4|6|,|1| @8|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/ksh93u_00.dump b/runtime/syntax/testdir/dumps/ksh93u_00.dump
new file mode 100644 (file)
index 0000000..47b1b69
--- /dev/null
@@ -0,0 +1,20 @@
+>#+0#0000e05#ffffff0|!|/|b|i|n|/|k|s|h|9|3|u|+| +0#0000000&@60
+@75
+|#+0#0000e05&| |R|e|n|d|e|r|i|n|g| |n|a|m|e|s|p|a|c|e| |v|a|r|i|a|b|l|e|s| +0#0000000&@43
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|a+0#0000000&|d|s|f|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|a+0#0000000&|z|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|[|v+0#0000000&|a|r|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|*+0#0000000&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|#+0#af5f00255&
+@1|b+0#0000000&|a|z|}+0#e000e06&| +0#0000000&@69
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|3+0#e000002&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|z+0#0000000&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|s|h|.|v|e|r|s|i|o|n|/+0#af5f00255&|V+0#0000000&|/+0#af5f00255&|b+0#0000000&|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o
+|n|/+0#af5f00255&|V+0#0000000&|/+0#af5f00255&|b+0#0000000&|}+0#e000e06&| +0#0000000&@68
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|d+0#0000000&|]+0#e000e06&|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&
+|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|b|a|r|.|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&
+|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#af5f00255&@1|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|^@1|}| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|,@1|}| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a+0#af5f00255&|l|a|r|m| +0#0000000&|-+0#e000e06&@1|m|a|n| +0#0000000&@63
+|#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+@57|1|,|1| @10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/ksh93u_01.dump b/runtime/syntax/testdir/dumps/ksh93u_01.dump
new file mode 100644 (file)
index 0000000..a0e8c19
--- /dev/null
@@ -0,0 +1,20 @@
+|e+0#af5f00255#ffffff0|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#af5f00255&@1|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|^@1|}| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|,@1|}| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a+0#af5f00255&|l|a|r|m| +0#0000000&|-+0#e000e06&@1|m|a|n| +0#0000000&@63
+>#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+|#+0#0000e05&| |a|n|d| |2|0@1|8|-|0|6|-|0|2|,| |r|e|s|p|e|c|t|i|v|e|l|y|.| |H|o|w|e|v|e|r|,| |t|h|e|s|e| |w|e|r|e| |n|o|t| |r|e|a|d|i|l|y| |e|n|a|b|l|e|d|;| |i|n
+|#| |9|3|u|+|m| |t|h|e|s|e| |c|a|n| |b|e| |e|n|a|b|l|e|d| |w|i|t|h| |t|h|e| |b|u|i|l|t|i|n| |c|o|m@1|a|n|d| |i|f| |l|i|b|c|m|d|.|s|o| |i|s| |p|r|e|s|e
+|n|t|,| +0#0000000&@71
+|#+0#0000e05&| |e|i|t|h|e|r| |v|i|a| |'|b|u|i|l|t|i|n| |-|f|'| |o|r| |(|i|n| |m|o|r|e| |r|e|c|e|n|t| |c|o|m@1|i|t|s|)| |w|i|t|h| |a| |r|e|g|u|l|a|r| |i|n|v|o|c|a
+|t|i|o|n| +0#0000000&@70
+|#+0#0000e05&| |o|f| |t|h|e| |'|b|u|i|l|t|i|n|'| |b|u|i|l|t|-|i|n|.| +0#0000000&@46
+|#+0#0000e05&| |c|f|.| |h|t@1|p|s|:|/@1|g|i|t|h|u|b|.|c|o|m|/|k|s|h|9|3|/|k|s|h|/|c|o|m@1|i|t|/|f|1|5|e|2|c|4|1| +0#0000000&@24
+|b+0#af5f00255&|u|i|l|t|i|n| +0#0000000&|f+0#af5f00255&|d|s| +0#0000000&|p+0#af5f00255&|i|d|s| +0#0000000&@58
+|f+0#af5f00255&|d|s|;+0#0000000&| |p+0#af5f00255&|i|d|s| +0#0000000&@65
+@75
+|#+0#0000e05&| |U|n|i|x| |c|o|m@1|a|n|d|s| |w|h|i|c|h| |a|r|e| |p|r|o|v|i|d|e|d| |b|y| |k|s|h| |a|s| |b|u|i|l|t|i|n|s| |v|i|a| |l|i|b|c|m|d|.|s|o| +0#0000000&@7
+|b+0#af5f00255&|a|s|e|n|a|m|e| +0#0000000&@66
+@57|1|4|,|1| @10|6|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93u_02.dump b/runtime/syntax/testdir/dumps/ksh93u_02.dump
new file mode 100644 (file)
index 0000000..d8825d3
--- /dev/null
@@ -0,0 +1,20 @@
+|b+0#af5f00255#ffffff0|a|s|e|n|a|m|e| +0#0000000&@66
+|c+0#af5f00255&|a|t| +0#0000000&@71
+|c+0#af5f00255&|h|g|r|p| +0#0000000&@69
+|c+0#af5f00255&|h|m|o|d| +0#0000000&@69
+|c+0#af5f00255&|h|o|w|n| +0#0000000&@69
+>c+0#af5f00255&|k|s|u|m| +0#0000000&@69
+|c+0#af5f00255&|m|p| +0#0000000&@71
+|c+0#af5f00255&|o|m@1| +0#0000000&@70
+|c+0#af5f00255&|p| +0#0000000&@72
+|c+0#af5f00255&|u|t| +0#0000000&@71
+|d+0#af5f00255&|a|t|e| +0#0000000&@70
+|d+0#af5f00255&|i|r|n|a|m|e| +0#0000000&@67
+|e+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|e+0#af5f00255&|x|p|r| +0#0000000&@70
+|f+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|f+0#af5f00255&|m|t| +0#0000000&@71
+|f+0#af5f00255&|o|l|d| +0#0000000&@70
+|g+0#af5f00255&|e|t|c|o|n|f| +0#0000000&@67
+|g+0#af5f00255&|r|e|p| +0#0000000&@70
+@57|2|9|,|1| @9|1|8|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93u_03.dump b/runtime/syntax/testdir/dumps/ksh93u_03.dump
new file mode 100644 (file)
index 0000000..f166483
--- /dev/null
@@ -0,0 +1,20 @@
+|g+0#af5f00255#ffffff0|r|e|p| +0#0000000&@70
+|h+0#af5f00255&|e|a|d| +0#0000000&@70
+|i+0#af5f00255&|c|o|n|v| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|i+0#af5f00255&|d| +0#0000000&@72
+|j+0#af5f00255&|o|i|n| +0#0000000&@70
+>l+0#af5f00255&|n| +0#0000000&@72
+|l+0#af5f00255&|o|g|n|a|m|e| +0#0000000&@67
+|l+0#af5f00255&|s| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|m+0#af5f00255&|d|5|s|u|m| +0#0000000&@68
+|m+0#af5f00255&|k|d|i|r| +0#0000000&@69
+|m+0#af5f00255&|k|f|i|f|o| +0#0000000&@68
+|m+0#af5f00255&|k|t|e|m|p| +0#0000000&@68
+|m+0#af5f00255&|v| +0#0000000&@72
+|o+0#af5f00255&|d| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|p+0#af5f00255&|a|s|t|e| +0#0000000&@69
+|p+0#af5f00255&|a|t|h|c|h|k| +0#0000000&@67
+|r+0#af5f00255&|e|a|d|l|i|n|k| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|a|l|p|a|t|h| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|v| +0#0000000&@71
+@57|4|7|,|1| @9|3|2|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93u_04.dump b/runtime/syntax/testdir/dumps/ksh93u_04.dump
new file mode 100644 (file)
index 0000000..62dc328
--- /dev/null
@@ -0,0 +1,20 @@
+|r+0#af5f00255#ffffff0|e|v| +0#0000000&@71
+|r+0#af5f00255&|m| +0#0000000&@72
+|r+0#af5f00255&|m|d|i|r| +0#0000000&@69
+|s+0#af5f00255&|h|a|1|s|u|m| +0#0000000&@8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|2|5|6|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+>s|h|a|2|s|u|m| @8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|3|8|4|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|5|1|2|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|t@1|y| +0#0000000&@70
+|s+0#af5f00255&|u|m| +0#0000000&@71
+|s+0#af5f00255&|y|n|c| +0#0000000&@70
+|t+0#af5f00255&|a|i|l| +0#0000000&@70
+|t+0#af5f00255&|e@1| +0#0000000&@71
+|t+0#af5f00255&|r| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|t+0#af5f00255&@1|y| +0#0000000&@71
+|u+0#af5f00255&|n|a|m|e| +0#0000000&@69
+|u+0#af5f00255&|n|i|q| +0#0000000&@70
+|v+0#af5f00255&|m|s|t|a|t|e| +0#0000000&@8|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t|;| |o|n|l|y| |a|v|a|i|l|a|b|l|e| |i|n| |9|3|v|-| |a|n|d| |o|l|d|e|r| +0#0000000&@11
+|w+0#af5f00255&|c| +0#0000000&@72
+@57|6|5|,|1| @9|4|6|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93u_05.dump b/runtime/syntax/testdir/dumps/ksh93u_05.dump
new file mode 100644 (file)
index 0000000..ba9f354
--- /dev/null
@@ -0,0 +1,20 @@
+|w+0#af5f00255#ffffff0|c| +0#0000000&@72
+|x+0#af5f00255&|a|r|g|s| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|x+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+@75
+|#+0#0000e05&| |S|H|A| |c|o|m@1|a|n|d| |n|o|t| |p|r|o|v|i|d|e|d| |a|s| |a| |b|u|i|l|t|i|n| |b|u|t| |i|n|c|l|u|d|e|d| |h|e|r|e| |f|o|r| |c|o|m|p|l|e|t|e|n|e|s@1| +0#0000000&
+>s+0#af5f00255&|h|a|2@1|4|s|u|m| +0#0000000&@65
+@75
+|#+0#0000e05&| |p|o|l@1| |b|u|i|l|t|i|n| |(|9|3|v|-|)| +0#0000000&@53
+|p|o|l@1| |-+0#e000e06&@1|m|a|n| +0#0000000&@64
+@75
+|#+0#0000e05&| |m|k|s|e|r|v|i|c|e| |a|n|d| |e|l|o@1|p| |(|r|a|r|e|l|y| |p|r|o|v|i|d|e|d|;| |r|e|q|u|i|r|e|s| |S|H|O|P|T|_|M|K|S|E|R|V|I|C|E|)| +0#0000000&@9
+|m|k|s|e|r|v|i|c|e| |-+0#e000e06&@1|m|a|n|;+0#0000000&| |e|l|o@1|p| |-+0#e000e06&@1|h|e|l|p| +0#0000000&@45
+@75
+|#+0#0000e05&| |s|o|m|e| |m|k|s|h| |b|u|i|l|t|i|n|s| +0#0000000&@54
+|b|i|n|d|;| |r|e|n|a|m|e| @62
+@75
+|#+0#0000e05&| |;|&| |a|n|d| |;@1|&| |i|n| |c|a|s|e| |s|t|a|t|e|m|e|n|t|s| +0#0000000&@43
+|c+0#af5f00255&|a|s|e| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&@65
+@8|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#0000000&|1|}+0#e000e06&| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@57|8|3|,|1| @9|6|0|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93u_06.dump b/runtime/syntax/testdir/dumps/ksh93u_06.dump
new file mode 100644 (file)
index 0000000..65bd846
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@7|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#0000000&|1|}+0#e000e06&| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@8|f|o@1|)+0#af5f00255&| +0#0000000&|t+0#af5f00255&|r|u|e| +0#0000000&|$+0#e000e06&|{|f|o@1|:+0#0000000&|0|:|0|}+0#e000e06&| +0#0000000&|;+0#af5f00255&@1|&+0#0000000&| @42
+@8|*|)+0#af5f00255&| +0#0000000&|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{|b|a|r|}| +0#e000002&|;+0#af5f00255&@1| +0#0000000&@48
+|e+0#af5f00255&|s|a|c| +0#0000000&@70
+@75
+>#+0#0000e05&| |B|e|l|o|w| |i|s| |s|u|b|s|h|a|r|e| |s|y|n|t|a|x| |s|u|p@1|o|r|t|e|d| |b|y| |b|o|t|h| |k|s|h|9|3| |a|n|d| |m|k|s|h|.| +0#0000000&@14
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|o|n|e| +0#e000e06&|}| +0#0000000&@55
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|t|w|o| +0#0000000&@50
+|}+0#e000e06&| +0#0000000&@73
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#0000000&@66
+|e+0#af5f00255&|c|h|o| +0#e000002&|t|h|r|e@1| +0#e000e06&@5|}| +0#0000000&@57
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|f+0#e000002&|o|u|r|'+0#af5f00255&|;| +0#e000e06&|}| +0#0000000&@51
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|f+0#e000002&|i|v|e|'+0#af5f00255&| +0#e000002&|;+0#e000e06&|}| +0#0000000&@51
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|i|x|'+0#af5f00255&| +0#0000000&@55
+|}+0#e000e06&| +0#0000000&@73
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|e|v|e|n|'+0#af5f00255&| +0#e000e06&@3|}| +0#0000000&@41
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| |p+0#af5f00255&|r|i|n|t| +0#e000002&|'+0#af5f00255&|e+0#e000002&|i|g|h|t|'+0#af5f00255&| +0#e000e06&@2|}| +0#0000000&@49
+|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|i|n|e|=+0#0000000&|$+0#e000e06&|{| |p+0#af5f00255&|w|d|;| +0#e000e06&|}| +0#0000000&@52
+@75
+@57|1|0|1|,|1| @8|7|4|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93u_07.dump b/runtime/syntax/testdir/dumps/ksh93u_07.dump
new file mode 100644 (file)
index 0000000..f4c2f4d
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| |$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
+|#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| +0#0000000&@43
+|i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|e+0#af5f00255&|v|a|l| +0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| |2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| +0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
+| +0#00e0e07&@7|v|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@16>R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
+@8|}+0#00e0e07&| +0#0000000&@65
+@8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |e|l|e|v|e|n|;|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@36
+@8|p+0#af5f00255&|r|i|n|t|f| +0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|w|e|l|v|e| @6|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@24
+@8|u+0#00e0e07&|n|l|u|c|k|y|=+0#0000000&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|h|i|r|t|e@1|n| +0#0000000#ffffff0@36
+|}+0#e000e06&| +0#0000000&@73
+@8|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|o|t|a|f|l|o|a|t|=+0#0000000&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |n|o|t|a|n|u|m|b|e|r| @5|}+0#e000e06#ffffff0| +0#0000000&@17
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|u|n|l|u|c|k|y| +0#e000002&|$+0#e000e06&|n|o|t|a|n|u|m|b|e|r| +0#0000000&@40
+@8|$+0#e000e06&|{||+0#ffffff16#ff404010|e|c|h|o| |f|o@1|}+0#e000e06#ffffff0| +0#0000000&@54
+@8|$+0#e000e06&|{||+0#ffffff16#ff404010|e|c|h|o| |b|a|r| +0#0000000#ffffff0@55
+|}+0#e000e06&| +0#0000000&@73
+|f+0#af5f00255&|i| +0#0000000&@72
+@75
+@57|1@1|9|,|3|-|1|7| @5|8@1|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93u_08.dump b/runtime/syntax/testdir/dumps/ksh93u_08.dump
new file mode 100644 (file)
index 0000000..604607f
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |=@5| +0#0000000&@66
+|#+0#0000e05&| |S|h|a|r|e|d|-|s|t|a|t|e| |c|o|m@1|a|n|d| |s|u|b|s|t|i|t|u|t|i|o|n|s| |u|s|i|n|g| |t|h|e| |s|y|n|t|a|x| |$|{|<|f|i|l|e|;|}| +0#0000000&@11
+|#+0#0000e05&| |a|r|e| |o|n|l|y| |s|u|p@1|o|r|t|e|d| |b|y| |k|s|h|9|3|,| |n|o|t| |m|k|s|h|.| +0#0000000&@34
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| +0#0000000&@67
+| +0#e000e06&@7>p+0#af5f00255&|r|i|n|t|f| +0#e000e06&|%|s| |s|t|r| +0#0000000&@53
+|}+0#e000e06&| +0#e000002&|>+0#af5f00255&| +0#0000000&|/|t|m|p|/|s|t|r|f|i|l|e| @58
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|<+0#af5f00255&|/+0#e000e06&|t|m|p|/|s|t|r|f|i|l|e|;|}| +0#0000000&@52
+@75
+|e+0#af5f00255&|x|i|t| +0#0000000&|0+0#e000002&| +0#0000000&@68
+|#+0#0000e05&| |k|s|h|8@1| |a|n|d| |k|s|h|9|3| |n|o|n|-|d|o|t| |s|p|e|c|i|a|l| |v|a|r|i|a|b|l|e|s| +0#0000000&@31
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |R|A|N|D|O|M|=+0#af5f00255&| +0#e000e06&|S+0#00e0e07&|R|A|N|D|O|M|=+0#0000000&| +0#e000e06&|S|H|L|V|L|=+0#af5f00255&| +0#e000e06&|J|O|B|M|A|X|=+0#af5f00255&| +0#e000e06&|K|S|H|_|V|E|R|S|I|O|N|=+0#af5f00255&| +0#e000e06&|F|I|G|N|O|R|E|=+0#af5f00255&| +0#e000e06&|L|C|_|T|I|M|E|=+0#af5f00255&| +0#e000e06&|L|C|_
+|N|U|M|E|R|I|C|=+0#af5f00255&| +0#e000e06&|L|C|_|M|E|S@1|A|G|E|S|=+0#af5f00255&| +0#e000e06&|L|C|_|C|T|Y|P|E|=+0#af5f00255&| +0#e000e06&|L|C|_|C|O|L@1|A|T|E|=+0#af5f00255&| +0#e000e06&|L|C|_|A|L@1|=+0#af5f00255&| +0#e000e06&|L|A|N|G|=+0#af5f00255&| +0#e000e06&|F|P|A|T|H|=+0#af5f00255&| +0#e000e06&|P|S|4|=+0#af5f00255&| +0#e000e06&|O|P|T|I|N
+|D|=+0#af5f00255&| +0#e000e06&|O|P|T|A|R|G|=+0#af5f00255&| +0#e000e06&|t+0#af5f00255&|r|u|e| +0#e000e06&|;|}| +0#0000000&@56
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|L|I|N|E|N|O|=+0#af5f00255&| +0#e000e06&|S|E|C|O|N|D|S|=+0#af5f00255&| +0#e000e06&|T|M|O|U|T|=+0#af5f00255&| +0#e000e06&|P@1|I|D|=+0#af5f00255&| +0#e000e06&|L|I|N|E|S|=+0#af5f00255&| +0#e000e06&|C|O|L|U|M|N|S|=+0#af5f00255&| +0#e000e06&|V|I|S|U|A|L|=+0#af5f00255&| +0#e000e06&|O|L|D|P|W|D|=+0#af5f00255&| +0#e000e06&|P|S|3|=+0#af5f00255&| +0#e000e06&
+|M|A|I|L|P|A|T|H|=+0#af5f00255&| +0#e000e06&|C|D|P|A|T|H|=+0#af5f00255&| +0#e000e06&|F|C|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|C|M|D|=+0#af5f00255&| +0#e000e06&|H|I|S|T|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|S|I|Z|E|=+0#af5f00255&| +0#e000e06&|H|I|S|T|F|I|L|E|=+0#af5f00255&| +0#e000e06&|E|N|V|=+0#af5f00255&| +0#e000e06&|M|A|I|L|C
+|H|E|C|K|=+0#af5f00255&| +0#e000e06&|E|D|I|T|O|R|=+0#af5f00255&| +0#e000e06&|S|H|E|L@1|=+0#af5f00255&| +0#e000e06&|f+0#af5f00255&|a|l|s|e|)+0#e000e06&| +0#0000000&@47
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S+0#00e0e07&|H|_|O|P|T|I|O|N|S|=+0#0000000&| +0#e000e06&|E+0#00e0e07&|R@1|N|O|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M
+|P|_|C|W|O|R|D|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|L|I|N|E|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|P|O|I|N|T|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|W|O|R|D|S|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|K|E|Y|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|R|E|P|L|Y|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|W|O|@+0#4040ff13&@2
+| +0#0000000&@56|1|3|7|,|2|-|9| @6|9|8|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93u_09.dump b/runtime/syntax/testdir/dumps/ksh93u_09.dump
new file mode 100644 (file)
index 0000000..83d3a99
--- /dev/null
@@ -0,0 +1,20 @@
+|p+0#af5f00255#ffffff0|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S+0#00e0e07&|H|_|O|P|T|I|O|N|S|=+0#0000000&| +0#e000e06&|E+0#00e0e07&|R@1|N|O|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M
+|P|_|C|W|O|R|D|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|L|I|N|E|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|P|O|I|N|T|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|W|O|R|D|S|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|K|E|Y|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|R|E|P|L|Y|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|W|O|R|D|B
+|R|E|A|K|S|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|T|Y|P|E|=+0#0000000&| +0#e000e06&|c|o|m|p|g|e|n|)| +0#0000000&@48
+>p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|B+0#00e0e07&|A|S|H|P|I|D|=+0#0000000&| +0#e000e06&|E+0#00e0e07&|P|O|C|H|R|E|A|L|T|I|M|E|=+0#0000000&| +0#e000e06&|E+0#00e0e07&|X|E|C|S|H|E|L@1|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|E|G|I|D|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|G|I|D|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|U|I|D|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|_|M|A|T
+|C|H|=+0#0000000&| +0#e000e06&|P+0#00e0e07&|A|T|H|S|E|P|=+0#0000000&| +0#e000e06&|P+0#00e0e07&|G|R|P|=+0#0000000&| +0#e000e06&|P+0#00e0e07&|I|P|E|S|T|A|T|U|S|=+0#0000000&| +0#e000e06&|T+0#00e0e07&|M|P|D|I|R|=+0#0000000&| +0#e000e06&|U+0#00e0e07&|S|E|R|_|I|D|=+0#0000000&| +0#e000e06&|V|P|A|T|H|=+0#af5f00255&| +0#e000e06&|C|S|W|I|D|T|H|=+0#af5f00255&| +0#e000e06&|c|o|m|p|l|e|t|e|)| +0#0000000&@1
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|4|6|,|1| @8|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/ksh93v_00.dump b/runtime/syntax/testdir/dumps/ksh93v_00.dump
new file mode 100644 (file)
index 0000000..6c562c0
--- /dev/null
@@ -0,0 +1,20 @@
+>#+0#0000e05#ffffff0|!|/|b|i|n|/|k|s|h|9|3|v|-| +0#0000000&@60
+@75
+|#+0#0000e05&| |R|e|n|d|e|r|i|n|g| |n|a|m|e|s|p|a|c|e| |v|a|r|i|a|b|l|e|s| +0#0000000&@43
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|a+0#0000000&|d|s|f|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|a+0#0000000&|z|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|[|v+0#0000000&|a|r|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|*+0#0000000&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|#+0#af5f00255&
+@1|b+0#0000000&|a|z|}+0#e000e06&| +0#0000000&@69
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|3+0#e000002&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|z+0#0000000&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|s|h|.|v|e|r|s|i|o|n|/+0#af5f00255&|V+0#0000000&|/+0#af5f00255&|b+0#0000000&|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o
+|n|/+0#af5f00255&|V+0#0000000&|/+0#af5f00255&|b+0#0000000&|}+0#e000e06&| +0#0000000&@68
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|d+0#0000000&|]+0#e000e06&|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&
+|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|b|a|r|.|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&
+|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#af5f00255&@1|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|^+0#af5f00255&@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|,+0#af5f00255&@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#af5f00255&|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#af5f00255&|}+0#e000e06&| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a+0#af5f00255&|l|a|r|m| +0#0000000&|-+0#e000e06&@1|m|a|n| +0#0000000&@63
+|#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+@57|1|,|1| @10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/ksh93v_01.dump b/runtime/syntax/testdir/dumps/ksh93v_01.dump
new file mode 100644 (file)
index 0000000..53c0db0
--- /dev/null
@@ -0,0 +1,20 @@
+|e+0#af5f00255#ffffff0|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#af5f00255&@1|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|^+0#af5f00255&@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|,+0#af5f00255&@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#af5f00255&|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#af5f00255&|}+0#e000e06&| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a+0#af5f00255&|l|a|r|m| +0#0000000&|-+0#e000e06&@1|m|a|n| +0#0000000&@63
+>#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+|#+0#0000e05&| |a|n|d| |2|0@1|8|-|0|6|-|0|2|,| |r|e|s|p|e|c|t|i|v|e|l|y|.| |H|o|w|e|v|e|r|,| |t|h|e|s|e| |w|e|r|e| |n|o|t| |r|e|a|d|i|l|y| |e|n|a|b|l|e|d|;| |i|n
+|#| |9|3|u|+|m| |t|h|e|s|e| |c|a|n| |b|e| |e|n|a|b|l|e|d| |w|i|t|h| |t|h|e| |b|u|i|l|t|i|n| |c|o|m@1|a|n|d| |i|f| |l|i|b|c|m|d|.|s|o| |i|s| |p|r|e|s|e
+|n|t|,| +0#0000000&@71
+|#+0#0000e05&| |e|i|t|h|e|r| |v|i|a| |'|b|u|i|l|t|i|n| |-|f|'| |o|r| |(|i|n| |m|o|r|e| |r|e|c|e|n|t| |c|o|m@1|i|t|s|)| |w|i|t|h| |a| |r|e|g|u|l|a|r| |i|n|v|o|c|a
+|t|i|o|n| +0#0000000&@70
+|#+0#0000e05&| |o|f| |t|h|e| |'|b|u|i|l|t|i|n|'| |b|u|i|l|t|-|i|n|.| +0#0000000&@46
+|#+0#0000e05&| |c|f|.| |h|t@1|p|s|:|/@1|g|i|t|h|u|b|.|c|o|m|/|k|s|h|9|3|/|k|s|h|/|c|o|m@1|i|t|/|f|1|5|e|2|c|4|1| +0#0000000&@24
+|b+0#af5f00255&|u|i|l|t|i|n| +0#0000000&|f+0#af5f00255&|d|s| +0#0000000&|p+0#af5f00255&|i|d|s| +0#0000000&@58
+|f+0#af5f00255&|d|s|;+0#0000000&| |p+0#af5f00255&|i|d|s| +0#0000000&@65
+@75
+|#+0#0000e05&| |U|n|i|x| |c|o|m@1|a|n|d|s| |w|h|i|c|h| |a|r|e| |p|r|o|v|i|d|e|d| |b|y| |k|s|h| |a|s| |b|u|i|l|t|i|n|s| |v|i|a| |l|i|b|c|m|d|.|s|o| +0#0000000&@7
+|b+0#af5f00255&|a|s|e|n|a|m|e| +0#0000000&@66
+@57|1|4|,|1| @10|6|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93v_02.dump b/runtime/syntax/testdir/dumps/ksh93v_02.dump
new file mode 100644 (file)
index 0000000..d8825d3
--- /dev/null
@@ -0,0 +1,20 @@
+|b+0#af5f00255#ffffff0|a|s|e|n|a|m|e| +0#0000000&@66
+|c+0#af5f00255&|a|t| +0#0000000&@71
+|c+0#af5f00255&|h|g|r|p| +0#0000000&@69
+|c+0#af5f00255&|h|m|o|d| +0#0000000&@69
+|c+0#af5f00255&|h|o|w|n| +0#0000000&@69
+>c+0#af5f00255&|k|s|u|m| +0#0000000&@69
+|c+0#af5f00255&|m|p| +0#0000000&@71
+|c+0#af5f00255&|o|m@1| +0#0000000&@70
+|c+0#af5f00255&|p| +0#0000000&@72
+|c+0#af5f00255&|u|t| +0#0000000&@71
+|d+0#af5f00255&|a|t|e| +0#0000000&@70
+|d+0#af5f00255&|i|r|n|a|m|e| +0#0000000&@67
+|e+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|e+0#af5f00255&|x|p|r| +0#0000000&@70
+|f+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|f+0#af5f00255&|m|t| +0#0000000&@71
+|f+0#af5f00255&|o|l|d| +0#0000000&@70
+|g+0#af5f00255&|e|t|c|o|n|f| +0#0000000&@67
+|g+0#af5f00255&|r|e|p| +0#0000000&@70
+@57|2|9|,|1| @9|1|8|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93v_03.dump b/runtime/syntax/testdir/dumps/ksh93v_03.dump
new file mode 100644 (file)
index 0000000..f166483
--- /dev/null
@@ -0,0 +1,20 @@
+|g+0#af5f00255#ffffff0|r|e|p| +0#0000000&@70
+|h+0#af5f00255&|e|a|d| +0#0000000&@70
+|i+0#af5f00255&|c|o|n|v| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|i+0#af5f00255&|d| +0#0000000&@72
+|j+0#af5f00255&|o|i|n| +0#0000000&@70
+>l+0#af5f00255&|n| +0#0000000&@72
+|l+0#af5f00255&|o|g|n|a|m|e| +0#0000000&@67
+|l+0#af5f00255&|s| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|m+0#af5f00255&|d|5|s|u|m| +0#0000000&@68
+|m+0#af5f00255&|k|d|i|r| +0#0000000&@69
+|m+0#af5f00255&|k|f|i|f|o| +0#0000000&@68
+|m+0#af5f00255&|k|t|e|m|p| +0#0000000&@68
+|m+0#af5f00255&|v| +0#0000000&@72
+|o+0#af5f00255&|d| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|p+0#af5f00255&|a|s|t|e| +0#0000000&@69
+|p+0#af5f00255&|a|t|h|c|h|k| +0#0000000&@67
+|r+0#af5f00255&|e|a|d|l|i|n|k| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|a|l|p|a|t|h| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|v| +0#0000000&@71
+@57|4|7|,|1| @9|3|2|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93v_04.dump b/runtime/syntax/testdir/dumps/ksh93v_04.dump
new file mode 100644 (file)
index 0000000..8ac496a
--- /dev/null
@@ -0,0 +1,20 @@
+|r+0#af5f00255#ffffff0|e|v| +0#0000000&@71
+|r+0#af5f00255&|m| +0#0000000&@72
+|r+0#af5f00255&|m|d|i|r| +0#0000000&@69
+|s+0#af5f00255&|h|a|1|s|u|m| +0#0000000&@8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|2|5|6|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+>s+0#af5f00255&|h|a|2|s|u|m| +0#0000000&@8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|3|8|4|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|5|1|2|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|t@1|y| +0#0000000&@70
+|s+0#af5f00255&|u|m| +0#0000000&@71
+|s+0#af5f00255&|y|n|c| +0#0000000&@70
+|t+0#af5f00255&|a|i|l| +0#0000000&@70
+|t+0#af5f00255&|e@1| +0#0000000&@71
+|t+0#af5f00255&|r| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|t+0#af5f00255&@1|y| +0#0000000&@71
+|u+0#af5f00255&|n|a|m|e| +0#0000000&@69
+|u+0#af5f00255&|n|i|q| +0#0000000&@70
+|v+0#af5f00255&|m|s|t|a|t|e| +0#0000000&@8|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t|;| |o|n|l|y| |a|v|a|i|l|a|b|l|e| |i|n| |9|3|v|-| |a|n|d| |o|l|d|e|r| +0#0000000&@11
+|w+0#af5f00255&|c| +0#0000000&@72
+@57|6|5|,|1| @9|4|6|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93v_05.dump b/runtime/syntax/testdir/dumps/ksh93v_05.dump
new file mode 100644 (file)
index 0000000..479efcf
--- /dev/null
@@ -0,0 +1,20 @@
+|w+0#af5f00255#ffffff0|c| +0#0000000&@72
+|x+0#af5f00255&|a|r|g|s| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|x+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+@75
+|#+0#0000e05&| |S|H|A| |c|o|m@1|a|n|d| |n|o|t| |p|r|o|v|i|d|e|d| |a|s| |a| |b|u|i|l|t|i|n| |b|u|t| |i|n|c|l|u|d|e|d| |h|e|r|e| |f|o|r| |c|o|m|p|l|e|t|e|n|e|s@1| +0#0000000&
+>s+0#af5f00255&|h|a|2@1|4|s|u|m| +0#0000000&@65
+@75
+|#+0#0000e05&| |p|o|l@1| |b|u|i|l|t|i|n| |(|9|3|v|-|)| +0#0000000&@53
+|p+0#af5f00255&|o|l@1| +0#0000000&|-+0#e000e06&@1|m|a|n| +0#0000000&@64
+@75
+|#+0#0000e05&| |m|k|s|e|r|v|i|c|e| |a|n|d| |e|l|o@1|p| |(|r|a|r|e|l|y| |p|r|o|v|i|d|e|d|;| |r|e|q|u|i|r|e|s| |S|H|O|P|T|_|M|K|S|E|R|V|I|C|E|)| +0#0000000&@9
+|m|k|s|e|r|v|i|c|e| |-+0#e000e06&@1|m|a|n|;+0#0000000&| |e|l|o@1|p| |-+0#e000e06&@1|h|e|l|p| +0#0000000&@45
+@75
+|#+0#0000e05&| |s|o|m|e| |m|k|s|h| |b|u|i|l|t|i|n|s| +0#0000000&@54
+|b|i|n|d|;| |r|e|n|a|m|e| @62
+@75
+|#+0#0000e05&| |;|&| |a|n|d| |;@1|&| |i|n| |c|a|s|e| |s|t|a|t|e|m|e|n|t|s| +0#0000000&@43
+|c+0#af5f00255&|a|s|e| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&@65
+@8|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#0000000&|1|}+0#e000e06&| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@57|8|3|,|1| @9|6|0|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93v_06.dump b/runtime/syntax/testdir/dumps/ksh93v_06.dump
new file mode 100644 (file)
index 0000000..65bd846
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@7|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#0000000&|1|}+0#e000e06&| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@8|f|o@1|)+0#af5f00255&| +0#0000000&|t+0#af5f00255&|r|u|e| +0#0000000&|$+0#e000e06&|{|f|o@1|:+0#0000000&|0|:|0|}+0#e000e06&| +0#0000000&|;+0#af5f00255&@1|&+0#0000000&| @42
+@8|*|)+0#af5f00255&| +0#0000000&|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{|b|a|r|}| +0#e000002&|;+0#af5f00255&@1| +0#0000000&@48
+|e+0#af5f00255&|s|a|c| +0#0000000&@70
+@75
+>#+0#0000e05&| |B|e|l|o|w| |i|s| |s|u|b|s|h|a|r|e| |s|y|n|t|a|x| |s|u|p@1|o|r|t|e|d| |b|y| |b|o|t|h| |k|s|h|9|3| |a|n|d| |m|k|s|h|.| +0#0000000&@14
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|o|n|e| +0#e000e06&|}| +0#0000000&@55
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|t|w|o| +0#0000000&@50
+|}+0#e000e06&| +0#0000000&@73
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#0000000&@66
+|e+0#af5f00255&|c|h|o| +0#e000002&|t|h|r|e@1| +0#e000e06&@5|}| +0#0000000&@57
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|f+0#e000002&|o|u|r|'+0#af5f00255&|;| +0#e000e06&|}| +0#0000000&@51
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|f+0#e000002&|i|v|e|'+0#af5f00255&| +0#e000002&|;+0#e000e06&|}| +0#0000000&@51
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|i|x|'+0#af5f00255&| +0#0000000&@55
+|}+0#e000e06&| +0#0000000&@73
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|e|v|e|n|'+0#af5f00255&| +0#e000e06&@3|}| +0#0000000&@41
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| |p+0#af5f00255&|r|i|n|t| +0#e000002&|'+0#af5f00255&|e+0#e000002&|i|g|h|t|'+0#af5f00255&| +0#e000e06&@2|}| +0#0000000&@49
+|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|i|n|e|=+0#0000000&|$+0#e000e06&|{| |p+0#af5f00255&|w|d|;| +0#e000e06&|}| +0#0000000&@52
+@75
+@57|1|0|1|,|1| @8|7|4|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93v_07.dump b/runtime/syntax/testdir/dumps/ksh93v_07.dump
new file mode 100644 (file)
index 0000000..f4c2f4d
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| |$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
+|#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| +0#0000000&@43
+|i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|e+0#af5f00255&|v|a|l| +0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| |2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| +0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
+| +0#00e0e07&@7|v|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@16>R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
+@8|}+0#00e0e07&| +0#0000000&@65
+@8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |e|l|e|v|e|n|;|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@36
+@8|p+0#af5f00255&|r|i|n|t|f| +0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|w|e|l|v|e| @6|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@24
+@8|u+0#00e0e07&|n|l|u|c|k|y|=+0#0000000&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|h|i|r|t|e@1|n| +0#0000000#ffffff0@36
+|}+0#e000e06&| +0#0000000&@73
+@8|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|o|t|a|f|l|o|a|t|=+0#0000000&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |n|o|t|a|n|u|m|b|e|r| @5|}+0#e000e06#ffffff0| +0#0000000&@17
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|u|n|l|u|c|k|y| +0#e000002&|$+0#e000e06&|n|o|t|a|n|u|m|b|e|r| +0#0000000&@40
+@8|$+0#e000e06&|{||+0#ffffff16#ff404010|e|c|h|o| |f|o@1|}+0#e000e06#ffffff0| +0#0000000&@54
+@8|$+0#e000e06&|{||+0#ffffff16#ff404010|e|c|h|o| |b|a|r| +0#0000000#ffffff0@55
+|}+0#e000e06&| +0#0000000&@73
+|f+0#af5f00255&|i| +0#0000000&@72
+@75
+@57|1@1|9|,|3|-|1|7| @5|8@1|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93v_08.dump b/runtime/syntax/testdir/dumps/ksh93v_08.dump
new file mode 100644 (file)
index 0000000..cdb01e1
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |=@5| +0#0000000&@66
+|#+0#0000e05&| |S|h|a|r|e|d|-|s|t|a|t|e| |c|o|m@1|a|n|d| |s|u|b|s|t|i|t|u|t|i|o|n|s| |u|s|i|n|g| |t|h|e| |s|y|n|t|a|x| |$|{|<|f|i|l|e|;|}| +0#0000000&@11
+|#+0#0000e05&| |a|r|e| |o|n|l|y| |s|u|p@1|o|r|t|e|d| |b|y| |k|s|h|9|3|,| |n|o|t| |m|k|s|h|.| +0#0000000&@34
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| +0#0000000&@67
+| +0#e000e06&@7>p+0#af5f00255&|r|i|n|t|f| +0#e000e06&|%|s| |s|t|r| +0#0000000&@53
+|}+0#e000e06&| +0#e000002&|>+0#af5f00255&| +0#0000000&|/|t|m|p|/|s|t|r|f|i|l|e| @58
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|<+0#af5f00255&|/+0#e000e06&|t|m|p|/|s|t|r|f|i|l|e|;|}| +0#0000000&@52
+@75
+|e+0#af5f00255&|x|i|t| +0#0000000&|0+0#e000002&| +0#0000000&@68
+|#+0#0000e05&| |k|s|h|8@1| |a|n|d| |k|s|h|9|3| |n|o|n|-|d|o|t| |s|p|e|c|i|a|l| |v|a|r|i|a|b|l|e|s| +0#0000000&@31
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |R|A|N|D|O|M|=+0#af5f00255&| +0#e000e06&|S+0#00e0e07&|R|A|N|D|O|M|=+0#0000000&| +0#e000e06&|S|H|L|V|L|=+0#af5f00255&| +0#e000e06&|J|O|B|M|A|X|=+0#af5f00255&| +0#e000e06&|K|S|H|_|V|E|R|S|I|O|N|=+0#af5f00255&| +0#e000e06&|F|I|G|N|O|R|E|=+0#af5f00255&| +0#e000e06&|L|C|_|T|I|M|E|=+0#af5f00255&| +0#e000e06&|L|C|_
+|N|U|M|E|R|I|C|=+0#af5f00255&| +0#e000e06&|L|C|_|M|E|S@1|A|G|E|S|=+0#af5f00255&| +0#e000e06&|L|C|_|C|T|Y|P|E|=+0#af5f00255&| +0#e000e06&|L|C|_|C|O|L@1|A|T|E|=+0#af5f00255&| +0#e000e06&|L|C|_|A|L@1|=+0#af5f00255&| +0#e000e06&|L|A|N|G|=+0#af5f00255&| +0#e000e06&|F|P|A|T|H|=+0#af5f00255&| +0#e000e06&|P|S|4|=+0#af5f00255&| +0#e000e06&|O|P|T|I|N
+|D|=+0#af5f00255&| +0#e000e06&|O|P|T|A|R|G|=+0#af5f00255&| +0#e000e06&|t+0#af5f00255&|r|u|e| +0#e000e06&|;|}| +0#0000000&@56
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|L|I|N|E|N|O|=+0#af5f00255&| +0#e000e06&|S|E|C|O|N|D|S|=+0#af5f00255&| +0#e000e06&|T|M|O|U|T|=+0#af5f00255&| +0#e000e06&|P@1|I|D|=+0#af5f00255&| +0#e000e06&|L|I|N|E|S|=+0#af5f00255&| +0#e000e06&|C|O|L|U|M|N|S|=+0#af5f00255&| +0#e000e06&|V|I|S|U|A|L|=+0#af5f00255&| +0#e000e06&|O|L|D|P|W|D|=+0#af5f00255&| +0#e000e06&|P|S|3|=+0#af5f00255&| +0#e000e06&
+|M|A|I|L|P|A|T|H|=+0#af5f00255&| +0#e000e06&|C|D|P|A|T|H|=+0#af5f00255&| +0#e000e06&|F|C|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|C|M|D|=+0#af5f00255&| +0#e000e06&|H|I|S|T|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|S|I|Z|E|=+0#af5f00255&| +0#e000e06&|H|I|S|T|F|I|L|E|=+0#af5f00255&| +0#e000e06&|E|N|V|=+0#af5f00255&| +0#e000e06&|M|A|I|L|C
+|H|E|C|K|=+0#af5f00255&| +0#e000e06&|E|D|I|T|O|R|=+0#af5f00255&| +0#e000e06&|S|H|E|L@1|=+0#af5f00255&| +0#e000e06&|f+0#af5f00255&|a|l|s|e|)+0#e000e06&| +0#0000000&@47
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S|H|_|O|P|T|I|O|N|S|=+0#af5f00255&| +0#e000e06&|E+0#00e0e07&|R@1|N|O|=+0#0000000&| +0#e000e06&|C|O|M
+|P|_|C|W|O|R|D|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|L|I|N|E|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|P|O|I|N|T|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|R|D|S|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|K|E|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|@+0#4040ff13&@2
+| +0#0000000&@56|1|3|7|,|2|-|9| @6|9|8|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh93v_09.dump b/runtime/syntax/testdir/dumps/ksh93v_09.dump
new file mode 100644 (file)
index 0000000..6d21a09
--- /dev/null
@@ -0,0 +1,20 @@
+|p+0#af5f00255#ffffff0|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S|H|_|O|P|T|I|O|N|S|=+0#af5f00255&| +0#e000e06&|E+0#00e0e07&|R@1|N|O|=+0#0000000&| +0#e000e06&|C|O|M
+|P|_|C|W|O|R|D|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|L|I|N|E|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|P|O|I|N|T|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|R|D|S|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|K|E|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|R|D|B
+|R|E|A|K|S|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|T|Y|P|E|=+0#af5f00255&| +0#e000e06&|c+0#af5f00255&|o|m|p|g|e|n|)+0#e000e06&| +0#0000000&@48
+>p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|B+0#00e0e07&|A|S|H|P|I|D|=+0#0000000&| +0#e000e06&|E+0#00e0e07&|P|O|C|H|R|E|A|L|T|I|M|E|=+0#0000000&| +0#e000e06&|E+0#00e0e07&|X|E|C|S|H|E|L@1|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|E|G|I|D|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|G|I|D|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|U|I|D|=+0#0000000&| +0#e000e06&|K+0#00e0e07&|S|H|_|M|A|T
+|C|H|=+0#0000000&| +0#e000e06&|P+0#00e0e07&|A|T|H|S|E|P|=+0#0000000&| +0#e000e06&|P+0#00e0e07&|G|R|P|=+0#0000000&| +0#e000e06&|P+0#00e0e07&|I|P|E|S|T|A|T|U|S|=+0#0000000&| +0#e000e06&|T+0#00e0e07&|M|P|D|I|R|=+0#0000000&| +0#e000e06&|U+0#00e0e07&|S|E|R|_|I|D|=+0#0000000&| +0#e000e06&|V|P|A|T|H|=+0#af5f00255&| +0#e000e06&|C|S|W|I|D|T|H|=+0#af5f00255&| +0#e000e06&|c+0#af5f00255&|o|m|p|l|e|t|e|)+0#e000e06&| +0#0000000&@1
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|4|6|,|1| @8|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/ksh_generic_00.dump b/runtime/syntax/testdir/dumps/ksh_generic_00.dump
new file mode 100644 (file)
index 0000000..0ce212f
--- /dev/null
@@ -0,0 +1,20 @@
+>#+0#0000e05#ffffff0|!|/|b|i|n|/|k|s|h| +0#0000000&@64
+@75
+|#+0#0000e05&| |R|e|n|d|e|r|i|n|g| |n|a|m|e|s|p|a|c|e| |v|a|r|i|a|b|l|e|s| +0#0000000&@43
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|a+0#0000000&|d|s|f|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|a+0#0000000&|z|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|[|v+0#0000000&|a|r|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|*+0#0000000&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|#+0#af5f00255&
+@1|b+0#0000000&|a|z|}+0#e000e06&| +0#0000000&@69
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|3+0#e000002&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|[|z+0#0000000&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|s|h|.|v|e|r|s|i|o|n|/+0#af5f00255&|V+0#0000000&|/+0#af5f00255&|b+0#0000000&|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o
+|n|/+0#af5f00255&|V+0#0000000&|/+0#af5f00255&|b+0#0000000&|}+0#e000e06&| +0#0000000&@68
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|d+0#0000000&|]+0#e000e06&|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&
+|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|f|o@1|.|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|b|a|r|.|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&
+|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#af5f00255&@1|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|^+0#af5f00255&@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|,+0#af5f00255&@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#af5f00255&|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#af5f00255&|}+0#e000e06&| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a+0#af5f00255&|l|a|r|m| +0#0000000&|-+0#e000e06&@1|m|a|n| +0#0000000&@63
+|#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+@57|1|,|1| @10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/ksh_generic_01.dump b/runtime/syntax/testdir/dumps/ksh_generic_01.dump
new file mode 100644 (file)
index 0000000..53c0db0
--- /dev/null
@@ -0,0 +1,20 @@
+|e+0#af5f00255#ffffff0|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#af5f00255&@1|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|^+0#af5f00255&@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.|s|h|.|v|e|r|s|i|o|n|,+0#af5f00255&@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#af5f00255&|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#af5f00255&|}+0#e000e06&| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a+0#af5f00255&|l|a|r|m| +0#0000000&|-+0#e000e06&@1|m|a|n| +0#0000000&@63
+>#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+|#+0#0000e05&| |a|n|d| |2|0@1|8|-|0|6|-|0|2|,| |r|e|s|p|e|c|t|i|v|e|l|y|.| |H|o|w|e|v|e|r|,| |t|h|e|s|e| |w|e|r|e| |n|o|t| |r|e|a|d|i|l|y| |e|n|a|b|l|e|d|;| |i|n
+|#| |9|3|u|+|m| |t|h|e|s|e| |c|a|n| |b|e| |e|n|a|b|l|e|d| |w|i|t|h| |t|h|e| |b|u|i|l|t|i|n| |c|o|m@1|a|n|d| |i|f| |l|i|b|c|m|d|.|s|o| |i|s| |p|r|e|s|e
+|n|t|,| +0#0000000&@71
+|#+0#0000e05&| |e|i|t|h|e|r| |v|i|a| |'|b|u|i|l|t|i|n| |-|f|'| |o|r| |(|i|n| |m|o|r|e| |r|e|c|e|n|t| |c|o|m@1|i|t|s|)| |w|i|t|h| |a| |r|e|g|u|l|a|r| |i|n|v|o|c|a
+|t|i|o|n| +0#0000000&@70
+|#+0#0000e05&| |o|f| |t|h|e| |'|b|u|i|l|t|i|n|'| |b|u|i|l|t|-|i|n|.| +0#0000000&@46
+|#+0#0000e05&| |c|f|.| |h|t@1|p|s|:|/@1|g|i|t|h|u|b|.|c|o|m|/|k|s|h|9|3|/|k|s|h|/|c|o|m@1|i|t|/|f|1|5|e|2|c|4|1| +0#0000000&@24
+|b+0#af5f00255&|u|i|l|t|i|n| +0#0000000&|f+0#af5f00255&|d|s| +0#0000000&|p+0#af5f00255&|i|d|s| +0#0000000&@58
+|f+0#af5f00255&|d|s|;+0#0000000&| |p+0#af5f00255&|i|d|s| +0#0000000&@65
+@75
+|#+0#0000e05&| |U|n|i|x| |c|o|m@1|a|n|d|s| |w|h|i|c|h| |a|r|e| |p|r|o|v|i|d|e|d| |b|y| |k|s|h| |a|s| |b|u|i|l|t|i|n|s| |v|i|a| |l|i|b|c|m|d|.|s|o| +0#0000000&@7
+|b+0#af5f00255&|a|s|e|n|a|m|e| +0#0000000&@66
+@57|1|4|,|1| @10|6|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh_generic_02.dump b/runtime/syntax/testdir/dumps/ksh_generic_02.dump
new file mode 100644 (file)
index 0000000..d8825d3
--- /dev/null
@@ -0,0 +1,20 @@
+|b+0#af5f00255#ffffff0|a|s|e|n|a|m|e| +0#0000000&@66
+|c+0#af5f00255&|a|t| +0#0000000&@71
+|c+0#af5f00255&|h|g|r|p| +0#0000000&@69
+|c+0#af5f00255&|h|m|o|d| +0#0000000&@69
+|c+0#af5f00255&|h|o|w|n| +0#0000000&@69
+>c+0#af5f00255&|k|s|u|m| +0#0000000&@69
+|c+0#af5f00255&|m|p| +0#0000000&@71
+|c+0#af5f00255&|o|m@1| +0#0000000&@70
+|c+0#af5f00255&|p| +0#0000000&@72
+|c+0#af5f00255&|u|t| +0#0000000&@71
+|d+0#af5f00255&|a|t|e| +0#0000000&@70
+|d+0#af5f00255&|i|r|n|a|m|e| +0#0000000&@67
+|e+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|e+0#af5f00255&|x|p|r| +0#0000000&@70
+|f+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|f+0#af5f00255&|m|t| +0#0000000&@71
+|f+0#af5f00255&|o|l|d| +0#0000000&@70
+|g+0#af5f00255&|e|t|c|o|n|f| +0#0000000&@67
+|g+0#af5f00255&|r|e|p| +0#0000000&@70
+@57|2|9|,|1| @9|1|8|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh_generic_03.dump b/runtime/syntax/testdir/dumps/ksh_generic_03.dump
new file mode 100644 (file)
index 0000000..f166483
--- /dev/null
@@ -0,0 +1,20 @@
+|g+0#af5f00255#ffffff0|r|e|p| +0#0000000&@70
+|h+0#af5f00255&|e|a|d| +0#0000000&@70
+|i+0#af5f00255&|c|o|n|v| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|i+0#af5f00255&|d| +0#0000000&@72
+|j+0#af5f00255&|o|i|n| +0#0000000&@70
+>l+0#af5f00255&|n| +0#0000000&@72
+|l+0#af5f00255&|o|g|n|a|m|e| +0#0000000&@67
+|l+0#af5f00255&|s| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|m+0#af5f00255&|d|5|s|u|m| +0#0000000&@68
+|m+0#af5f00255&|k|d|i|r| +0#0000000&@69
+|m+0#af5f00255&|k|f|i|f|o| +0#0000000&@68
+|m+0#af5f00255&|k|t|e|m|p| +0#0000000&@68
+|m+0#af5f00255&|v| +0#0000000&@72
+|o+0#af5f00255&|d| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|p+0#af5f00255&|a|s|t|e| +0#0000000&@69
+|p+0#af5f00255&|a|t|h|c|h|k| +0#0000000&@67
+|r+0#af5f00255&|e|a|d|l|i|n|k| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|a|l|p|a|t|h| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|v| +0#0000000&@71
+@57|4|7|,|1| @9|3|2|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh_generic_04.dump b/runtime/syntax/testdir/dumps/ksh_generic_04.dump
new file mode 100644 (file)
index 0000000..8ac496a
--- /dev/null
@@ -0,0 +1,20 @@
+|r+0#af5f00255#ffffff0|e|v| +0#0000000&@71
+|r+0#af5f00255&|m| +0#0000000&@72
+|r+0#af5f00255&|m|d|i|r| +0#0000000&@69
+|s+0#af5f00255&|h|a|1|s|u|m| +0#0000000&@8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|2|5|6|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+>s+0#af5f00255&|h|a|2|s|u|m| +0#0000000&@8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|3|8|4|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|5|1|2|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|t@1|y| +0#0000000&@70
+|s+0#af5f00255&|u|m| +0#0000000&@71
+|s+0#af5f00255&|y|n|c| +0#0000000&@70
+|t+0#af5f00255&|a|i|l| +0#0000000&@70
+|t+0#af5f00255&|e@1| +0#0000000&@71
+|t+0#af5f00255&|r| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|t+0#af5f00255&@1|y| +0#0000000&@71
+|u+0#af5f00255&|n|a|m|e| +0#0000000&@69
+|u+0#af5f00255&|n|i|q| +0#0000000&@70
+|v+0#af5f00255&|m|s|t|a|t|e| +0#0000000&@8|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t|;| |o|n|l|y| |a|v|a|i|l|a|b|l|e| |i|n| |9|3|v|-| |a|n|d| |o|l|d|e|r| +0#0000000&@11
+|w+0#af5f00255&|c| +0#0000000&@72
+@57|6|5|,|1| @9|4|6|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh_generic_05.dump b/runtime/syntax/testdir/dumps/ksh_generic_05.dump
new file mode 100644 (file)
index 0000000..4f4d4c8
--- /dev/null
@@ -0,0 +1,20 @@
+|w+0#af5f00255#ffffff0|c| +0#0000000&@72
+|x+0#af5f00255&|a|r|g|s| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|x+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+@75
+|#+0#0000e05&| |S|H|A| |c|o|m@1|a|n|d| |n|o|t| |p|r|o|v|i|d|e|d| |a|s| |a| |b|u|i|l|t|i|n| |b|u|t| |i|n|c|l|u|d|e|d| |h|e|r|e| |f|o|r| |c|o|m|p|l|e|t|e|n|e|s@1| +0#0000000&
+>s+0#af5f00255&|h|a|2@1|4|s|u|m| +0#0000000&@65
+@75
+|#+0#0000e05&| |p|o|l@1| |b|u|i|l|t|i|n| |(|9|3|v|-|)| +0#0000000&@53
+|p+0#af5f00255&|o|l@1| +0#0000000&|-+0#e000e06&@1|m|a|n| +0#0000000&@64
+@75
+|#+0#0000e05&| |m|k|s|e|r|v|i|c|e| |a|n|d| |e|l|o@1|p| |(|r|a|r|e|l|y| |p|r|o|v|i|d|e|d|;| |r|e|q|u|i|r|e|s| |S|H|O|P|T|_|M|K|S|E|R|V|I|C|E|)| +0#0000000&@9
+|m+0#af5f00255&|k|s|e|r|v|i|c|e| +0#0000000&|-+0#e000e06&@1|m|a|n|;+0#0000000&| |e+0#af5f00255&|l|o@1|p| +0#0000000&|-+0#e000e06&@1|h|e|l|p| +0#0000000&@45
+@75
+|#+0#0000e05&| |s|o|m|e| |m|k|s|h| |b|u|i|l|t|i|n|s| +0#0000000&@54
+|b+0#af5f00255&|i|n|d|;+0#0000000&| |r+0#af5f00255&|e|n|a|m|e| +0#0000000&@62
+@75
+|#+0#0000e05&| |;|&| |a|n|d| |;@1|&| |i|n| |c|a|s|e| |s|t|a|t|e|m|e|n|t|s| +0#0000000&@43
+|c+0#af5f00255&|a|s|e| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&@65
+@8|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#0000000&|1|}+0#e000e06&| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@57|8|3|,|1| @9|6|0|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh_generic_06.dump b/runtime/syntax/testdir/dumps/ksh_generic_06.dump
new file mode 100644 (file)
index 0000000..31f0b12
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@7|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#0000000&|1|}+0#e000e06&| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@8|f|o@1|)+0#af5f00255&| +0#0000000&|t+0#af5f00255&|r|u|e| +0#0000000&|$+0#e000e06&|{|f|o@1|:+0#0000000&|0|:|0|}+0#e000e06&| +0#0000000&|;+0#af5f00255&@1|&| +0#0000000&@42
+@8|*|)+0#af5f00255&| +0#0000000&|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{|b|a|r|}| +0#e000002&|;+0#af5f00255&@1| +0#0000000&@48
+|e+0#af5f00255&|s|a|c| +0#0000000&@70
+@75
+>#+0#0000e05&| |B|e|l|o|w| |i|s| |s|u|b|s|h|a|r|e| |s|y|n|t|a|x| |s|u|p@1|o|r|t|e|d| |b|y| |b|o|t|h| |k|s|h|9|3| |a|n|d| |m|k|s|h|.| +0#0000000&@14
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|o|n|e| +0#e000e06&|}| +0#0000000&@55
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|t|w|o| +0#0000000&@50
+|}+0#e000e06&| +0#0000000&@73
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#0000000&@66
+|e+0#af5f00255&|c|h|o| +0#e000002&|t|h|r|e@1| +0#e000e06&@5|}| +0#0000000&@57
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|f+0#e000002&|o|u|r|'+0#af5f00255&|;| +0#e000e06&|}| +0#0000000&@51
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|f+0#e000002&|i|v|e|'+0#af5f00255&| +0#e000002&|;+0#e000e06&|}| +0#0000000&@51
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|i|x|'+0#af5f00255&| +0#0000000&@55
+|}+0#e000e06&| +0#0000000&@73
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|e|v|e|n|'+0#af5f00255&| +0#e000e06&@3|}| +0#0000000&@41
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| |p+0#af5f00255&|r|i|n|t| +0#e000002&|'+0#af5f00255&|e+0#e000002&|i|g|h|t|'+0#af5f00255&| +0#e000e06&@2|}| +0#0000000&@49
+|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|i|n|e|=+0#0000000&|$+0#e000e06&|{| |p+0#af5f00255&|w|d|;| +0#e000e06&|}| +0#0000000&@52
+@75
+@57|1|0|1|,|1| @8|7|4|%| 
similarity index 53%
rename from runtime/syntax/testdir/dumps/sh_10_01.dump
rename to runtime/syntax/testdir/dumps/ksh_generic_07.dump
index c1d3531a6e2eace6c3b829804632e5db5eb347d1..3219c176c1af0c8216d0c9dcf841a7719e9c42e3 100644 (file)
@@ -1,20 +1,20 @@
-|p+0#af5f00255#ffffff0|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|f+0#e000002&|o|u|r|'+0#af5f00255&|;| +0#e000e06&|}| +0#0000000&@51
-|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|f+0#e000002&|i|v|e|'+0#af5f00255&| +0#e000002&|;+0#e000e06&|}| +0#0000000&@51
-|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|i|x|'+0#af5f00255&| +0#0000000&@55
-|}+0#e000e06&| +0#0000000&@73
-|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|e|v|e|n|'+0#af5f00255&| +0#e000e06&@3|}| +0#0000000&@41
->e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| |p+0#af5f00255&|r|i|n|t| +0#e000002&|'+0#af5f00255&|e+0#e000002&|i|g|h|t|'+0#af5f00255&| +0#e000e06&@2|}| +0#0000000&@49
-|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|i|n|e|=+0#0000000&|$+0#e000e06&|{| |p+0#af5f00255&|w|d|;| +0#e000e06&|}| +0#0000000&@52
-@75
-|#+0#0000e05&| |=@5| +0#0000000&@66
+| +0&#ffffff0@74
 |#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| |$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
 |#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| +0#0000000&@43
 |i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|e+0#af5f00255&|v|a|l| +0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| |2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| +0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
 | +0#00e0e07&@7|v|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
-@16|R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
+@16>R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
 @8|}+0#00e0e07&| +0#0000000&@65
 @8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |t|e|n|}| +0#0000000&@43
 @8|p+0#af5f00255&|r|i|n|t| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |e|l|e|v|e|n|;+0#af5f00255&|}+0#e000e06&|"+0#af5f00255&| +0#0000000&@36
 @8|p+0#af5f00255&|r|i|n|t|f| +0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |t|w|e|l|v|e| @6|}|"+0#af5f00255&| +0#0000000&@24
 @8|u+0#00e0e07&|n|l|u|c|k|y|=+0#0000000&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |t|h|i|r|t|e@1|n| +0#0000000&@36
-@57|1|9|,|1| @9|4|3|%| 
+|}+0#e000e06&| +0#0000000&@73
+@8|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|o|t|a|f|l|o|a|t|=+0#0000000&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |n|o|t|a|n|u|m|b|e|r| @5|}| +0#0000000&@17
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|u|n|l|u|c|k|y| +0#e000002&|$+0#e000e06&|n|o|t|a|n|u|m|b|e|r| +0#0000000&@40
+@8|$+0#e000e06&|{|||e+0#af5f00255&|c|h|o| +0#e000002&|f|o@1|}+0#e000e06&| +0#0000000&@54
+@8|$+0#e000e06&|{|||e+0#af5f00255&|c|h|o| +0#e000002&|b|a|r| +0#0000000&@55
+|}+0#e000e06&| +0#0000000&@73
+|f+0#af5f00255&|i| +0#0000000&@72
+@75
+@57|1@1|9|,|3|-|1|7| @5|8@1|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh_generic_08.dump b/runtime/syntax/testdir/dumps/ksh_generic_08.dump
new file mode 100644 (file)
index 0000000..b507e1d
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |=@5| +0#0000000&@66
+|#+0#0000e05&| |S|h|a|r|e|d|-|s|t|a|t|e| |c|o|m@1|a|n|d| |s|u|b|s|t|i|t|u|t|i|o|n|s| |u|s|i|n|g| |t|h|e| |s|y|n|t|a|x| |$|{|<|f|i|l|e|;|}| +0#0000000&@11
+|#+0#0000e05&| |a|r|e| |o|n|l|y| |s|u|p@1|o|r|t|e|d| |b|y| |k|s|h|9|3|,| |n|o|t| |m|k|s|h|.| +0#0000000&@34
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| +0#0000000&@67
+| +0#e000e06&@7>p+0#af5f00255&|r|i|n|t|f| +0#e000e06&|%|s| |s|t|r| +0#0000000&@53
+|}+0#e000e06&| +0#e000002&|>+0#af5f00255&| +0#0000000&|/|t|m|p|/|s|t|r|f|i|l|e| @58
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|<+0#af5f00255&|/+0#e000e06&|t|m|p|/|s|t|r|f|i|l|e|;|}| +0#0000000&@52
+@75
+|e+0#af5f00255&|x|i|t| +0#0000000&|0+0#e000002&| +0#0000000&@68
+|#+0#0000e05&| |k|s|h|8@1| |a|n|d| |k|s|h|9|3| |n|o|n|-|d|o|t| |s|p|e|c|i|a|l| |v|a|r|i|a|b|l|e|s| +0#0000000&@31
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |R|A|N|D|O|M|=+0#af5f00255&| +0#e000e06&|S|R|A|N|D|O|M|=+0#af5f00255&| +0#e000e06&|S|H|L|V|L|=+0#af5f00255&| +0#e000e06&|J|O|B|M|A|X|=+0#af5f00255&| +0#e000e06&|K|S|H|_|V|E|R|S|I|O|N|=+0#af5f00255&| +0#e000e06&|F|I|G|N|O|R|E|=+0#af5f00255&| +0#e000e06&|L|C|_|T|I|M|E|=+0#af5f00255&| +0#e000e06&|L|C|_
+|N|U|M|E|R|I|C|=+0#af5f00255&| +0#e000e06&|L|C|_|M|E|S@1|A|G|E|S|=+0#af5f00255&| +0#e000e06&|L|C|_|C|T|Y|P|E|=+0#af5f00255&| +0#e000e06&|L|C|_|C|O|L@1|A|T|E|=+0#af5f00255&| +0#e000e06&|L|C|_|A|L@1|=+0#af5f00255&| +0#e000e06&|L|A|N|G|=+0#af5f00255&| +0#e000e06&|F|P|A|T|H|=+0#af5f00255&| +0#e000e06&|P|S|4|=+0#af5f00255&| +0#e000e06&|O|P|T|I|N
+|D|=+0#af5f00255&| +0#e000e06&|O|P|T|A|R|G|=+0#af5f00255&| +0#e000e06&|t+0#af5f00255&|r|u|e| +0#e000e06&|;|}| +0#0000000&@56
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|L|I|N|E|N|O|=+0#af5f00255&| +0#e000e06&|S|E|C|O|N|D|S|=+0#af5f00255&| +0#e000e06&|T|M|O|U|T|=+0#af5f00255&| +0#e000e06&|P@1|I|D|=+0#af5f00255&| +0#e000e06&|L|I|N|E|S|=+0#af5f00255&| +0#e000e06&|C|O|L|U|M|N|S|=+0#af5f00255&| +0#e000e06&|V|I|S|U|A|L|=+0#af5f00255&| +0#e000e06&|O|L|D|P|W|D|=+0#af5f00255&| +0#e000e06&|P|S|3|=+0#af5f00255&| +0#e000e06&
+|M|A|I|L|P|A|T|H|=+0#af5f00255&| +0#e000e06&|C|D|P|A|T|H|=+0#af5f00255&| +0#e000e06&|F|C|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|C|M|D|=+0#af5f00255&| +0#e000e06&|H|I|S|T|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|S|I|Z|E|=+0#af5f00255&| +0#e000e06&|H|I|S|T|F|I|L|E|=+0#af5f00255&| +0#e000e06&|E|N|V|=+0#af5f00255&| +0#e000e06&|M|A|I|L|C
+|H|E|C|K|=+0#af5f00255&| +0#e000e06&|E|D|I|T|O|R|=+0#af5f00255&| +0#e000e06&|S|H|E|L@1|=+0#af5f00255&| +0#e000e06&|f+0#af5f00255&|a|l|s|e|)+0#e000e06&| +0#0000000&@47
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S|H|_|O|P|T|I|O|N|S|=+0#af5f00255&| +0#e000e06&|E|R@1|N|O|=+0#af5f00255&| +0#e000e06&|C|O|M
+|P|_|C|W|O|R|D|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|L|I|N|E|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|P|O|I|N|T|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|R|D|S|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|K|E|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|@+0#4040ff13&@2
+| +0#0000000&@56|1|3|7|,|2|-|9| @6|9|8|%| 
diff --git a/runtime/syntax/testdir/dumps/ksh_generic_09.dump b/runtime/syntax/testdir/dumps/ksh_generic_09.dump
new file mode 100644 (file)
index 0000000..69664b7
--- /dev/null
@@ -0,0 +1,20 @@
+|p+0#af5f00255#ffffff0|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S|H|_|O|P|T|I|O|N|S|=+0#af5f00255&| +0#e000e06&|E|R@1|N|O|=+0#af5f00255&| +0#e000e06&|C|O|M
+|P|_|C|W|O|R|D|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|L|I|N|E|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|P|O|I|N|T|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|R|D|S|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|K|E|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|W|O|R|D|B
+|R|E|A|K|S|=+0#af5f00255&| +0#e000e06&|C|O|M|P|_|T|Y|P|E|=+0#af5f00255&| +0#e000e06&|c+0#af5f00255&|o|m|p|g|e|n|)+0#e000e06&| +0#0000000&@48
+>p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|B|A|S|H|P|I|D|=+0#af5f00255&| +0#e000e06&|E|P|O|C|H|R|E|A|L|T|I|M|E|=+0#af5f00255&| +0#e000e06&|E|X|E|C|S|H|E|L@1|=+0#af5f00255&| +0#e000e06&|K|S|H|E|G|I|D|=+0#af5f00255&| +0#e000e06&|K|S|H|G|I|D|=+0#af5f00255&| +0#e000e06&|K|S|H|U|I|D|=+0#af5f00255&| +0#e000e06&|K|S|H|_|M|A|T
+|C|H|=+0#af5f00255&| +0#e000e06&|P|A|T|H|S|E|P|=+0#af5f00255&| +0#e000e06&|P|G|R|P|=+0#af5f00255&| +0#e000e06&|P|I|P|E|S|T|A|T|U|S|=+0#af5f00255&| +0#e000e06&|T|M|P|D|I|R|=+0#af5f00255&| +0#e000e06&|U|S|E|R|_|I|D|=+0#af5f00255&| +0#e000e06&|V|P|A|T|H|=+0#af5f00255&| +0#e000e06&|C|S|W|I|D|T|H|=+0#af5f00255&| +0#e000e06&|c+0#af5f00255&|o|m|p|l|e|t|e|)+0#e000e06&| +0#0000000&@1
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|4|6|,|1| @8|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/mksh_00.dump b/runtime/syntax/testdir/dumps/mksh_00.dump
new file mode 100644 (file)
index 0000000..fcf4c10
--- /dev/null
@@ -0,0 +1,20 @@
+>#+0#0000e05#ffffff0|!|/|b|i|n|/|m|k|s|h| +0#0000000&@63
+@75
+|#+0#0000e05&| |R|e|n|d|e|r|i|n|g| |n|a|m|e|s|p|a|c|e| |v|a|r|i|a|b|l|e|s| +0#0000000&@43
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|[+0#e000e06#ffffff0|a+0#0000000&|d|s|f|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|1+0#e000002&|]+0#e000e06&|[|a+0#0000000&|z|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|[+0#e000e06#ffffff0|1+0#e000002&|]+0#e000e06&|[|2+0#e000002&|]+0#e000e06&|}
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|[+0#e000e06#ffffff0|v+0#0000000&|a|r|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|[+0#e000e06#ffffff0|1+0#e000002&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|[+0#e000e06#ffffff0|*+0#0000000&|]+0#e000e06&|}| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|#
+@1|b|a|z|}+0#e000e06#ffffff0| +0#0000000&@69
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|[+0#e000e06#ffffff0|3+0#e000002&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|[+0#e000e06#ffffff0|z+0#0000000&|]+0#e000e06&|#+0#af5f00255&@1|b+0#0000000&|a|z|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|s|h|.|v|e|r|s|i|o|n|/+0#af5f00255&|V+0#0000000&|/+0#af5f00255&|b+0#0000000&|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|s|h|.|v|e|r|s|i|o
+|n|/+0#af5f00255#ffffff0|V+0#0000000&|/+0#af5f00255&|b+0#0000000&|}+0#e000e06&| +0#0000000&@68
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|/+0#af5f00255&|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|.|b|a|r|[|d+0#0000000&|]+0#e000e06&|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&
+|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|/+0#af5f00255#ffffff0|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|f|o@1|.|b|a|r|/+0#af5f00255#ffffff0|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|b|a|r|.|f|o@1|/+0#af5f00255#ffffff0|%|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|b|a|r|/+0#af5f00255#ffffff0|#|b+0#0000000&|a|r|/+0#af5f00255&
+|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@70
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#af5f00255&@1|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|s|h|.|v|e|r|s|i|o|n|^@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|s|h|.|v|e|r|s|i|o|n|,@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a|l|a|r|m| |-+0#e000e06&@1|m|a|n| +0#0000000&@63
+|#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+@57|1|,|1| @10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/mksh_01.dump b/runtime/syntax/testdir/dumps/mksh_01.dump
new file mode 100644 (file)
index 0000000..44f1ef1
--- /dev/null
@@ -0,0 +1,20 @@
+|e+0#af5f00255#ffffff0|c|h|o| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|%|b+0#0000000&|a|r|f|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|f|o@1|/+0#af5f00255&|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|f|o@1|/+0#af5f00255&@1|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|$+0#e000e06&|{|b|a|r|/+0#af5f00255&|#|b+0#0000000&|a|r|/+0#af5f00255&|f+0#0000000&|o@1|}+0#e000e06&| +0#0000000&@5
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|s|h|.|v|e|r|s|i|o|n|^@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|.+0#ffffff16#ff404010|s|h|.|v|e|r|s|i|o|n|,@1|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|^+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#e000002&|$+0#e000e06&|{|K|S|H|_|V|E|R|S|I|O|N|,+0#ffffff16#ff404010|}+0#e000e06#ffffff0| +0#0000000&@4
+@75
+|#+0#0000e05&| |'|a|l|a|r|m|'| |b|u|i|l|t|i|n| |(|p|r|e|s|e|n|t| |i|n| |k|s|h|9|3|u|+|,| |k|s|h|9|3|v|-| |a|n|d| |t|h|e| |9|3|u|+|m| |d|e|v| |b|r|a|n|c|h|)|.| +0#0000000&@1
+|a|l|a|r|m| |-+0#e000e06&@1|m|a|n| +0#0000000&@63
+>#+0#0000e05&| |T|h|e| |f|d|s| |a|n|d| |p|i|d|s| |b|u|i|l|t|i|n|s|.| |T|h|e|s|e| |k|s|h|9|3| |b|u|i|l|t|i|n|s| |h|a|v|e| |e|x|i|s|t|e|d| |s|i|n|c|e| |2|0@1|5|-|0
+|5|-|2@1| +0#0000000&@70
+|#+0#0000e05&| |a|n|d| |2|0@1|8|-|0|6|-|0|2|,| |r|e|s|p|e|c|t|i|v|e|l|y|.| |H|o|w|e|v|e|r|,| |t|h|e|s|e| |w|e|r|e| |n|o|t| |r|e|a|d|i|l|y| |e|n|a|b|l|e|d|;| |i|n
+|#| |9|3|u|+|m| |t|h|e|s|e| |c|a|n| |b|e| |e|n|a|b|l|e|d| |w|i|t|h| |t|h|e| |b|u|i|l|t|i|n| |c|o|m@1|a|n|d| |i|f| |l|i|b|c|m|d|.|s|o| |i|s| |p|r|e|s|e
+|n|t|,| +0#0000000&@71
+|#+0#0000e05&| |e|i|t|h|e|r| |v|i|a| |'|b|u|i|l|t|i|n| |-|f|'| |o|r| |(|i|n| |m|o|r|e| |r|e|c|e|n|t| |c|o|m@1|i|t|s|)| |w|i|t|h| |a| |r|e|g|u|l|a|r| |i|n|v|o|c|a
+|t|i|o|n| +0#0000000&@70
+|#+0#0000e05&| |o|f| |t|h|e| |'|b|u|i|l|t|i|n|'| |b|u|i|l|t|-|i|n|.| +0#0000000&@46
+|#+0#0000e05&| |c|f|.| |h|t@1|p|s|:|/@1|g|i|t|h|u|b|.|c|o|m|/|k|s|h|9|3|/|k|s|h|/|c|o|m@1|i|t|/|f|1|5|e|2|c|4|1| +0#0000000&@24
+|b+0#af5f00255&|u|i|l|t|i|n| +0#0000000&|f|d|s| |p|i|d|s| @58
+|f|d|s|;| |p|i|d|s| @65
+@75
+|#+0#0000e05&| |U|n|i|x| |c|o|m@1|a|n|d|s| |w|h|i|c|h| |a|r|e| |p|r|o|v|i|d|e|d| |b|y| |k|s|h| |a|s| |b|u|i|l|t|i|n|s| |v|i|a| |l|i|b|c|m|d|.|s|o| +0#0000000&@7
+|b+0#af5f00255&|a|s|e|n|a|m|e| +0#0000000&@66
+@57|1|4|,|1| @10|6|%| 
diff --git a/runtime/syntax/testdir/dumps/mksh_02.dump b/runtime/syntax/testdir/dumps/mksh_02.dump
new file mode 100644 (file)
index 0000000..d8825d3
--- /dev/null
@@ -0,0 +1,20 @@
+|b+0#af5f00255#ffffff0|a|s|e|n|a|m|e| +0#0000000&@66
+|c+0#af5f00255&|a|t| +0#0000000&@71
+|c+0#af5f00255&|h|g|r|p| +0#0000000&@69
+|c+0#af5f00255&|h|m|o|d| +0#0000000&@69
+|c+0#af5f00255&|h|o|w|n| +0#0000000&@69
+>c+0#af5f00255&|k|s|u|m| +0#0000000&@69
+|c+0#af5f00255&|m|p| +0#0000000&@71
+|c+0#af5f00255&|o|m@1| +0#0000000&@70
+|c+0#af5f00255&|p| +0#0000000&@72
+|c+0#af5f00255&|u|t| +0#0000000&@71
+|d+0#af5f00255&|a|t|e| +0#0000000&@70
+|d+0#af5f00255&|i|r|n|a|m|e| +0#0000000&@67
+|e+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|e+0#af5f00255&|x|p|r| +0#0000000&@70
+|f+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|f+0#af5f00255&|m|t| +0#0000000&@71
+|f+0#af5f00255&|o|l|d| +0#0000000&@70
+|g+0#af5f00255&|e|t|c|o|n|f| +0#0000000&@67
+|g+0#af5f00255&|r|e|p| +0#0000000&@70
+@57|2|9|,|1| @9|1|8|%| 
diff --git a/runtime/syntax/testdir/dumps/mksh_03.dump b/runtime/syntax/testdir/dumps/mksh_03.dump
new file mode 100644 (file)
index 0000000..f166483
--- /dev/null
@@ -0,0 +1,20 @@
+|g+0#af5f00255#ffffff0|r|e|p| +0#0000000&@70
+|h+0#af5f00255&|e|a|d| +0#0000000&@70
+|i+0#af5f00255&|c|o|n|v| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|i+0#af5f00255&|d| +0#0000000&@72
+|j+0#af5f00255&|o|i|n| +0#0000000&@70
+>l+0#af5f00255&|n| +0#0000000&@72
+|l+0#af5f00255&|o|g|n|a|m|e| +0#0000000&@67
+|l+0#af5f00255&|s| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|m+0#af5f00255&|d|5|s|u|m| +0#0000000&@68
+|m+0#af5f00255&|k|d|i|r| +0#0000000&@69
+|m+0#af5f00255&|k|f|i|f|o| +0#0000000&@68
+|m+0#af5f00255&|k|t|e|m|p| +0#0000000&@68
+|m+0#af5f00255&|v| +0#0000000&@72
+|o+0#af5f00255&|d| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|p+0#af5f00255&|a|s|t|e| +0#0000000&@69
+|p+0#af5f00255&|a|t|h|c|h|k| +0#0000000&@67
+|r+0#af5f00255&|e|a|d|l|i|n|k| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|a|l|p|a|t|h| +0#0000000&@7|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|r+0#af5f00255&|e|v| +0#0000000&@71
+@57|4|7|,|1| @9|3|2|%| 
diff --git a/runtime/syntax/testdir/dumps/mksh_04.dump b/runtime/syntax/testdir/dumps/mksh_04.dump
new file mode 100644 (file)
index 0000000..4dd849b
--- /dev/null
@@ -0,0 +1,20 @@
+|r+0#af5f00255#ffffff0|e|v| +0#0000000&@71
+|r+0#af5f00255&|m| +0#0000000&@72
+|r+0#af5f00255&|m|d|i|r| +0#0000000&@69
+|s+0#af5f00255&|h|a|1|s|u|m| +0#0000000&@8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|2|5|6|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+>s|h|a|2|s|u|m| @8|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|3|8|4|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|h|a|5|1|2|s|u|m| +0#0000000&@6|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|s+0#af5f00255&|t@1|y| +0#0000000&@70
+|s+0#af5f00255&|u|m| +0#0000000&@71
+|s+0#af5f00255&|y|n|c| +0#0000000&@70
+|t+0#af5f00255&|a|i|l| +0#0000000&@70
+|t+0#af5f00255&|e@1| +0#0000000&@71
+|t+0#af5f00255&|r| +0#0000000&@13|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|t+0#af5f00255&@1|y| +0#0000000&@71
+|u+0#af5f00255&|n|a|m|e| +0#0000000&@69
+|u+0#af5f00255&|n|i|q| +0#0000000&@70
+|v|m|s|t|a|t|e| @8|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t|;| |o|n|l|y| |a|v|a|i|l|a|b|l|e| |i|n| |9|3|v|-| |a|n|d| |o|l|d|e|r| +0#0000000&@11
+|w+0#af5f00255&|c| +0#0000000&@72
+@57|6|5|,|1| @9|4|6|%| 
diff --git a/runtime/syntax/testdir/dumps/mksh_05.dump b/runtime/syntax/testdir/dumps/mksh_05.dump
new file mode 100644 (file)
index 0000000..13afdbb
--- /dev/null
@@ -0,0 +1,20 @@
+|w+0#af5f00255#ffffff0|c| +0#0000000&@72
+|x+0#af5f00255&|a|r|g|s| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+|x+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |9|3|v|-| +0#0000000&@52
+@75
+|#+0#0000e05&| |S|H|A| |c|o|m@1|a|n|d| |n|o|t| |p|r|o|v|i|d|e|d| |a|s| |a| |b|u|i|l|t|i|n| |b|u|t| |i|n|c|l|u|d|e|d| |h|e|r|e| |f|o|r| |c|o|m|p|l|e|t|e|n|e|s@1| +0#0000000&
+>s+0#af5f00255&|h|a|2@1|4|s|u|m| +0#0000000&@65
+@75
+|#+0#0000e05&| |p|o|l@1| |b|u|i|l|t|i|n| |(|9|3|v|-|)| +0#0000000&@53
+|p|o|l@1| |-+0#e000e06&@1|m|a|n| +0#0000000&@64
+@75
+|#+0#0000e05&| |m|k|s|e|r|v|i|c|e| |a|n|d| |e|l|o@1|p| |(|r|a|r|e|l|y| |p|r|o|v|i|d|e|d|;| |r|e|q|u|i|r|e|s| |S|H|O|P|T|_|M|K|S|E|R|V|I|C|E|)| +0#0000000&@9
+|m|k|s|e|r|v|i|c|e| |-+0#e000e06&@1|m|a|n|;+0#0000000&| |e|l|o@1|p| |-+0#e000e06&@1|h|e|l|p| +0#0000000&@45
+@75
+|#+0#0000e05&| |s|o|m|e| |m|k|s|h| |b|u|i|l|t|i|n|s| +0#0000000&@54
+|b+0#af5f00255&|i|n|d|;+0#0000000&| |r+0#af5f00255&|e|n|a|m|e| +0#0000000&@62
+@75
+|#+0#0000e05&| |;|&| |a|n|d| |;@1|&| |i|n| |c|a|s|e| |s|t|a|t|e|m|e|n|t|s| +0#0000000&@43
+|c+0#af5f00255&|a|s|e| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&@65
+@8|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#0000000&|1|}+0#e000e06&| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@57|8|3|,|1| @9|6|0|%| 
diff --git a/runtime/syntax/testdir/dumps/mksh_06.dump b/runtime/syntax/testdir/dumps/mksh_06.dump
new file mode 100644 (file)
index 0000000..d6532e8
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@7|b|a|r|)+0#af5f00255&| +0#0000000&|f+0#af5f00255&|a|l|s|e| +0#0000000&|$+0#e000e06&|{|b|a|z|:+0#0000000&|1|}+0#e000e06&| +0#0000000&|;+0#af5f00255&|&| +0#0000000&@44
+@8|f|o@1|)+0#af5f00255&| +0#0000000&|t+0#af5f00255&|r|u|e| +0#0000000&|$+0#e000e06&|{|f|o@1|:+0#0000000&|0|:|0|}+0#e000e06&| +0#0000000&|;+0#af5f00255&@1|&| +0#0000000&@42
+@8|*|)+0#af5f00255&| +0#0000000&|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{|$|b|a|r|}| +0#e000002&|;+0#af5f00255&@1| +0#0000000&@4|#+0#0000e05&| |9|3|v|-| +0#0000000&@36
+|e+0#af5f00255&|s|a|c| +0#0000000&@70
+@75
+>#+0#0000e05&| |B|e|l|o|w| |i|s| |s|u|b|s|h|a|r|e| |s|y|n|t|a|x| |s|u|p@1|o|r|t|e|d| |b|y| |b|o|t|h| |k|s|h|9|3| |a|n|d| |m|k|s|h|.| +0#0000000&@14
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|o|n|e| +0#e000e06&|}| +0#0000000&@55
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|t|w|o| +0#0000000&@50
+|}+0#e000e06&| +0#0000000&@73
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| +0#0000000&@66
+|e+0#af5f00255&|c|h|o| +0#e000002&|t|h|r|e@1| +0#e000e06&@5|}| +0#0000000&@57
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|f+0#e000002&|o|u|r|'+0#af5f00255&|;| +0#e000e06&|}| +0#0000000&@51
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|f+0#e000002&|i|v|e|'+0#af5f00255&| +0#e000002&|;+0#e000e06&|}| +0#0000000&@51
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|i|x|'+0#af5f00255&| +0#0000000&@55
+|}+0#e000e06&| +0#0000000&@73
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| @7|e+0#af5f00255&|c|h|o| +0#e000002&|'+0#af5f00255&|s+0#e000002&|e|v|e|n|'+0#af5f00255&| +0#e000e06&@3|}| +0#0000000&@41
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| |p+0#af5f00255&|r|i|n|t| +0#e000002&|'+0#af5f00255&|e+0#e000002&|i|g|h|t|'+0#af5f00255&| +0#e000e06&@2|}| +0#0000000&@49
+|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|i|n|e|=+0#0000000&|$+0#e000e06&|{| |p+0#af5f00255&|w|d|;| +0#e000e06&|}| +0#0000000&@52
+@75
+@57|1|0|1|,|1| @8|7|4|%| 
diff --git a/runtime/syntax/testdir/dumps/mksh_07.dump b/runtime/syntax/testdir/dumps/mksh_07.dump
new file mode 100644 (file)
index 0000000..3219c17
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| |$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
+|#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| +0#0000000&@43
+|i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|e+0#af5f00255&|v|a|l| +0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| |2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| +0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
+| +0#00e0e07&@7|v|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@16>R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
+@8|}+0#00e0e07&| +0#0000000&@65
+@8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |t|e|n|}| +0#0000000&@43
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |e|l|e|v|e|n|;+0#af5f00255&|}+0#e000e06&|"+0#af5f00255&| +0#0000000&@36
+@8|p+0#af5f00255&|r|i|n|t|f| +0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |t|w|e|l|v|e| @6|}|"+0#af5f00255&| +0#0000000&@24
+@8|u+0#00e0e07&|n|l|u|c|k|y|=+0#0000000&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |t|h|i|r|t|e@1|n| +0#0000000&@36
+|}+0#e000e06&| +0#0000000&@73
+@8|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|o|t|a|f|l|o|a|t|=+0#0000000&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |n|o|t|a|n|u|m|b|e|r| @5|}| +0#0000000&@17
+@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|u|n|l|u|c|k|y| +0#e000002&|$+0#e000e06&|n|o|t|a|n|u|m|b|e|r| +0#0000000&@40
+@8|$+0#e000e06&|{|||e+0#af5f00255&|c|h|o| +0#e000002&|f|o@1|}+0#e000e06&| +0#0000000&@54
+@8|$+0#e000e06&|{|||e+0#af5f00255&|c|h|o| +0#e000002&|b|a|r| +0#0000000&@55
+|}+0#e000e06&| +0#0000000&@73
+|f+0#af5f00255&|i| +0#0000000&@72
+@75
+@57|1@1|9|,|3|-|1|7| @5|8@1|%| 
diff --git a/runtime/syntax/testdir/dumps/mksh_08.dump b/runtime/syntax/testdir/dumps/mksh_08.dump
new file mode 100644 (file)
index 0000000..8f629e6
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |=@5| +0#0000000&@66
+|#+0#0000e05&| |S|h|a|r|e|d|-|s|t|a|t|e| |c|o|m@1|a|n|d| |s|u|b|s|t|i|t|u|t|i|o|n|s| |u|s|i|n|g| |t|h|e| |s|y|n|t|a|x| |$|{|<|f|i|l|e|;|}| +0#0000000&@11
+|#+0#0000e05&| |a|r|e| |o|n|l|y| |s|u|p@1|o|r|t|e|d| |b|y| |k|s|h|9|3|,| |n|o|t| |m|k|s|h|.| +0#0000000&@34
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| +0#0000000&@67
+| +0#e000e06&@7>p+0#af5f00255&|r|i|n|t|f| +0#e000e06&|%|s| |s|t|r| +0#0000000&@53
+|}+0#e000e06&| +0#e000002&|>+0#af5f00255&| +0#0000000&|/|t|m|p|/|s|t|r|f|i|l|e| @58
+|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|<+0#ffffff16#ff404010|/+0#af5f00255#ffffff0|t+0#0000000&|m|p|/+0#af5f00255&|s+0#0000000&|t|r|f|i|l|e|;|}+0#e000e06&| +0#0000000&@52
+@75
+|e+0#af5f00255&|x|i|t| +0#0000000&|0+0#e000002&| +0#0000000&@68
+|#+0#0000e05&| |k|s|h|8@1| |a|n|d| |k|s|h|9|3| |n|o|n|-|d|o|t| |s|p|e|c|i|a|l| |v|a|r|i|a|b|l|e|s| +0#0000000&@31
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|{| |R|A|N|D|O|M|=+0#af5f00255&| +0#e000e06&|S+0#00e0e07&|R|A|N|D|O|M|=+0#0000000&| +0#e000e06&|S|H|L|V|L|=+0#af5f00255&| +0#e000e06&|J|O|B|M|A|X|=+0#af5f00255&| +0#e000e06&|K|S|H|_|V|E|R|S|I|O|N|=+0#af5f00255&| +0#e000e06&|F|I|G|N|O|R|E|=+0#af5f00255&| +0#e000e06&|L|C|_|T|I|M|E|=+0#af5f00255&| +0#e000e06&|L|C|_
+|N|U|M|E|R|I|C|=+0#af5f00255&| +0#e000e06&|L|C|_|M|E|S@1|A|G|E|S|=+0#af5f00255&| +0#e000e06&|L|C|_|C|T|Y|P|E|=+0#af5f00255&| +0#e000e06&|L|C|_|C|O|L@1|A|T|E|=+0#af5f00255&| +0#e000e06&|L|C|_|A|L@1|=+0#af5f00255&| +0#e000e06&|L|A|N|G|=+0#af5f00255&| +0#e000e06&|F|P|A|T|H|=+0#af5f00255&| +0#e000e06&|P|S|4|=+0#af5f00255&| +0#e000e06&|O|P|T|I|N
+|D|=+0#af5f00255&| +0#e000e06&|O|P|T|A|R|G|=+0#af5f00255&| +0#e000e06&|t+0#af5f00255&|r|u|e| +0#e000e06&|;|}| +0#0000000&@56
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|L|I|N|E|N|O|=+0#af5f00255&| +0#e000e06&|S|E|C|O|N|D|S|=+0#af5f00255&| +0#e000e06&|T|M|O|U|T|=+0#af5f00255&| +0#e000e06&|P@1|I|D|=+0#af5f00255&| +0#e000e06&|L|I|N|E|S|=+0#af5f00255&| +0#e000e06&|C|O|L|U|M|N|S|=+0#af5f00255&| +0#e000e06&|V|I|S|U|A|L|=+0#af5f00255&| +0#e000e06&|O|L|D|P|W|D|=+0#af5f00255&| +0#e000e06&|P|S|3|=+0#af5f00255&| +0#e000e06&
+|M|A|I|L|P|A|T|H|=+0#af5f00255&| +0#e000e06&|C|D|P|A|T|H|=+0#af5f00255&| +0#e000e06&|F|C|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|C|M|D|=+0#af5f00255&| +0#e000e06&|H|I|S|T|E|D|I|T|=+0#af5f00255&| +0#e000e06&|H|I|S|T|S|I|Z|E|=+0#af5f00255&| +0#e000e06&|H|I|S|T|F|I|L|E|=+0#af5f00255&| +0#e000e06&|E|N|V|=+0#af5f00255&| +0#e000e06&|M|A|I|L|C
+|H|E|C|K|=+0#af5f00255&| +0#e000e06&|E|D|I|T|O|R|=+0#af5f00255&| +0#e000e06&|S|H|E|L@1|=+0#af5f00255&| +0#e000e06&|f+0#af5f00255&|a|l|s|e|)+0#e000e06&| +0#0000000&@47
+|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S+0#00e0e07&|H|_|O|P|T|I|O|N|S|=+0#0000000&| +0#e000e06&|E+0#00e0e07&|R@1|N|O|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M
+|P|_|C|W|O|R|D|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|L|I|N|E|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|P|O|I|N|T|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|W|O|R|D|S|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|K|E|Y|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|R|E|P|L|Y|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|W|O|@+0#4040ff13&@2
+| +0#0000000&@56|1|3|7|,|2|-|9| @6|9|8|%| 
diff --git a/runtime/syntax/testdir/dumps/mksh_09.dump b/runtime/syntax/testdir/dumps/mksh_09.dump
new file mode 100644 (file)
index 0000000..1479af7
--- /dev/null
@@ -0,0 +1,20 @@
+|p+0#af5f00255#ffffff0|r|i|n|t| +0#e000002&|$+0#e000e06&|(|R|E|P|L|Y|=+0#af5f00255&| +0#e000e06&|M|A|I|L|=+0#af5f00255&| +0#e000e06&|H|O|M|E|=+0#af5f00255&| +0#e000e06&|P|W|D|=+0#af5f00255&| +0#e000e06&|I|F|S|=+0#af5f00255&| +0#e000e06&|P|S|2|=+0#af5f00255&| +0#e000e06&|P|S|1|=+0#af5f00255&| +0#e000e06&|P|A|T|H|=+0#af5f00255&| +0#e000e06&|S+0#00e0e07&|H|_|O|P|T|I|O|N|S|=+0#0000000&| +0#e000e06&|E+0#00e0e07&|R@1|N|O|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M
+|P|_|C|W|O|R|D|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|L|I|N|E|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|P|O|I|N|T|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|W|O|R|D|S|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|K|E|Y|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|R|E|P|L|Y|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|W|O|R|D|B
+|R|E|A|K|S|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|O|M|P|_|T|Y|P|E|=+0#0000000&| +0#e000e06&|c|o|m|p|g|e|n|)| +0#0000000&@48
+>p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|(|B|A|S|H|P|I|D|=+0#af5f00255&| +0#e000e06&|E|P|O|C|H|R|E|A|L|T|I|M|E|=+0#af5f00255&| +0#e000e06&|E|X|E|C|S|H|E|L@1|=+0#af5f00255&| +0#e000e06&|K|S|H|E|G|I|D|=+0#af5f00255&| +0#e000e06&|K|S|H|G|I|D|=+0#af5f00255&| +0#e000e06&|K|S|H|U|I|D|=+0#af5f00255&| +0#e000e06&|K|S|H|_|M|A|T
+|C|H|=+0#af5f00255&| +0#e000e06&|P|A|T|H|S|E|P|=+0#af5f00255&| +0#e000e06&|P|G|R|P|=+0#af5f00255&| +0#e000e06&|P|I|P|E|S|T|A|T|U|S|=+0#af5f00255&| +0#e000e06&|T|M|P|D|I|R|=+0#af5f00255&| +0#e000e06&|U|S|E|R|_|I|D|=+0#af5f00255&| +0#e000e06&|V+0#00e0e07&|P|A|T|H|=+0#0000000&| +0#e000e06&|C+0#00e0e07&|S|W|I|D|T|H|=+0#0000000&| +0#e000e06&|c|o|m|p|l|e|t|e|)| +0#0000000&@1
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|4|6|,|1| @8|B|o|t| 
index 2c0961563f6a4288559473320b210e8251d0989e..e4fb549f72890b517a32ab91dc928d7c83d6d576 100644 (file)
@@ -5,7 +5,7 @@
 |#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
 >c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|a@2|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&@60
 |#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
-@8|b@2|)+0#af5f00255&| +0#0000000&@1|c+0#00e0e07&@2|=+0#0000000&|`+0#e000e06&|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|d@2||+0#af5f00255&|c+0#e000e06&|u|t| |-|b|4|-|`| +0#0000000&@36
+@8|b@2|)+0#af5f00255&| +0#0000000&@1|c+0#00e0e07&@2|=+0#0000000&|`+0#e000e06&|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|d@2||+0#af5f00255&|c|u|t| +0#e000e06&|-|b|4|-|`| +0#0000000&@36
 @8|e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|t+0#e000002&|e|s|t|"+0#af5f00255&| +0#0000000&@55
 |#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
 @8|;+0#af5f00255&@1| +0#0000000&@64
index 73164f003384a969870d7eea141f3ad262146fb3..df5c3e5c526e015f61bcb3cf327d08fead7d5a74 100644 (file)
@@ -6,7 +6,7 @@
 @75
 |#+0#0000e05&| |T|h|i|s| |a|l@1| |s|h|o|u|l|d| |b|e| |O|K| +0#0000000&@51
 |#+0#0000e05&| |C|a|s|e| |0|a| +0#0000000&@65
-|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |d|a|t|e| @58
+|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |d+0#af5f00255&|a|t|e| +0#0000000&@58
 |V+0#00e0e07&|a|r|i|a|b|l|e|1|=+0#0000000&|v|a|l|u|e|1| @58
 |V+0#00e0e07&|a|r|i|a|b|l|e|2|=+0#0000000&|'+0#af5f00255&|v+0#e000002&|a|l|u|e|2|'+0#af5f00255&| +0#0000000&@56
 |V+0#00e0e07&|a|r|i|a|b|l|e|3|=+0#0000000&|"+0#af5f00255&|v+0#e000002&|a|l|u|e|3|"+0#af5f00255&| +0#0000000&@56
index 83500539aaef82a73a0ac6f4abd04b1bd7793fb4..6b1c14f8b1173897ccee4ceb6c9bcf0980fbc90d 100644 (file)
@@ -15,6 +15,6 @@
 @75
 |#+0#0000e05&| |C|a|s|e| |0|d| +0#0000000&@65
 |[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|d+0#e000002&|a|t|e|"+0#af5f00255&| +0#0000000&@49
-|V+0#00e0e07&|a|r|i|a|b|l|e|1|=+0#0000000&|`+0#e000e06&|d|a|t|e|`| +0#0000000&@58
-|V+0#00e0e07&|a|r|i|a|b|l|e|2|=+0#0000000&|`+0#e000e06&|i|d| |-|n|g|`| +0#0000000&@56
+|V+0#00e0e07&|a|r|i|a|b|l|e|1|=+0#0000000&|`+0#e000e06&|d+0#af5f00255&|a|t|e|`+0#e000e06&| +0#0000000&@58
+|V+0#00e0e07&|a|r|i|a|b|l|e|2|=+0#0000000&|`+0#e000e06&|i+0#af5f00255&|d| +0#e000e06&|-|n|g|`| +0#0000000&@56
 @57|1|9|,|1| @10|3|%| 
index afcdd6f4aab40e939771f547e9436432361d574b..1de673713a136b23d94faf0050003853fd53f13e 100644 (file)
@@ -1,5 +1,5 @@
-|V+0#00e0e07#ffffff0|a|r|i|a|b|l|e|2|=+0#0000000&|`+0#e000e06&|i|d| |-|n|g|`| +0#0000000&@56
-|V+0#00e0e07&|a|r|i|a|b|l|e|3|=+0#0000000&|`+0#e000e06&|i|d| |-|n|g| ||+0#af5f00255&| +0#e000e06&|w|c| |-|c|`| +0#0000000&@48
+|V+0#00e0e07#ffffff0|a|r|i|a|b|l|e|2|=+0#0000000&|`+0#e000e06&|i+0#af5f00255&|d| +0#e000e06&|-|n|g|`| +0#0000000&@56
+|V+0#00e0e07&|a|r|i|a|b|l|e|3|=+0#0000000&|`+0#e000e06&|i+0#af5f00255&|d| +0#e000e06&|-|n|g| ||+0#af5f00255&| +0#e000e06&|w+0#af5f00255&|c| +0#e000e06&|-|c|`| +0#0000000&@48
 |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|1|"+0#af5f00255&| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|2|"+0#af5f00255&| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|3|"+0#af5f00255&| +0#0000000&@31
 @75
 |#+0#0000e05&@74
index c037b751eee35af44359d41fd55907f3b5f416cc..5003c31b1f5c51244bfe57424cd82c5e51f3be06 100644 (file)
@@ -4,7 +4,7 @@
 |D+0#00e0e07&|e|b|u|g|S|c|r|i|p|t|=+0#0000000&|s|e|t| @59
 @75
 |#+0#0000e05&| |S|h|o|w| |t|h|a|t| |w|e| |a|r|e| |b|u|s|y|.| +0#0000000&@50
-|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|P+0#e000002&|l|e|a|s|e| |w|a|i|t| |.@2| |\+0#e000e06&|c|"+0#af5f00255&| +0#e000002&|>+0#af5f00255&|`+0#e000e06&|t@1|y|`| +0#0000000&@30
+|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|P+0#e000002&|l|e|a|s|e| |w|a|i|t| |.@2| |\+0#e000e06&|c|"+0#af5f00255&| +0#e000002&|>+0#af5f00255&|`+0#e000e06&|t+0#af5f00255&@1|y|`+0#e000e06&| +0#0000000&@30
 @75
 |#+0#0000e05&@74
 @5| +0#0000000&@69
index 9be018a85d3be1ea85146296346076a6cf3de3c0..7334018709ba650c8850aea48cc882c29dd11225 100644 (file)
@@ -8,13 +8,13 @@
 @75
 |#+0#0000e05&| |S|e|v|e|r|a|l| |k|e|y|w|o|r|d|s| |w|i|t|h|o|u|t| |a|n|y| |q|u|o|t|e|s|!| +0#0000000&@36
 |#+0#0000e05&| |C|a|s|e| |1|a|.| |S|e|v|e|r|a|l| |C|o|n|s|t|a|n|t|s| | +0#0000000&@45
-|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |d|a|t|e| @58
+|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |d+0#af5f00255&|a|t|e| +0#0000000&@58
 |V+0#00e0e07&|a|r|i|a|b|l|e|1|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|-|T+0#0000000&|h|i|s| |i|s| |a| |T|e|x|t|}+0#e000e06&| +0#0000000&@36
 |V+0#00e0e07&|a|r|i|a|b|l|e|2|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|=|T+0#0000000&|h|i|s| |i|s| |a| |T|e|x|t|}+0#e000e06&| +0#0000000&@36
 |V+0#00e0e07&|a|r|i|a|b|l|e|3|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|?|T+0#0000000&|h|i|s| |i|s| |a| |T|e|x|t|}+0#e000e06&| +0#0000000&@36
 |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|1|"+0#af5f00255&| +0#e000002&|;+0#0000000&| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|2|"+0#af5f00255&| +0#e000002&|;+0#0000000&| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|3|"+0#af5f00255&| +0#0000000&@17
 @75
 |#+0#0000e05&| |C|a|s|e| |1|b|.| |V|a|r|i|a|b|l|e| |a|n|d| |C|o|n|s|t|a|n|t| +0#0000000&@42
-|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d|a|t|e|`|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
+|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d+0#af5f00255&|a|t|e|`+0#e000e06&|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
 |V+0#00e0e07&|a|r|i|a|b|l|e|1|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|-|$+0#e000e06&|H|O|M|E| +0#0000000&|T|h|i|s| |i|s| |a| |T|e|x|t|}+0#e000e06&| +0#0000000&@30
 |i|s|_|k|o|r|n|s|h|e|l@1|:| |1|,| @40|1|,|1| @10|T|o|p| 
index 45758ccc6ecad8af61e6704827145234fa63924f..40309b99c5f73c46af371b2c97f2bbe74954519b 100644 (file)
@@ -2,14 +2,14 @@
 |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|1|"+0#af5f00255&| +0#e000002&|;+0#0000000&| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|2|"+0#af5f00255&| +0#e000002&|;+0#0000000&| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|3|"+0#af5f00255&| +0#0000000&@17
 @75
 |#+0#0000e05&| |C|a|s|e| |1|b|.| |V|a|r|i|a|b|l|e| |a|n|d| |C|o|n|s|t|a|n|t| +0#0000000&@42
-|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d|a|t|e|`|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
+|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d+0#af5f00255&|a|t|e|`+0#e000e06&|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
 >V+0#00e0e07&|a|r|i|a|b|l|e|1|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|-|$+0#e000e06&|H|O|M|E| +0#0000000&|T|h|i|s| |i|s| |a| |T|e|x|t|}+0#e000e06&| +0#0000000&@30
 |V+0#00e0e07&|a|r|i|a|b|l|e|2|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|=|$+0#e000e06&|H|O|M|E| +0#0000000&|T|h|i|s| |i|s| |a| |T|e|x|t|}+0#e000e06&| +0#0000000&@30
 |V+0#00e0e07&|a|r|i|a|b|l|e|3|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|?|$+0#e000e06&|H|O|M|E| +0#0000000&|T|h|i|s| |i|s| |a| |T|e|x|t|}+0#e000e06&| +0#0000000&@30
 |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|1|"+0#af5f00255&| +0#e000002&|;+0#0000000&| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|2|"+0#af5f00255&| +0#e000002&|;+0#0000000&| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|3|"+0#af5f00255&| +0#0000000&@17
 @75
 |#+0#0000e05&| |C|a|s|e| |1|c|.| |C|o|n|s|t|a|n|t| |a|n|d| |V|a|r|i|a|b|l|e| +0#0000000&@42
-|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d|a|t|e|`|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
+|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d+0#af5f00255&|a|t|e|`+0#e000e06&|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
 |V+0#00e0e07&|a|r|i|a|b|l|e|1|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|-|T+0#0000000&|h|i|s| |i|s| |a| |T|e|x|t| |i|n| |$+0#e000e06&|H|O|M|E|}| +0#0000000&@27
 |V+0#00e0e07&|a|r|i|a|b|l|e|2|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|=|T+0#0000000&|h|i|s| |i|s| |a| |T|e|x|t| |i|n| |$+0#e000e06&|H|O|M|E|}| +0#0000000&@27
 |V+0#00e0e07&|a|r|i|a|b|l|e|3|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|+|T+0#0000000&|h|i|s| |i|s| |a| |T|e|x|t| |i|n| |$+0#e000e06&|H|O|M|E|}| +0#0000000&@6|#+0#0000e05&|!| |:|+| |i|s| |b|a|s|h|-|o|n|l|y|,| |e
index b57af0bd4b02153c11f5cefea0a97d1817efc157..ec9470de6c7dd9a2d192f40d78d1b959d5d04348 100644 (file)
@@ -2,7 +2,7 @@
 |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|1|"+0#af5f00255&| +0#e000002&|;+0#0000000&| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|2|"+0#af5f00255&| +0#e000002&|;+0#0000000&| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|3|"+0#af5f00255&| +0#0000000&@17
 @75
 |#+0#0000e05&| |C|a|s|e| |1|d|.| |M|o|r|e| |V|a|r|i|a|b|l|e|s| |a|n|d| |C|o|n|s|t|a|n|t|s|.| |S|t|a|r|t|i|n|g| |w|i|t|h| |a| |V|a|r|i|a|b|l|e|.| +0#0000000&@8
-|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d|a|t|e|`|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
+|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d+0#af5f00255&|a|t|e|`+0#e000e06&|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
 >V+0#00e0e07&|a|r|i|a|b|l|e|1|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|-|$+0#e000e06&|S|H|E|L@1|}| +0#0000000&@44
 |V+0#00e0e07&|a|r|i|a|b|l|e|1|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|-|$+0#e000e06&|S|H|E|L@1| +0#0000000&|T|h|i|s| |i|s| |a| |T|e|x|t| |i|n| |$+0#e000e06&|H|O|M|E|}| +0#0000000&@20
 |V+0#00e0e07&|a|r|i|a|b|l|e|2|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|=|$+0#e000e06&|S|H|E|L@1| +0#0000000&|T|h|i|s| |i|s| |a| |T|e|x|t| |i|n| |$+0#e000e06&|H|O|M|E|}| +0#0000000&@20
@@ -10,7 +10,7 @@
 |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|1|"+0#af5f00255&| +0#e000002&|;+0#0000000&| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|2|"+0#af5f00255&| +0#e000002&|;+0#0000000&| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|V|a|r|i|a|b|l|e|3|"+0#af5f00255&| +0#0000000&@17
 @75
 |#+0#0000e05&| |C|a|s|e| |1|e|.| |M|o|r|e| |C|o|n|s|t|a|n|t|s| |a|n|d| |V|a|r|i|a|b|l|e|s|.| |S|t|a|r|t|i|n|g| |w|i|t|h| |a| |C|o|n|s|t|a|n|t|.| +0#0000000&@8
-|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d|a|t|e|`|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
+|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d+0#af5f00255&|a|t|e|`+0#e000e06&|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
 |V+0#00e0e07&|a|r|i|a|b|l|e|1|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|-|"|T+0#e000002&|h|i|s| |i|s| |a| |T|e|x|t| |i|n| |$+0#e000e06&|H|O|M|E| +0#e000002&|$+0#e000e06&|S|H|E|L@1|"+0#af5f00255&|}+0#e000e06&| +0#0000000&@18
 |V+0#00e0e07&|a|r|i|a|b|l|e|1|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|-|T+0#0000000&|h|i|s| |i|s| |a| |T|e|x|t| |i|n| |$+0#e000e06&|H|O|M|E| +0#0000000&|$+0#e000e06&|S|H|E|L@1|}| +0#0000000&@20
 |V+0#00e0e07&|a|r|i|a|b|l|e|2|=+0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|=|T+0#0000000&|h|i|s| |i|s| |a| |T|e|x|t| |i|n| |$+0#e000e06&|H|O|M|E| +0#0000000&|$+0#e000e06&|S|H|E|L@1|}| +0#0000000&@20
index 54261881a2027b8348b20d8dab3375c011a48969..ef079981f45003e2754bc6e7867dd4b63b0e8862 100644 (file)
@@ -1,6 +1,6 @@
 | +0&#ffffff0@74
 |#+0#0000e05&| |C|a|s|e| |1|x|.| |T|h|e| |s|a|m|e| |w|i|t|h| |'|:|'| +0#0000000&@46
-|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d|a|t|e|`|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
+|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d+0#af5f00255&|a|t|e|`+0#e000e06&|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
 |:+0#0000e05&| +0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|-|T+0#0000000&|h|i|s| |i|s| |a| |T|e|x|t|}+0#e000e06&| +0#0000000&@44
 |:+0#0000e05&| +0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|-|$+0#e000e06&|H|O|M|E| +0#0000000&|T|h|i|s| |i|s| |a| |T|e|x|t|}+0#e000e06&| +0#0000000&@38
 >:+0#0000e05&| +0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|:+0#af5f00255&|-|T+0#0000000&|h|i|s| |i|s| |a| |T|e|x|t| |i|n| |$+0#e000e06&|H|O|M|E|}| +0#0000000&@35
@@ -9,7 +9,7 @@
 @75
 |#+0#0000e05&| |C|a|s|e| |1|y|.| |T|h|e| |s|a|m|e| |w|i|t|h| |'|:|'| |a|n|d| |w|i|t|h|o|u|t| |t|h|e| |'|:|'| |i|n| |t|h|e| |p|a|r|a|m|e|t|e|r| |s|u|b|s|t|i|t|u|t
 |i|o|n| +0#0000000&@71
-|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d|a|t|e|`|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
+|[+0#af5f00255&| +0#0000000&|-+0#af5f00255&|t| +0#0000000&|0+0#e000002&| +0#0000000&|]+0#af5f00255&| +0#0000000&|&@1| |e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|\+0#e000e06&|n|`|d+0#af5f00255&|a|t|e|`+0#e000e06&|"+0#af5f00255&| +0#e000002&|&+0#0000000&@1| |u+0#af5f00255&|n|s|e|t| +0#00e0e07&|V|a|r|i|a|b|l|e|A| +0#0000000&@28
 |:+0#0000e05&| +0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|-+0#af5f00255&|T+0#0000000&|h|i|s| |i|s| |a| |T|e|x|t|}+0#e000e06&| +0#0000000&@45
 |:+0#0000e05&| +0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|-+0#af5f00255&|$+0#e000e06&|H|O|M|E| +0#0000000&|T|h|i|s| |i|s| |a| |T|e|x|t|}+0#e000e06&| +0#0000000&@39
 |:+0#0000e05&| +0#0000000&|$+0#e000e06&|{|V|a|r|i|a|b|l|e|A|-+0#af5f00255&|T+0#0000000&|h|i|s| |i|s| |a| |T|e|x|t| |i|n| |$+0#e000e06&|H|O|M|E|}| +0#0000000&@36
index 8a51f394602299ef7178cc8ed80d465afad1aa37..58ab2022e0cbcc4688a06d31426c24e42af6cd23 100644 (file)
@@ -1,20 +1,20 @@
 >#+0#0000e05#ffffff0|!|/|b|i|n|/|d|a|s|h| +0#0000000&@63
 |#+0#0000e05&| |T|e|s|t| |f|i|l|e| |f|o|r| |v|i|m| |t|h|e| |c|h|e|c|k| |(|)| |s|u|b|s|h|e|l@1|s| +0#0000000&@32
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@53
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|1| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@50
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|1|}| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@48
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@53
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@53
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|1| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@50
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|1|}| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@48
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@53
 |(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|1|:+0#af5f00255&|-|.+0#0000000&|}+0#e000e06&| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |s+0#af5f00255&|e|d| +0#0000000&|-+0#e000e06&|e| +0#0000000&|'+0#af5f00255&|s+0#e000002&|!|$|!|/|!|'+0#af5f00255&| +0#0000000&|-+0#e000e06&|e| +0#0000000&|'+0#af5f00255&|s+0#e000002&|!|/@1|*|$|!|/|!|'+0#af5f00255&| +0#0000000&@20
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@53
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|1|:+0#af5f00255&|+|.+0#0000000&|}+0#e000e06&| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@45
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@53
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|1|:+0#af5f00255&|=|.+0#0000000&|}+0#e000e06&| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@45
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@53
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|1|:+0#af5f00255&|?|}+0#e000e06&| @1|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@45
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@53
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|H|O|M|E| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@47
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|H|O|M|E|}| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@45
-|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|H|O|M|E|}| |)| +0#0000000&||| |w|c| |-+0#e000e06&|c| +0#0000000&@52
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@53
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|1|:+0#af5f00255&|+|.+0#0000000&|}+0#e000e06&| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@45
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@53
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|1|:+0#af5f00255&|=|.+0#0000000&|}+0#e000e06&| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@45
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@53
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|1|:+0#af5f00255&|?|}+0#e000e06&| @1|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@45
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@53
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|H|O|M|E| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@47
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|H|O|M|E|}| |;+0#af5f00255&| +0#e000e06&|$|p|w|d| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@45
+|(+0#e000e06&| |c+0#af5f00255&|d| +0#e000e06&|$|{|H|O|M|E|}| |)| +0#0000000&||| |w+0#af5f00255&|c| +0#0000000&|-+0#e000e06&|c| +0#0000000&@52
 |(|(+0#e000e06&|n+0#00e0e07&|=+0#0000000&|1+0#e000002&|+|2|)+0#e000e06&|)+0#ffffff16#ff404010| +0#0000000#ffffff0@65
 |l+0#af5f00255&|e|t| +0#0000000&|n+0#00e0e07&|=+0#0000000&|1+0#e000002&|++0#0000000&|2+0#e000002&| +0#0000000&@65
 |i|s|_|d|a|s|h|:| |1|,| |i|s|_|p|o|s|i|x|:| |1|,| |i|s|_|s|h|:| |1|,| @22|1|,|1| @10|A|l@1| 
diff --git a/runtime/syntax/testdir/dumps/sh_10_02.dump b/runtime/syntax/testdir/dumps/sh_10_02.dump
deleted file mode 100644 (file)
index e03c3f8..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-| +0&#ffffff0@7|u+0#00e0e07&|n|l|u|c|k|y|=+0#0000000&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |t|h|i|r|t|e@1|n| +0#0000000&@36
-|}+0#e000e06&| +0#0000000&@73
-@8|t+0#af5f00255&|y|p|e|s|e|t| +0#0000000&|n+0#00e0e07&|o|t|a|f|l|o|a|t|=+0#0000000&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |n|o|t|a|n|u|m|b|e|r| @5|}| +0#0000000&@17
-@8|p+0#af5f00255&|r|i|n|t| +0#e000002&|$+0#e000e06&|u|n|l|u|c|k|y| +0#e000002&|$+0#e000e06&|n|o|t|a|n|u|m|b|e|r| +0#0000000&@40
-@8|$+0#e000e06&|{|||e+0#af5f00255&|c|h|o| +0#e000002&|f|o@1|}+0#e000e06&| +0#0000000&@54
-@8>$+0#e000e06&|{|||e+0#af5f00255&|c|h|o| +0#e000002&|b|a|r| +0#0000000&@55
-|}+0#e000e06&| +0#0000000&@73
-|f+0#af5f00255&|i| +0#0000000&@72
-@75
-|#+0#0000e05&| |=@5| +0#0000000&@66
-|#+0#0000e05&| |S|h|a|r|e|d|-|s|t|a|t|e| |c|o|m@1|a|n|d| |s|u|b|s|t|i|t|u|t|i|o|n|s| |u|s|i|n|g| |t|h|e| |s|y|n|t|a|x| |$|{|<|f|i|l|e|;|}| +0#0000000&@11
-|#+0#0000e05&| |a|r|e| |o|n|l|y| |s|u|p@1|o|r|t|e|d| |b|y| |k|s|h|9|3|,| |n|o|t| |m|k|s|h|.| +0#0000000&@34
-|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{| +0#0000000&@67
-| +0#e000e06&@7|p+0#af5f00255&|r|i|n|t|f| +0#e000e06&|%|s| |s|t|r| +0#0000000&@53
-|}+0#e000e06&| +0#e000002&|>+0#af5f00255&| +0#0000000&|/|t|m|p|/|s|t|r|f|i|l|e| @58
-|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|<+0#af5f00255&|/+0#e000e06&|t|m|p|/|s|t|r|f|i|l|e|;|}| +0#0000000&@52
-@75
-|e+0#af5f00255&|x|i|t| +0#0000000&|0+0#e000002&| +0#0000000&@68
-|~+0#4040ff13&| @73
-| +0#0000000&@56|3|7|,|2|-|9| @7|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/sh_bash_sundrous_00.dump b/runtime/syntax/testdir/dumps/sh_bash_sundrous_00.dump
new file mode 100644 (file)
index 0000000..dcfb57c
--- /dev/null
@@ -0,0 +1,20 @@
+>#+0#0000e05#ffffff0|!|/|b|i|n|/|b|a|s|h| +0#0000000&@63
+|b+0#af5f00255&|a|s|e|n|a|m|e| +0#0000000&@66
+|c+0#af5f00255&|a|t| +0#0000000&@71
+|c+0#af5f00255&|h|g|r|p| +0#0000000&@69
+|c+0#af5f00255&|h|m|o|d| +0#0000000&@69
+|c+0#af5f00255&|h|o|w|n| +0#0000000&@69
+|c+0#af5f00255&|k|s|u|m| +0#0000000&@69
+|c+0#af5f00255&|m|p| +0#0000000&@71
+|c+0#af5f00255&|o|m@1| +0#0000000&@70
+|c+0#af5f00255&|p| +0#0000000&@72
+|c+0#af5f00255&|u|t| +0#0000000&@71
+|d+0#af5f00255&|a|t|e| +0#0000000&@70
+|d+0#af5f00255&|i|r|n|a|m|e| +0#0000000&@67
+|e+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|e+0#af5f00255&|x|p|r| +0#0000000&@70
+|f+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|f+0#af5f00255&|m|t| +0#0000000&@71
+|f+0#af5f00255&|o|l|d| +0#0000000&@70
+|g+0#af5f00255&|e|t|c|o|n|f| +0#0000000&@67
+|i|s|_|b|a|s|h|:| |1|,| @45|1|,|1| @10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/sh_bash_sundrous_01.dump b/runtime/syntax/testdir/dumps/sh_bash_sundrous_01.dump
new file mode 100644 (file)
index 0000000..ad3449d
--- /dev/null
@@ -0,0 +1,20 @@
+|e+0#af5f00255#ffffff0|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|e+0#af5f00255&|x|p|r| +0#0000000&@70
+|f+0#af5f00255&|g|r|e|p| +0#0000000&@10|#+0#0000e05&| |O|b|s|o|l|e|s|c|e|n|t| +0#0000000&@45
+|f+0#af5f00255&|m|t| +0#0000000&@71
+|f+0#af5f00255&|o|l|d| +0#0000000&@70
+>g+0#af5f00255&|e|t|c|o|n|f| +0#0000000&@67
+|g+0#af5f00255&|r|e|p| +0#0000000&@70
+|h+0#af5f00255&|e|a|d| +0#0000000&@70
+|i+0#af5f00255&|c|o|n|v| +0#0000000&@69
+|i+0#af5f00255&|d| +0#0000000&@72
+|j+0#af5f00255&|o|i|n| +0#0000000&@70
+|l+0#af5f00255&|n| +0#0000000&@72
+|l+0#af5f00255&|o|g|n|a|m|e| +0#0000000&@67
+|l+0#af5f00255&|s| +0#0000000&@72
+|m+0#af5f00255&|d|5|s|u|m| +0#0000000&@68
+|m+0#af5f00255&|k|d|i|r| +0#0000000&@69
+|m+0#af5f00255&|k|f|i|f|o| +0#0000000&@68
+|m+0#af5f00255&|k|t|e|m|p| +0#0000000&@68
+|m+0#af5f00255&|v| +0#0000000&@72
+@57|1|9|,|1| @9|3|4|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_bash_sundrous_02.dump b/runtime/syntax/testdir/dumps/sh_bash_sundrous_02.dump
new file mode 100644 (file)
index 0000000..073d29f
--- /dev/null
@@ -0,0 +1,20 @@
+|m+0#af5f00255#ffffff0|v| +0#0000000&@72
+|o+0#af5f00255&|d| +0#0000000&@72
+|p+0#af5f00255&|a|s|t|e| +0#0000000&@69
+|p+0#af5f00255&|a|t|h|c|h|k| +0#0000000&@67
+|r+0#af5f00255&|e|a|d|l|i|n|k| +0#0000000&@66
+>r+0#af5f00255&|e|a|l|p|a|t|h| +0#0000000&@66
+|r+0#af5f00255&|e|v| +0#0000000&@71
+|r+0#af5f00255&|m| +0#0000000&@72
+|r+0#af5f00255&|m|d|i|r| +0#0000000&@69
+|s+0#af5f00255&|h|a|1|s|u|m| +0#0000000&@67
+|s+0#af5f00255&|h|a|2|5|6|s|u|m| +0#0000000&@65
+|s+0#af5f00255&|h|a|2@1|4|s|u|m| +0#0000000&@65
+|s+0#af5f00255&|h|a|3|8|4|s|u|m| +0#0000000&@65
+|s+0#af5f00255&|h|a|5|1|2|s|u|m| +0#0000000&@65
+|s+0#af5f00255&|t@1|y| +0#0000000&@70
+|s+0#af5f00255&|u|m| +0#0000000&@71
+|s+0#af5f00255&|y|n|c| +0#0000000&@70
+|t+0#af5f00255&|a|i|l| +0#0000000&@70
+|t+0#af5f00255&|e@1| +0#0000000&@71
+@57|3|7|,|1| @9|8|1|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_bash_sundrous_03.dump b/runtime/syntax/testdir/dumps/sh_bash_sundrous_03.dump
new file mode 100644 (file)
index 0000000..5a24b40
--- /dev/null
@@ -0,0 +1,20 @@
+|t+0#af5f00255#ffffff0|e@1| +0#0000000&@71
+|t+0#af5f00255&|r| +0#0000000&@72
+|t+0#af5f00255&@1|y| +0#0000000&@71
+|u+0#af5f00255&|n|a|m|e| +0#0000000&@69
+|u+0#af5f00255&|n|i|q| +0#0000000&@70
+>w+0#af5f00255&|c| +0#0000000&@72
+|x+0#af5f00255&|a|r|g|s| +0#0000000&@69
+|x+0#af5f00255&|g|r|e|p| +0#0000000&@69
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|5@1|,|1| @9|B|o|t| 
diff --git a/runtime/syntax/testdir/input/ksh2020.ksh b/runtime/syntax/testdir/input/ksh2020.ksh
new file mode 100644 (file)
index 0000000..edb1ab2
--- /dev/null
@@ -0,0 +1,146 @@
+#!/bin/ksh2020
+
+# Rendering namespace variables
+echo ${.foo.bar[adsf]} ${foo.bar[1][2]} ${foo.bar[1][az]} ${.foo.bar[1][2]}
+echo ${.foo[var]} ${.foo.bar[1]} ${.foo.bar[*]} ${foo.bar##baz} ${.foo.bar##baz}
+echo ${.foo.bar[3]##baz} ${.foo.bar[z]##baz} ${sh.version/V/b} ${.sh.version/V/b}
+echo ${foo/%bar/foo} ${foo/#bar/foo} ${foo.bar/%bar/foo} ${foo.bar[d]/#bar/foo}
+echo ${.foo/%barfoo} ${.foo.bar/#bar/foo} ${.bar.foo/%bar/foo} ${.bar/#bar/foo}
+echo ${foo/%barfoo} ${foo/bar/foo} ${barfoo//bar/foo} ${bar/#bar/foo}
+echo ${.sh.version^^} ${.sh.version,,} ${KSH_VERSION^} ${KSH_VERSION,}
+
+# 'alarm' builtin (present in ksh93u+, ksh93v- and the 93u+m dev branch).
+alarm --man
+# The fds and pids builtins. These ksh93 builtins have existed since 2005-05-22
+# and 2008-06-02, respectively. However, these were not readily enabled; in
+# 93u+m these can be enabled with the builtin command if libcmd.so is present,
+# either via 'builtin -f' or (in more recent commits) with a regular invocation
+# of the 'builtin' built-in.
+# cf. https://github.com/ksh93/ksh/commit/f15e2c41
+builtin fds pids
+fds; pids
+
+# Unix commands which are provided by ksh as builtins via libcmd.so
+basename
+cat
+chgrp
+chmod
+chown
+cksum
+cmp
+comm
+cp
+cut
+date
+dirname
+egrep          # Obsolescent
+expr
+fgrep          # Obsolescent
+fmt
+fold
+getconf
+grep
+head
+iconv          # 93v-
+id
+join
+ln
+logname
+ls             # 93v-
+md5sum
+mkdir
+mkfifo
+mktemp
+mv
+od             # 93v-
+paste
+pathchk
+readlink       # 93v-
+realpath       # 93v-
+rev
+rm
+rmdir
+sha1sum                # 93v-
+sha256sum      # 93v-
+sha2sum                # 93v-
+sha384sum      # 93v-
+sha512sum      # 93v-
+stty
+sum
+sync
+tail
+tee
+tr             # 93v-
+tty
+uname
+uniq
+vmstate                # Obsolescent; only available in 93v- and older
+wc
+xargs          # 93v-
+xgrep          # 93v-
+
+# SHA command not provided as a builtin but included here for completeness
+sha224sum
+
+# poll builtin (93v-)
+poll --man
+
+# mkservice and eloop (rarely provided; requires SHOPT_MKSERVICE)
+mkservice --man; eloop --help
+
+# some mksh builtins
+bind; rename
+
+# ;& and ;;& in case statements
+case x in
+       bar) false ${baz:1} ;&
+       foo) true ${foo:0:0} ;;&
+       *) print ${bar} ;;
+esac
+
+# Below is subshare syntax supported by both ksh93 and mksh.
+print ${ echo one }
+print ${       echo two
+}
+print ${
+echo three     }
+print ${ echo 'four'; }
+print ${ echo 'five' ;}
+print ${ echo 'six'
+}
+print ${       echo 'seven'    }
+echo ${ print 'eight'  }
+typeset nine=${ pwd; }
+
+# Value substitutions of the form ${|command} are only
+# supported by mksh, not ksh93.
+if ! command eval '((.sh.version >= 20070703))' 2>/dev/null; then
+       valsubfunc() {
+               REPLY=$1
+       }
+       echo ${|valsubfunc ten}
+       print "${|valsubfunc eleven;}"
+       printf '%s' "${|valsubfunc twelve       }"
+       unlucky=${|valsubfunc thirteen
+}
+       typeset notafloat=${|valsubfunc notanumber      }
+       print $unlucky $notanumber
+       ${|echo foo}
+       ${|echo bar
+}
+fi
+
+# ======
+# Shared-state command substitutions using the syntax ${<file;}
+# are only supported by ksh93, not mksh.
+echo ${
+       printf %s str
+} > /tmp/strfile
+echo ${</tmp/strfile;}
+
+exit 0
+# ksh88 and ksh93 non-dot special variables
+print ${ RANDOM= SRANDOM= SHLVL= JOBMAX= KSH_VERSION= FIGNORE= LC_TIME= LC_NUMERIC= LC_MESSAGES= LC_CTYPE= LC_COLLATE= LC_ALL= LANG= FPATH= PS4= OPTIND= OPTARG= true ;}
+print $(LINENO= SECONDS= TMOUT= PPID= LINES= COLUMNS= VISUAL= OLDPWD= PS3= MAILPATH= CDPATH= FCEDIT= HISTCMD= HISTEDIT= HISTSIZE= HISTFILE= ENV= MAILCHECK= EDITOR= SHELL= false)
+print $(REPLY= MAIL= HOME= PWD= IFS= PS2= PS1= PATH= SH_OPTIONS= ERRNO= COMP_CWORD= COMP_LINE= COMP_POINT= COMP_WORDS= COMP_KEY= COMPREPLY= COMP_WORDBREAKS= COMP_TYPE= compgen)
+print $(BASHPID= EPOCHREALTIME= EXECSHELL= KSHEGID= KSHGID= KSHUID= KSH_MATCH= PATHSEP= PGRP= PIPESTATUS= TMPDIR= USER_ID= VPATH= CSWIDTH= complete)
diff --git a/runtime/syntax/testdir/input/ksh88.ksh b/runtime/syntax/testdir/input/ksh88.ksh
new file mode 100644 (file)
index 0000000..20ce318
--- /dev/null
@@ -0,0 +1,146 @@
+#!/bin/ksh88
+
+# Rendering namespace variables
+echo ${.foo.bar[adsf]} ${foo.bar[1][2]} ${foo.bar[1][az]} ${.foo.bar[1][2]}
+echo ${.foo[var]} ${.foo.bar[1]} ${.foo.bar[*]} ${foo.bar##baz} ${.foo.bar##baz}
+echo ${.foo.bar[3]##baz} ${.foo.bar[z]##baz} ${sh.version/V/b} ${.sh.version/V/b}
+echo ${foo/%bar/foo} ${foo/#bar/foo} ${foo.bar/%bar/foo} ${foo.bar[d]/#bar/foo}
+echo ${.foo/%barfoo} ${.foo.bar/#bar/foo} ${.bar.foo/%bar/foo} ${.bar/#bar/foo}
+echo ${foo/%barfoo} ${foo/bar/foo} ${barfoo//bar/foo} ${bar/#bar/foo}
+echo ${.sh.version^^} ${.sh.version,,} ${KSH_VERSION^} ${KSH_VERSION,}
+
+# 'alarm' builtin (present in ksh93u+, ksh93v- and the 93u+m dev branch).
+alarm --man
+# The fds and pids builtins. These ksh93 builtins have existed since 2005-05-22
+# and 2008-06-02, respectively. However, these were not readily enabled; in
+# 93u+m these can be enabled with the builtin command if libcmd.so is present,
+# either via 'builtin -f' or (in more recent commits) with a regular invocation
+# of the 'builtin' built-in.
+# cf. https://github.com/ksh93/ksh/commit/f15e2c41
+builtin fds pids
+fds; pids
+
+# Unix commands which are provided by ksh as builtins via libcmd.so
+basename
+cat
+chgrp
+chmod
+chown
+cksum
+cmp
+comm
+cp
+cut
+date
+dirname
+egrep          # Obsolescent
+expr
+fgrep          # Obsolescent
+fmt
+fold
+getconf
+grep
+head
+iconv          # 93v-
+id
+join
+ln
+logname
+ls             # 93v-
+md5sum
+mkdir
+mkfifo
+mktemp
+mv
+od             # 93v-
+paste
+pathchk
+readlink       # 93v-
+realpath       # 93v-
+rev
+rm
+rmdir
+sha1sum                # 93v-
+sha256sum      # 93v-
+sha2sum                # 93v-
+sha384sum      # 93v-
+sha512sum      # 93v-
+stty
+sum
+sync
+tail
+tee
+tr             # 93v-
+tty
+uname
+uniq
+vmstate                # Obsolescent; only available in 93v- and older
+wc
+xargs          # 93v-
+xgrep          # 93v-
+
+# SHA command not provided as a builtin but included here for completeness
+sha224sum
+
+# poll builtin (93v-)
+poll --man
+
+# mkservice and eloop (rarely provided; requires SHOPT_MKSERVICE)
+mkservice --man; eloop --help
+
+# some mksh builtins
+bind; rename
+
+# ;& and ;;& in case statements
+case x in
+       bar) false ${baz:1} ;&
+       foo) true ${foo:0:0} ;;&
+       *) print ${bar} ;;
+esac
+
+# Below is subshare syntax supported by both ksh93 and mksh.
+print ${ echo one }
+print ${       echo two
+}
+print ${
+echo three     }
+print ${ echo 'four'; }
+print ${ echo 'five' ;}
+print ${ echo 'six'
+}
+print ${       echo 'seven'    }
+echo ${ print 'eight'  }
+typeset nine=${ pwd; }
+
+# Value substitutions of the form ${|command} are only
+# supported by mksh, not ksh93.
+if ! command eval '((.sh.version >= 20070703))' 2>/dev/null; then
+       valsubfunc() {
+               REPLY=$1
+       }
+       echo ${|valsubfunc ten}
+       print "${|valsubfunc eleven;}"
+       printf '%s' "${|valsubfunc twelve       }"
+       unlucky=${|valsubfunc thirteen
+}
+       typeset notafloat=${|valsubfunc notanumber      }
+       print $unlucky $notanumber
+       ${|echo foo}
+       ${|echo bar
+}
+fi
+
+# ======
+# Shared-state command substitutions using the syntax ${<file;}
+# are only supported by ksh93, not mksh.
+echo ${
+       printf %s str
+} > /tmp/strfile
+echo ${</tmp/strfile;}
+
+exit 0
+# ksh88 and ksh93 non-dot special variables
+print ${ RANDOM= SRANDOM= SHLVL= JOBMAX= KSH_VERSION= FIGNORE= LC_TIME= LC_NUMERIC= LC_MESSAGES= LC_CTYPE= LC_COLLATE= LC_ALL= LANG= FPATH= PS4= OPTIND= OPTARG= true ;}
+print $(LINENO= SECONDS= TMOUT= PPID= LINES= COLUMNS= VISUAL= OLDPWD= PS3= MAILPATH= CDPATH= FCEDIT= HISTCMD= HISTEDIT= HISTSIZE= HISTFILE= ENV= MAILCHECK= EDITOR= SHELL= false)
+print $(REPLY= MAIL= HOME= PWD= IFS= PS2= PS1= PATH= SH_OPTIONS= ERRNO= COMP_CWORD= COMP_LINE= COMP_POINT= COMP_WORDS= COMP_KEY= COMPREPLY= COMP_WORDBREAKS= COMP_TYPE= compgen)
+print $(BASHPID= EPOCHREALTIME= EXECSHELL= KSHEGID= KSHGID= KSHUID= KSH_MATCH= PATHSEP= PGRP= PIPESTATUS= TMPDIR= USER_ID= VPATH= CSWIDTH= complete)
diff --git a/runtime/syntax/testdir/input/ksh93_generic.ksh b/runtime/syntax/testdir/input/ksh93_generic.ksh
new file mode 100644 (file)
index 0000000..58d7e1f
--- /dev/null
@@ -0,0 +1,146 @@
+#!/bin/ksh93
+
+# Rendering namespace variables
+echo ${.foo.bar[adsf]} ${foo.bar[1][2]} ${foo.bar[1][az]} ${.foo.bar[1][2]}
+echo ${.foo[var]} ${.foo.bar[1]} ${.foo.bar[*]} ${foo.bar##baz} ${.foo.bar##baz}
+echo ${.foo.bar[3]##baz} ${.foo.bar[z]##baz} ${sh.version/V/b} ${.sh.version/V/b}
+echo ${foo/%bar/foo} ${foo/#bar/foo} ${foo.bar/%bar/foo} ${foo.bar[d]/#bar/foo}
+echo ${.foo/%barfoo} ${.foo.bar/#bar/foo} ${.bar.foo/%bar/foo} ${.bar/#bar/foo}
+echo ${foo/%barfoo} ${foo/bar/foo} ${barfoo//bar/foo} ${bar/#bar/foo}
+echo ${.sh.version^^} ${.sh.version,,} ${KSH_VERSION^} ${KSH_VERSION,}
+
+# 'alarm' builtin (present in ksh93u+, ksh93v- and the 93u+m dev branch).
+alarm --man
+# The fds and pids builtins. These ksh93 builtins have existed since 2005-05-22
+# and 2008-06-02, respectively. However, these were not readily enabled; in
+# 93u+m these can be enabled with the builtin command if libcmd.so is present,
+# either via 'builtin -f' or (in more recent commits) with a regular invocation
+# of the 'builtin' built-in.
+# cf. https://github.com/ksh93/ksh/commit/f15e2c41
+builtin fds pids
+fds; pids
+
+# Unix commands which are provided by ksh as builtins via libcmd.so
+basename
+cat
+chgrp
+chmod
+chown
+cksum
+cmp
+comm
+cp
+cut
+date
+dirname
+egrep          # Obsolescent
+expr
+fgrep          # Obsolescent
+fmt
+fold
+getconf
+grep
+head
+iconv          # 93v-
+id
+join
+ln
+logname
+ls             # 93v-
+md5sum
+mkdir
+mkfifo
+mktemp
+mv
+od             # 93v-
+paste
+pathchk
+readlink       # 93v-
+realpath       # 93v-
+rev
+rm
+rmdir
+sha1sum                # 93v-
+sha256sum      # 93v-
+sha2sum                # 93v-
+sha384sum      # 93v-
+sha512sum      # 93v-
+stty
+sum
+sync
+tail
+tee
+tr             # 93v-
+tty
+uname
+uniq
+vmstate                # Obsolescent; only available in 93v- and older
+wc
+xargs          # 93v-
+xgrep          # 93v-
+
+# SHA command not provided as a builtin but included here for completeness
+sha224sum
+
+# poll builtin (93v-)
+poll --man
+
+# mkservice and eloop (rarely provided; requires SHOPT_MKSERVICE)
+mkservice --man; eloop --help
+
+# some mksh builtins
+bind; rename
+
+# ;& and ;;& in case statements
+case x in
+       bar) false ${baz:1} ;&
+       foo) true ${foo:0:0} ;;&
+       *) print ${bar} ;;
+esac
+
+# Below is subshare syntax supported by both ksh93 and mksh.
+print ${ echo one }
+print ${       echo two
+}
+print ${
+echo three     }
+print ${ echo 'four'; }
+print ${ echo 'five' ;}
+print ${ echo 'six'
+}
+print ${       echo 'seven'    }
+echo ${ print 'eight'  }
+typeset nine=${ pwd; }
+
+# Value substitutions of the form ${|command} are only
+# supported by mksh, not ksh93.
+if ! command eval '((.sh.version >= 20070703))' 2>/dev/null; then
+       valsubfunc() {
+               REPLY=$1
+       }
+       echo ${|valsubfunc ten}
+       print "${|valsubfunc eleven;}"
+       printf '%s' "${|valsubfunc twelve       }"
+       unlucky=${|valsubfunc thirteen
+}
+       typeset notafloat=${|valsubfunc notanumber      }
+       print $unlucky $notanumber
+       ${|echo foo}
+       ${|echo bar
+}
+fi
+
+# ======
+# Shared-state command substitutions using the syntax ${<file;}
+# are only supported by ksh93, not mksh.
+echo ${
+       printf %s str
+} > /tmp/strfile
+echo ${</tmp/strfile;}
+
+exit 0
+# ksh88 and ksh93 non-dot special variables
+print ${ RANDOM= SRANDOM= SHLVL= JOBMAX= KSH_VERSION= FIGNORE= LC_TIME= LC_NUMERIC= LC_MESSAGES= LC_CTYPE= LC_COLLATE= LC_ALL= LANG= FPATH= PS4= OPTIND= OPTARG= true ;}
+print $(LINENO= SECONDS= TMOUT= PPID= LINES= COLUMNS= VISUAL= OLDPWD= PS3= MAILPATH= CDPATH= FCEDIT= HISTCMD= HISTEDIT= HISTSIZE= HISTFILE= ENV= MAILCHECK= EDITOR= SHELL= false)
+print $(REPLY= MAIL= HOME= PWD= IFS= PS2= PS1= PATH= SH_OPTIONS= ERRNO= COMP_CWORD= COMP_LINE= COMP_POINT= COMP_WORDS= COMP_KEY= COMPREPLY= COMP_WORDBREAKS= COMP_TYPE= compgen)
+print $(BASHPID= EPOCHREALTIME= EXECSHELL= KSHEGID= KSHGID= KSHUID= KSH_MATCH= PATHSEP= PGRP= PIPESTATUS= TMPDIR= USER_ID= VPATH= CSWIDTH= complete)
diff --git a/runtime/syntax/testdir/input/ksh93u.ksh b/runtime/syntax/testdir/input/ksh93u.ksh
new file mode 100644 (file)
index 0000000..4f7a3f6
--- /dev/null
@@ -0,0 +1,146 @@
+#!/bin/ksh93u+
+
+# Rendering namespace variables
+echo ${.foo.bar[adsf]} ${foo.bar[1][2]} ${foo.bar[1][az]} ${.foo.bar[1][2]}
+echo ${.foo[var]} ${.foo.bar[1]} ${.foo.bar[*]} ${foo.bar##baz} ${.foo.bar##baz}
+echo ${.foo.bar[3]##baz} ${.foo.bar[z]##baz} ${sh.version/V/b} ${.sh.version/V/b}
+echo ${foo/%bar/foo} ${foo/#bar/foo} ${foo.bar/%bar/foo} ${foo.bar[d]/#bar/foo}
+echo ${.foo/%barfoo} ${.foo.bar/#bar/foo} ${.bar.foo/%bar/foo} ${.bar/#bar/foo}
+echo ${foo/%barfoo} ${foo/bar/foo} ${barfoo//bar/foo} ${bar/#bar/foo}
+echo ${.sh.version^^} ${.sh.version,,} ${KSH_VERSION^} ${KSH_VERSION,}
+
+# 'alarm' builtin (present in ksh93u+, ksh93v- and the 93u+m dev branch).
+alarm --man
+# The fds and pids builtins. These ksh93 builtins have existed since 2005-05-22
+# and 2008-06-02, respectively. However, these were not readily enabled; in
+# 93u+m these can be enabled with the builtin command if libcmd.so is present,
+# either via 'builtin -f' or (in more recent commits) with a regular invocation
+# of the 'builtin' built-in.
+# cf. https://github.com/ksh93/ksh/commit/f15e2c41
+builtin fds pids
+fds; pids
+
+# Unix commands which are provided by ksh as builtins via libcmd.so
+basename
+cat
+chgrp
+chmod
+chown
+cksum
+cmp
+comm
+cp
+cut
+date
+dirname
+egrep          # Obsolescent
+expr
+fgrep          # Obsolescent
+fmt
+fold
+getconf
+grep
+head
+iconv          # 93v-
+id
+join
+ln
+logname
+ls             # 93v-
+md5sum
+mkdir
+mkfifo
+mktemp
+mv
+od             # 93v-
+paste
+pathchk
+readlink       # 93v-
+realpath       # 93v-
+rev
+rm
+rmdir
+sha1sum                # 93v-
+sha256sum      # 93v-
+sha2sum                # 93v-
+sha384sum      # 93v-
+sha512sum      # 93v-
+stty
+sum
+sync
+tail
+tee
+tr             # 93v-
+tty
+uname
+uniq
+vmstate                # Obsolescent; only available in 93v- and older
+wc
+xargs          # 93v-
+xgrep          # 93v-
+
+# SHA command not provided as a builtin but included here for completeness
+sha224sum
+
+# poll builtin (93v-)
+poll --man
+
+# mkservice and eloop (rarely provided; requires SHOPT_MKSERVICE)
+mkservice --man; eloop --help
+
+# some mksh builtins
+bind; rename
+
+# ;& and ;;& in case statements
+case x in
+       bar) false ${baz:1} ;&
+       foo) true ${foo:0:0} ;;&
+       *) print ${bar} ;;
+esac
+
+# Below is subshare syntax supported by both ksh93 and mksh.
+print ${ echo one }
+print ${       echo two
+}
+print ${
+echo three     }
+print ${ echo 'four'; }
+print ${ echo 'five' ;}
+print ${ echo 'six'
+}
+print ${       echo 'seven'    }
+echo ${ print 'eight'  }
+typeset nine=${ pwd; }
+
+# Value substitutions of the form ${|command} are only
+# supported by mksh, not ksh93.
+if ! command eval '((.sh.version >= 20070703))' 2>/dev/null; then
+       valsubfunc() {
+               REPLY=$1
+       }
+       echo ${|valsubfunc ten}
+       print "${|valsubfunc eleven;}"
+       printf '%s' "${|valsubfunc twelve       }"
+       unlucky=${|valsubfunc thirteen
+}
+       typeset notafloat=${|valsubfunc notanumber      }
+       print $unlucky $notanumber
+       ${|echo foo}
+       ${|echo bar
+}
+fi
+
+# ======
+# Shared-state command substitutions using the syntax ${<file;}
+# are only supported by ksh93, not mksh.
+echo ${
+       printf %s str
+} > /tmp/strfile
+echo ${</tmp/strfile;}
+
+exit 0
+# ksh88 and ksh93 non-dot special variables
+print ${ RANDOM= SRANDOM= SHLVL= JOBMAX= KSH_VERSION= FIGNORE= LC_TIME= LC_NUMERIC= LC_MESSAGES= LC_CTYPE= LC_COLLATE= LC_ALL= LANG= FPATH= PS4= OPTIND= OPTARG= true ;}
+print $(LINENO= SECONDS= TMOUT= PPID= LINES= COLUMNS= VISUAL= OLDPWD= PS3= MAILPATH= CDPATH= FCEDIT= HISTCMD= HISTEDIT= HISTSIZE= HISTFILE= ENV= MAILCHECK= EDITOR= SHELL= false)
+print $(REPLY= MAIL= HOME= PWD= IFS= PS2= PS1= PATH= SH_OPTIONS= ERRNO= COMP_CWORD= COMP_LINE= COMP_POINT= COMP_WORDS= COMP_KEY= COMPREPLY= COMP_WORDBREAKS= COMP_TYPE= compgen)
+print $(BASHPID= EPOCHREALTIME= EXECSHELL= KSHEGID= KSHGID= KSHUID= KSH_MATCH= PATHSEP= PGRP= PIPESTATUS= TMPDIR= USER_ID= VPATH= CSWIDTH= complete)
diff --git a/runtime/syntax/testdir/input/ksh93v.ksh b/runtime/syntax/testdir/input/ksh93v.ksh
new file mode 100644 (file)
index 0000000..33649ed
--- /dev/null
@@ -0,0 +1,146 @@
+#!/bin/ksh93v-
+
+# Rendering namespace variables
+echo ${.foo.bar[adsf]} ${foo.bar[1][2]} ${foo.bar[1][az]} ${.foo.bar[1][2]}
+echo ${.foo[var]} ${.foo.bar[1]} ${.foo.bar[*]} ${foo.bar##baz} ${.foo.bar##baz}
+echo ${.foo.bar[3]##baz} ${.foo.bar[z]##baz} ${sh.version/V/b} ${.sh.version/V/b}
+echo ${foo/%bar/foo} ${foo/#bar/foo} ${foo.bar/%bar/foo} ${foo.bar[d]/#bar/foo}
+echo ${.foo/%barfoo} ${.foo.bar/#bar/foo} ${.bar.foo/%bar/foo} ${.bar/#bar/foo}
+echo ${foo/%barfoo} ${foo/bar/foo} ${barfoo//bar/foo} ${bar/#bar/foo}
+echo ${.sh.version^^} ${.sh.version,,} ${KSH_VERSION^} ${KSH_VERSION,}
+
+# 'alarm' builtin (present in ksh93u+, ksh93v- and the 93u+m dev branch).
+alarm --man
+# The fds and pids builtins. These ksh93 builtins have existed since 2005-05-22
+# and 2008-06-02, respectively. However, these were not readily enabled; in
+# 93u+m these can be enabled with the builtin command if libcmd.so is present,
+# either via 'builtin -f' or (in more recent commits) with a regular invocation
+# of the 'builtin' built-in.
+# cf. https://github.com/ksh93/ksh/commit/f15e2c41
+builtin fds pids
+fds; pids
+
+# Unix commands which are provided by ksh as builtins via libcmd.so
+basename
+cat
+chgrp
+chmod
+chown
+cksum
+cmp
+comm
+cp
+cut
+date
+dirname
+egrep          # Obsolescent
+expr
+fgrep          # Obsolescent
+fmt
+fold
+getconf
+grep
+head
+iconv          # 93v-
+id
+join
+ln
+logname
+ls             # 93v-
+md5sum
+mkdir
+mkfifo
+mktemp
+mv
+od             # 93v-
+paste
+pathchk
+readlink       # 93v-
+realpath       # 93v-
+rev
+rm
+rmdir
+sha1sum                # 93v-
+sha256sum      # 93v-
+sha2sum                # 93v-
+sha384sum      # 93v-
+sha512sum      # 93v-
+stty
+sum
+sync
+tail
+tee
+tr             # 93v-
+tty
+uname
+uniq
+vmstate                # Obsolescent; only available in 93v- and older
+wc
+xargs          # 93v-
+xgrep          # 93v-
+
+# SHA command not provided as a builtin but included here for completeness
+sha224sum
+
+# poll builtin (93v-)
+poll --man
+
+# mkservice and eloop (rarely provided; requires SHOPT_MKSERVICE)
+mkservice --man; eloop --help
+
+# some mksh builtins
+bind; rename
+
+# ;& and ;;& in case statements
+case x in
+       bar) false ${baz:1} ;&
+       foo) true ${foo:0:0} ;;&
+       *) print ${bar} ;;
+esac
+
+# Below is subshare syntax supported by both ksh93 and mksh.
+print ${ echo one }
+print ${       echo two
+}
+print ${
+echo three     }
+print ${ echo 'four'; }
+print ${ echo 'five' ;}
+print ${ echo 'six'
+}
+print ${       echo 'seven'    }
+echo ${ print 'eight'  }
+typeset nine=${ pwd; }
+
+# Value substitutions of the form ${|command} are only
+# supported by mksh, not ksh93.
+if ! command eval '((.sh.version >= 20070703))' 2>/dev/null; then
+       valsubfunc() {
+               REPLY=$1
+       }
+       echo ${|valsubfunc ten}
+       print "${|valsubfunc eleven;}"
+       printf '%s' "${|valsubfunc twelve       }"
+       unlucky=${|valsubfunc thirteen
+}
+       typeset notafloat=${|valsubfunc notanumber      }
+       print $unlucky $notanumber
+       ${|echo foo}
+       ${|echo bar
+}
+fi
+
+# ======
+# Shared-state command substitutions using the syntax ${<file;}
+# are only supported by ksh93, not mksh.
+echo ${
+       printf %s str
+} > /tmp/strfile
+echo ${</tmp/strfile;}
+
+exit 0
+# ksh88 and ksh93 non-dot special variables
+print ${ RANDOM= SRANDOM= SHLVL= JOBMAX= KSH_VERSION= FIGNORE= LC_TIME= LC_NUMERIC= LC_MESSAGES= LC_CTYPE= LC_COLLATE= LC_ALL= LANG= FPATH= PS4= OPTIND= OPTARG= true ;}
+print $(LINENO= SECONDS= TMOUT= PPID= LINES= COLUMNS= VISUAL= OLDPWD= PS3= MAILPATH= CDPATH= FCEDIT= HISTCMD= HISTEDIT= HISTSIZE= HISTFILE= ENV= MAILCHECK= EDITOR= SHELL= false)
+print $(REPLY= MAIL= HOME= PWD= IFS= PS2= PS1= PATH= SH_OPTIONS= ERRNO= COMP_CWORD= COMP_LINE= COMP_POINT= COMP_WORDS= COMP_KEY= COMPREPLY= COMP_WORDBREAKS= COMP_TYPE= compgen)
+print $(BASHPID= EPOCHREALTIME= EXECSHELL= KSHEGID= KSHGID= KSHUID= KSH_MATCH= PATHSEP= PGRP= PIPESTATUS= TMPDIR= USER_ID= VPATH= CSWIDTH= complete)
diff --git a/runtime/syntax/testdir/input/ksh_generic.ksh b/runtime/syntax/testdir/input/ksh_generic.ksh
new file mode 100644 (file)
index 0000000..32572f0
--- /dev/null
@@ -0,0 +1,146 @@
+#!/bin/ksh
+
+# Rendering namespace variables
+echo ${.foo.bar[adsf]} ${foo.bar[1][2]} ${foo.bar[1][az]} ${.foo.bar[1][2]}
+echo ${.foo[var]} ${.foo.bar[1]} ${.foo.bar[*]} ${foo.bar##baz} ${.foo.bar##baz}
+echo ${.foo.bar[3]##baz} ${.foo.bar[z]##baz} ${sh.version/V/b} ${.sh.version/V/b}
+echo ${foo/%bar/foo} ${foo/#bar/foo} ${foo.bar/%bar/foo} ${foo.bar[d]/#bar/foo}
+echo ${.foo/%barfoo} ${.foo.bar/#bar/foo} ${.bar.foo/%bar/foo} ${.bar/#bar/foo}
+echo ${foo/%barfoo} ${foo/bar/foo} ${barfoo//bar/foo} ${bar/#bar/foo}
+echo ${.sh.version^^} ${.sh.version,,} ${KSH_VERSION^} ${KSH_VERSION,}
+
+# 'alarm' builtin (present in ksh93u+, ksh93v- and the 93u+m dev branch).
+alarm --man
+# The fds and pids builtins. These ksh93 builtins have existed since 2005-05-22
+# and 2008-06-02, respectively. However, these were not readily enabled; in
+# 93u+m these can be enabled with the builtin command if libcmd.so is present,
+# either via 'builtin -f' or (in more recent commits) with a regular invocation
+# of the 'builtin' built-in.
+# cf. https://github.com/ksh93/ksh/commit/f15e2c41
+builtin fds pids
+fds; pids
+
+# Unix commands which are provided by ksh as builtins via libcmd.so
+basename
+cat
+chgrp
+chmod
+chown
+cksum
+cmp
+comm
+cp
+cut
+date
+dirname
+egrep          # Obsolescent
+expr
+fgrep          # Obsolescent
+fmt
+fold
+getconf
+grep
+head
+iconv          # 93v-
+id
+join
+ln
+logname
+ls             # 93v-
+md5sum
+mkdir
+mkfifo
+mktemp
+mv
+od             # 93v-
+paste
+pathchk
+readlink       # 93v-
+realpath       # 93v-
+rev
+rm
+rmdir
+sha1sum                # 93v-
+sha256sum      # 93v-
+sha2sum                # 93v-
+sha384sum      # 93v-
+sha512sum      # 93v-
+stty
+sum
+sync
+tail
+tee
+tr             # 93v-
+tty
+uname
+uniq
+vmstate                # Obsolescent; only available in 93v- and older
+wc
+xargs          # 93v-
+xgrep          # 93v-
+
+# SHA command not provided as a builtin but included here for completeness
+sha224sum
+
+# poll builtin (93v-)
+poll --man
+
+# mkservice and eloop (rarely provided; requires SHOPT_MKSERVICE)
+mkservice --man; eloop --help
+
+# some mksh builtins
+bind; rename
+
+# ;& and ;;& in case statements
+case x in
+       bar) false ${baz:1} ;&
+       foo) true ${foo:0:0} ;;&
+       *) print ${bar} ;;
+esac
+
+# Below is subshare syntax supported by both ksh93 and mksh.
+print ${ echo one }
+print ${       echo two
+}
+print ${
+echo three     }
+print ${ echo 'four'; }
+print ${ echo 'five' ;}
+print ${ echo 'six'
+}
+print ${       echo 'seven'    }
+echo ${ print 'eight'  }
+typeset nine=${ pwd; }
+
+# Value substitutions of the form ${|command} are only
+# supported by mksh, not ksh93.
+if ! command eval '((.sh.version >= 20070703))' 2>/dev/null; then
+       valsubfunc() {
+               REPLY=$1
+       }
+       echo ${|valsubfunc ten}
+       print "${|valsubfunc eleven;}"
+       printf '%s' "${|valsubfunc twelve       }"
+       unlucky=${|valsubfunc thirteen
+}
+       typeset notafloat=${|valsubfunc notanumber      }
+       print $unlucky $notanumber
+       ${|echo foo}
+       ${|echo bar
+}
+fi
+
+# ======
+# Shared-state command substitutions using the syntax ${<file;}
+# are only supported by ksh93, not mksh.
+echo ${
+       printf %s str
+} > /tmp/strfile
+echo ${</tmp/strfile;}
+
+exit 0
+# ksh88 and ksh93 non-dot special variables
+print ${ RANDOM= SRANDOM= SHLVL= JOBMAX= KSH_VERSION= FIGNORE= LC_TIME= LC_NUMERIC= LC_MESSAGES= LC_CTYPE= LC_COLLATE= LC_ALL= LANG= FPATH= PS4= OPTIND= OPTARG= true ;}
+print $(LINENO= SECONDS= TMOUT= PPID= LINES= COLUMNS= VISUAL= OLDPWD= PS3= MAILPATH= CDPATH= FCEDIT= HISTCMD= HISTEDIT= HISTSIZE= HISTFILE= ENV= MAILCHECK= EDITOR= SHELL= false)
+print $(REPLY= MAIL= HOME= PWD= IFS= PS2= PS1= PATH= SH_OPTIONS= ERRNO= COMP_CWORD= COMP_LINE= COMP_POINT= COMP_WORDS= COMP_KEY= COMPREPLY= COMP_WORDBREAKS= COMP_TYPE= compgen)
+print $(BASHPID= EPOCHREALTIME= EXECSHELL= KSHEGID= KSHGID= KSHUID= KSH_MATCH= PATHSEP= PGRP= PIPESTATUS= TMPDIR= USER_ID= VPATH= CSWIDTH= complete)
diff --git a/runtime/syntax/testdir/input/mksh.ksh b/runtime/syntax/testdir/input/mksh.ksh
new file mode 100644 (file)
index 0000000..c346cee
--- /dev/null
@@ -0,0 +1,146 @@
+#!/bin/mksh
+
+# Rendering namespace variables
+echo ${.foo.bar[adsf]} ${foo.bar[1][2]} ${foo.bar[1][az]} ${.foo.bar[1][2]}
+echo ${.foo[var]} ${.foo.bar[1]} ${.foo.bar[*]} ${foo.bar##baz} ${.foo.bar##baz}
+echo ${.foo.bar[3]##baz} ${.foo.bar[z]##baz} ${sh.version/V/b} ${.sh.version/V/b}
+echo ${foo/%bar/foo} ${foo/#bar/foo} ${foo.bar/%bar/foo} ${foo.bar[d]/#bar/foo}
+echo ${.foo/%barfoo} ${.foo.bar/#bar/foo} ${.bar.foo/%bar/foo} ${.bar/#bar/foo}
+echo ${foo/%barfoo} ${foo/bar/foo} ${barfoo//bar/foo} ${bar/#bar/foo}
+echo ${.sh.version^^} ${.sh.version,,} ${KSH_VERSION^} ${KSH_VERSION,}
+
+# 'alarm' builtin (present in ksh93u+, ksh93v- and the 93u+m dev branch).
+alarm --man
+# The fds and pids builtins. These ksh93 builtins have existed since 2005-05-22
+# and 2008-06-02, respectively. However, these were not readily enabled; in
+# 93u+m these can be enabled with the builtin command if libcmd.so is present,
+# either via 'builtin -f' or (in more recent commits) with a regular invocation
+# of the 'builtin' built-in.
+# cf. https://github.com/ksh93/ksh/commit/f15e2c41
+builtin fds pids
+fds; pids
+
+# Unix commands which are provided by ksh as builtins via libcmd.so
+basename
+cat
+chgrp
+chmod
+chown
+cksum
+cmp
+comm
+cp
+cut
+date
+dirname
+egrep          # Obsolescent
+expr
+fgrep          # Obsolescent
+fmt
+fold
+getconf
+grep
+head
+iconv          # 93v-
+id
+join
+ln
+logname
+ls             # 93v-
+md5sum
+mkdir
+mkfifo
+mktemp
+mv
+od             # 93v-
+paste
+pathchk
+readlink       # 93v-
+realpath       # 93v-
+rev
+rm
+rmdir
+sha1sum                # 93v-
+sha256sum      # 93v-
+sha2sum                # 93v-
+sha384sum      # 93v-
+sha512sum      # 93v-
+stty
+sum
+sync
+tail
+tee
+tr             # 93v-
+tty
+uname
+uniq
+vmstate                # Obsolescent; only available in 93v- and older
+wc
+xargs          # 93v-
+xgrep          # 93v-
+
+# SHA command not provided as a builtin but included here for completeness
+sha224sum
+
+# poll builtin (93v-)
+poll --man
+
+# mkservice and eloop (rarely provided; requires SHOPT_MKSERVICE)
+mkservice --man; eloop --help
+
+# some mksh builtins
+bind; rename
+
+# ;& and ;;& in case statements
+case x in
+       bar) false ${baz:1} ;&
+       foo) true ${foo:0:0} ;;&
+       *) print ${$bar} ;;     # 93v-
+esac
+
+# Below is subshare syntax supported by both ksh93 and mksh.
+print ${ echo one }
+print ${       echo two
+}
+print ${
+echo three     }
+print ${ echo 'four'; }
+print ${ echo 'five' ;}
+print ${ echo 'six'
+}
+print ${       echo 'seven'    }
+echo ${ print 'eight'  }
+typeset nine=${ pwd; }
+
+# Value substitutions of the form ${|command} are only
+# supported by mksh, not ksh93.
+if ! command eval '((.sh.version >= 20070703))' 2>/dev/null; then
+       valsubfunc() {
+               REPLY=$1
+       }
+       echo ${|valsubfunc ten}
+       print "${|valsubfunc eleven;}"
+       printf '%s' "${|valsubfunc twelve       }"
+       unlucky=${|valsubfunc thirteen
+}
+       typeset notafloat=${|valsubfunc notanumber      }
+       print $unlucky $notanumber
+       ${|echo foo}
+       ${|echo bar
+}
+fi
+
+# ======
+# Shared-state command substitutions using the syntax ${<file;}
+# are only supported by ksh93, not mksh.
+echo ${
+       printf %s str
+} > /tmp/strfile
+echo ${</tmp/strfile;}
+
+exit 0
+# ksh88 and ksh93 non-dot special variables
+print ${ RANDOM= SRANDOM= SHLVL= JOBMAX= KSH_VERSION= FIGNORE= LC_TIME= LC_NUMERIC= LC_MESSAGES= LC_CTYPE= LC_COLLATE= LC_ALL= LANG= FPATH= PS4= OPTIND= OPTARG= true ;}
+print $(LINENO= SECONDS= TMOUT= PPID= LINES= COLUMNS= VISUAL= OLDPWD= PS3= MAILPATH= CDPATH= FCEDIT= HISTCMD= HISTEDIT= HISTSIZE= HISTFILE= ENV= MAILCHECK= EDITOR= SHELL= false)
+print $(REPLY= MAIL= HOME= PWD= IFS= PS2= PS1= PATH= SH_OPTIONS= ERRNO= COMP_CWORD= COMP_LINE= COMP_POINT= COMP_WORDS= COMP_KEY= COMPREPLY= COMP_WORDBREAKS= COMP_TYPE= compgen)
+print $(BASHPID= EPOCHREALTIME= EXECSHELL= KSHEGID= KSHGID= KSHUID= KSH_MATCH= PATHSEP= PGRP= PIPESTATUS= TMPDIR= USER_ID= VPATH= CSWIDTH= complete)
diff --git a/runtime/syntax/testdir/input/sh_10.sh b/runtime/syntax/testdir/input/sh_10.sh
deleted file mode 100644 (file)
index be463c3..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/ksh
-
-# This script is a test file for ksh93 shared-state
-# command substitutions (subshares) and mksh value
-# substitutions (valsubs).
-
-# ======
-# Below is subshare syntax supported by both ksh93 and mksh.
-print ${ echo one }
-print ${       echo two
-}
-print ${
-echo three     }
-print ${ echo 'four'; }
-print ${ echo 'five' ;}
-print ${ echo 'six'
-}
-print ${       echo 'seven'    }
-echo ${ print 'eight'  }
-typeset nine=${ pwd; }
-
-# ======
-# Value substitutions of the form ${|command} are only
-# supported by mksh, not ksh93.
-if ! command eval '((.sh.version >= 20070703))' 2>/dev/null; then
-       valsubfunc() {
-               REPLY=$1
-       }
-       echo ${|valsubfunc ten}
-       print "${|valsubfunc eleven;}"
-       printf '%s' "${|valsubfunc twelve       }"
-       unlucky=${|valsubfunc thirteen
-}
-       typeset notafloat=${|valsubfunc notanumber      }
-       print $unlucky $notanumber
-       ${|echo foo}
-       ${|echo bar
-}
-fi
-
-# ======
-# Shared-state command substitutions using the syntax ${<file;}
-# are only supported by ksh93, not mksh.
-echo ${
-       printf %s str
-} > /tmp/strfile
-echo ${</tmp/strfile;}
-
-exit 0
diff --git a/runtime/syntax/testdir/input/sh_bash_sundrous.bash b/runtime/syntax/testdir/input/sh_bash_sundrous.bash
new file mode 100644 (file)
index 0000000..8456af2
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/bash
+basename
+cat
+chgrp
+chmod
+chown
+cksum
+cmp
+comm
+cp
+cut
+date
+dirname
+egrep          # Obsolescent
+expr
+fgrep          # Obsolescent
+fmt
+fold
+getconf
+grep
+head
+iconv
+id
+join
+ln
+logname
+ls
+md5sum
+mkdir
+mkfifo
+mktemp
+mv
+od
+paste
+pathchk
+readlink
+realpath
+rev
+rm
+rmdir
+sha1sum
+sha256sum
+sha224sum
+sha384sum
+sha512sum
+stty
+sum
+sync
+tail
+tee
+tr
+tty
+uname
+uniq
+wc
+xargs
+xgrep