| status | ysh | ysh-cpp | |
| pass | 6 | 6 | |
| FAIL | 1 | 1 | |
| total | 7 | 7 | |
| case | ysh | ysh-cpp | description |
| 0 | pass | pass | with eval builtin command, in global scope |
| 1 | pass | pass | with eval builtin command, in local scope |
| 2 | pass | pass | with eval builtin command, making them global with names() and setVar() |
| 3 | FAIL | FAIL | with parseCommand() then io->eval(), in local scope |
| details | details | ||
| 4 | pass | pass | with parseCommand() then io->eval(cmd, vars={out_dict: {}}) |
| 5 | pass | pass | with evalToDict() |
| 6 | pass | pass | with runtime REFLECTION via __invoke__ - no parsing |
12 passed, 0 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped 1 failed under osh
| ysh | 3 with parseCommand() then io->eval(), in local scope [ysh stdout] Expected 'prefix a\nprefix b\n', got '(value.Command\n frag:(cmd_frag.Expr\n c:(Proc\n keyword:(Token\n id:KW_Proc\n length:4\n col:0\n line:(SourceLine\n line_num:1\n content:"proc echo_a(prefix) {\\n"\n src:(source.Dynamic\n what:"parseCommand()"\n location:(Token\n id:Op_LParen\n length:1\n col:26\n line:(SourceLine\n line_num:9\n content:" var cmd = parseCommand(s)\\n"\n src:(source.Stdin comment:"")\n )\n )\n )\n )\n )\n name:(Token id:Lit_Chars length:6 col:5 line:...0x7f543ddbdaf8)\n sig:(proc_sig.Closed\n word:(ParamGroup\n params:[\n (Param\n blame_tok:(Token\n id:Expr_Name\n length:6\n col:12\n line:...0x7f543ddbdaf8\n )\n name:prefix\n )\n ]\n )\n )\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f543ddbdaf8)\n children:[\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:4\n col:2\n line:(SourceLine\n line_num:2\n content:" echo $prefix a\\n"\n src:...0x7f543dad7aa0\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f543da63050])\n (CompoundWord\n parts:[\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:7\n col:7\n line:...0x7f543ddbdc58\n )\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:1 col:15 line:...0x7f543ddbdc58)\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:0\n line:(SourceLine line_num:3 content:"}\\n" src:...0x7f543dad7aa0)\n )\n )\n )\n )\n captured_frame:{\n ARGV\n (Cell exported:F readonly:F nameref:F val:(value.List items:[]))\n result\n (Cell exported:F readonly:F nameref:F val:(value.Dict d:{}))\n param\n (Cell exported:F readonly:F nameref:F val:(value.Str s:a))\n s\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Str s:"proc echo_a(prefix) {\\n echo $prefix a\\n}\\n")\n )\n cmd\n (Cell exported:F readonly:F nameref:F val:...0x7f543ddbdcb0)\n }\n module_frame:{\n ARGV\n (Cell exported:F readonly:F nameref:F val:(value.List items:[]))\n ENV\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(Obj\n d:{\n TMP\n (value.Str\n s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.34147/03-ysh\n )\n REPO_ROOT\n (value.Str s:/home/uke/oil)\n PYTHONPATH\n (value.Str s:"/home/uke/oil:/home/uke/oil/vendor")\n PWD\n (value.Str\n s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.34147/03-ysh\n )\n SH\n (value.Str s:/home/uke/oil/bin/ysh)\n LC_ALL\n (value.Str s:C.UTF-8)\n PATH\n (value.Str\n s:"/home/uke/oil/test/../spec/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"\n )\n LOCALE_ARCHIVE\n (value.Str s:"")\n OILS_GC_ON_EXIT\n (value.Str s:1)\n }\n )\n )\n UID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1000))\n EUID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1000))\n PPID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:34238))\n OPTIND\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1))\n IFS\n (Cell exported:F readonly:F nameref:F val:(value.Str s:" \\t\\n"))\n HOSTNAME\n (Cell exported:F readonly:F nameref:F val:(value.Str s:7f427c6dd89d))\n OSTYPE\n (Cell exported:F readonly:F nameref:F val:(value.Str s:linux))\n PS4\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Str s:"${SHX_indent}${SHX_punct}${SHX_pid_str} ")\n )\n COMP_WORDBREAKS\n (Cell exported:F readonly:F nameref:F val:(value.Str s:" \\t\\n\\"\'><=;|&(:"))\n p\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Proc\n name:p\n name_tok:(Token\n id:Lit_Chars\n length:1\n col:5\n line:(SourceLine\n line_num:1\n content:"proc p {\\n"\n src:...0x7f543dabb3f8\n )\n )\n sig:(proc_sig.Open)\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f543ddbd2b8)\n children:[\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:2\n line:(SourceLine\n line_num:2\n content:" var result = {}\\n"\n src:...0x7f543dabb3f8\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:6\n col:6\n line:...0x7f543ddbd310\n )\n name:result\n )\n ]\n rhs:(expr.Dict\n left:(Token id:Op_LBrace length:1 col:15 line:...0x7f543ddbd310)\n keys:[]\n values:[]\n )\n )\n (command.ForEach\n keyword:(Token\n id:KW_For\n length:3\n col:2\n line:(SourceLine\n line_num:3\n content:" for param in a b {\\n"\n src:...0x7f543dabb3f8\n )\n )\n iter_names:[param]\n iterable:(for_iter.Words\n words:[\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:1\n col:15\n line:...0x7f543ddbd470\n tval:a\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:1\n col:17\n line:...0x7f543ddbd470\n tval:b\n )\n ]\n )\n ]\n )\n body:(BraceGroup\n left:(Token\n id:Lit_LBrace\n length:1\n col:19\n line:...0x7f543ddbd470\n )\n children:[\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:(SourceLine\n line_num:4\n content:" var s = \\"\\"\\"\\n"\n src:...0x7f543dabb3f8\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:1\n col:8\n line:...0x7f543ddbd4c8\n )\n name:s\n )\n ]\n rhs:(DoubleQuoted\n left:(Token\n id:Left_TDoubleQuote\n length:3\n col:12\n line:...0x7f543ddbd4c8\n )\n parts:[\n (Token\n id:Lit_CharsWithoutPrefix\n length:10\n col:4\n line:(SourceLine\n line_num:5\n content:" proc echo_$param(prefix) {\\n"\n src:...0x7f543dabb3f8\n )\n tval:"proc echo_"\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:14\n line:...0x7f543ddbd520\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:11\n col:20\n line:...0x7f543ddbd520\n tval:"(prefix) {\\n"\n )\n (Token\n id:Lit_CharsWithoutPrefix\n length:7\n col:4\n line:(SourceLine\n line_num:6\n content:" echo \\\\$prefix $param\\n"\n src:...0x7f543dabb3f8\n )\n tval:" echo "\n )\n (word_part.EscapedLiteral\n token:(Token\n id:Lit_EscapedChar\n length:2\n col:11\n line:...0x7f543ddbd578\n )\n ch:"$"\n )\n (Token\n id:Lit_Chars\n length:7\n col:13\n line:...0x7f543ddbd578\n tval:"prefix "\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:20\n line:...0x7f543ddbd578\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:1\n col:26\n line:...0x7f543ddbd578\n tval:"\\n"\n )\n (Token\n id:Lit_CharsWithoutPrefix\n length:2\n col:4\n line:(SourceLine\n line_num:7\n content:" }\\n"\n src:...0x7f543dabb3f8\n )\n tval:"}\\n"\n )\n ]\n right:(Token\n id:Right_DoubleQuote\n length:1\n col:6\n line:(SourceLine\n line_num:8\n content:" \\"\\"\\"\\n"\n src:...0x7f543dabb3f8\n )\n )\n )\n )\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:...0x7f543ddbd788\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:3\n col:8\n line:...0x7f543ddbd788\n )\n name:cmd\n )\n ]\n rhs:(expr.FuncCall\n func:(expr.Var\n left:(Token\n id:Expr_Name\n length:12\n col:14\n line:...0x7f543ddbd788\n )\n name:parseCommand\n )\n args:(ArgList\n left:...0x7f543dad3120\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:1\n col:27\n line:...0x7f543ddbd788\n )\n name:s\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:28\n line:...0x7f543ddbd788\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:2\n col:4\n line:(SourceLine\n line_num:10\n content:" pp asdl_ (cmd)\\n"\n src:...0x7f543dabb3f8\n )\n tval:pp\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f543ddaec18])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:5\n col:7\n line:...0x7f543ddbd890\n tval:asdl_\n )\n ]\n )\n ]\n typed_args:(ArgList\n left:(Token\n id:Op_LParen\n length:1\n col:13\n line:...0x7f543ddbd890\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:14\n line:...0x7f543ddbd890\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:17\n line:...0x7f543ddbd890\n )\n )\n is_last_cmd:F\n )\n (command.Expr\n keyword:(Token\n id:KW_Call\n length:4\n col:4\n line:(SourceLine\n line_num:13\n content:" call io->eval(cmd)\\n"\n src:...0x7f543dabb3f8\n )\n )\n e:(expr.FuncCall\n func:(Attribute\n obj:(expr.Var\n left:(Token\n id:Expr_Name\n length:2\n col:9\n line:...0x7f543ddbd998\n )\n name:io\n )\n op:(Token\n id:Expr_RArrow\n length:2\n col:11\n line:...0x7f543ddbd998\n )\n attr:(Token\n id:Expr_Name\n length:4\n col:13\n line:...0x7f543ddbd998\n )\n attr_name:eval\n ctx:expr_context.Store\n )\n args:(ArgList\n left:(Token\n id:Op_LParen\n length:1\n col:17\n line:...0x7f543ddbd998\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:18\n line:...0x7f543ddbd998\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:21\n line:...0x7f543ddbd998\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:4\n line:(SourceLine\n line_num:15\n content:" echo_a zz\\n"\n src:...0x7f543dabb3f8\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f543dad3530])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:2\n col:11\n line:...0x7f543ddbda48\n )\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:2\n line:(SourceLine\n line_num:16\n content:" }\\n"\n src:...0x7f543dabb3f8\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:2\n line:(SourceLine\n line_num:18\n content:" echo_a prefix\\n"\n src:...0x7f543dabb3f8\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f543ddae940])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f543ddbdb50)\n ]\n )\n ]\n is_last_cmd:F\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:2\n line:(SourceLine\n line_num:19\n content:" echo_b prefix\\n"\n src:...0x7f543dabb3f8\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f543dad3a10])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f543ddbdba8)\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:0\n line:(SourceLine line_num:20 content:"}\\n" src:...0x7f543dabb3f8)\n )\n )\n sh_compat:F\n module_frame:{\n ARGV\n ...0x7f543de10fb0\n ENV\n ...0x7f543ddcf0b0\n UID\n ...0x7f543ddcf110\n EUID\n ...0x7f543ddcf170\n PPID\n ...0x7f543ddcf1d0\n OPTIND\n ...0x7f543ddcf230\n IFS\n ...0x7f543ddcf290\n HOSTNAME\n ...0x7f543ddcf2f0\n OSTYPE\n ...0x7f543ddcf350\n PS4\n ...0x7f543ddcf3b0\n COMP_WORDBREAKS\n ...0x7f543ddcf410\n p\n ...0x7f543ddcf590\n }\n )\n )\n }\n)\n' stdout: (value.Command
frag:(cmd_frag.Expr
c:(Proc
keyword:(Token
id:KW_Proc
length:4
col:0
line:(SourceLine
line_num:1
content:"proc echo_a(prefix) {\n"
src:(source.Dynamic
what:"parseCommand()"
location:(Token
id:Op_LParen
length:1
col:26
line:(SourceLine
line_num:9
content:" var cmd = parseCommand(s)\n"
src:(source.Stdin comment:"")
)
)
)
)
)
name:(Token id:Lit_Chars length:6 col:5 line:...0x7f543ddbdaf8)
sig:(proc_sig.Closed
word:(ParamGroup
params:[
(Param
blame_tok:(Token
id:Expr_Name
length:6
col:12
line:...0x7f543ddbdaf8
)
name:prefix
)
]
)
)
body:(BraceGroup
left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f543ddbdaf8)
children:[
(command.Simple
blame_tok:(Token
id:Lit_Chars
length:4
col:2
line:(SourceLine
line_num:2
content:" echo $prefix a\n"
src:...0x7f543dad7aa0
)
)
more_env:[]
words:[
(CompoundWord parts:[...0x7f543da63050])
(CompoundWord
parts:[
(SimpleVarSub
tok:(Token
id:VSub_DollarName
length:7
col:7
line:...0x7f543ddbdc58
)
)
]
)
(CompoundWord
parts:[
(Token id:Lit_Chars length:1 col:15 line:...0x7f543ddbdc58)
]
)
]
is_last_cmd:F
)
]
right:(Token
id:Lit_RBrace
length:1
col:0
line:(SourceLine line_num:3 content:"}\n" src:...0x7f543dad7aa0)
)
)
)
)
captured_frame:{
ARGV
(Cell exported:F readonly:F nameref:F val:(value.List items:[]))
result
(Cell exported:F readonly:F nameref:F val:(value.Dict d:{}))
param
(Cell exported:F readonly:F nameref:F val:(value.Str s:a))
s
(Cell
exported:F
readonly:F
nameref:F
val:(value.Str s:"proc echo_a(prefix) {\n echo $prefix a\n}\n")
)
cmd
(Cell exported:F readonly:F nameref:F val:...0x7f543ddbdcb0)
}
module_frame:{
ARGV
(Cell exported:F readonly:F nameref:F val:(value.List items:[]))
ENV
(Cell
exported:F
readonly:F
nameref:F
val:(Obj
d:{
TMP
(value.Str
s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.34147/03-ysh
)
REPO_ROOT
(value.Str s:/home/uke/oil)
PYTHONPATH
(value.Str s:"/home/uke/oil:/home/uke/oil/vendor")
PWD
(value.Str
s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.34147/03-ysh
)
SH
(value.Str s:/home/uke/oil/bin/ysh)
LC_ALL
(value.Str s:C.UTF-8)
PATH
(value.Str
s:"/home/uke/oil/test/../spec/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
)
LOCALE_ARCHIVE
(value.Str s:"")
OILS_GC_ON_EXIT
(value.Str s:1)
}
)
)
UID
(Cell exported:F readonly:F nameref:F val:(value.Str s:1000))
EUID
(Cell exported:F readonly:F nameref:F val:(value.Str s:1000))
PPID
(Cell exported:F readonly:F nameref:F val:(value.Str s:34238))
OPTIND
(Cell exported:F readonly:F nameref:F val:(value.Str s:1))
IFS
(Cell exported:F readonly:F nameref:F val:(value.Str s:" \t\n"))
HOSTNAME
(Cell exported:F readonly:F nameref:F val:(value.Str s:7f427c6dd89d))
OSTYPE
(Cell exported:F readonly:F nameref:F val:(value.Str s:linux))
PS4
(Cell
exported:F
readonly:F
nameref:F
val:(value.Str s:"${SHX_indent}${SHX_punct}${SHX_pid_str} ")
)
COMP_WORDBREAKS
(Cell exported:F readonly:F nameref:F val:(value.Str s:" \t\n\"'><=;|&(:"))
p
(Cell
exported:F
readonly:F
nameref:F
val:(value.Proc
name:p
name_tok:(Token
id:Lit_Chars
length:1
col:5
line:(SourceLine
line_num:1
content:"proc p {\n"
src:...0x7f543dabb3f8
)
)
sig:(proc_sig.Open)
body:(BraceGroup
left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f543ddbd2b8)
children:[
(command.VarDecl
keyword:(Token
id:KW_Var
length:3
col:2
line:(SourceLine
line_num:2
content:" var result = {}\n"
src:...0x7f543dabb3f8
)
)
lhs:[
(NameType
left:(Token
id:Expr_Name
length:6
col:6
line:...0x7f543ddbd310
)
name:result
)
]
rhs:(expr.Dict
left:(Token id:Op_LBrace length:1 col:15 line:...0x7f543ddbd310)
keys:[]
values:[]
)
)
(command.ForEach
keyword:(Token
id:KW_For
length:3
col:2
line:(SourceLine
line_num:3
content:" for param in a b {\n"
src:...0x7f543dabb3f8
)
)
iter_names:[param]
iterable:(for_iter.Words
words:[
(CompoundWord
parts:[
(Token
id:Lit_Chars
length:1
col:15
line:...0x7f543ddbd470
tval:a
)
]
)
(CompoundWord
parts:[
(Token
id:Lit_Chars
length:1
col:17
line:...0x7f543ddbd470
tval:b
)
]
)
]
)
body:(BraceGroup
left:(Token
id:Lit_LBrace
length:1
col:19
line:...0x7f543ddbd470
)
children:[
(command.VarDecl
keyword:(Token
id:KW_Var
length:3
col:4
line:(SourceLine
line_num:4
content:" var s = \"\"\"\n"
src:...0x7f543dabb3f8
)
)
lhs:[
(NameType
left:(Token
id:Expr_Name
length:1
col:8
line:...0x7f543ddbd4c8
)
name:s
)
]
rhs:(DoubleQuoted
left:(Token
id:Left_TDoubleQuote
length:3
col:12
line:...0x7f543ddbd4c8
)
parts:[
(Token
id:Lit_CharsWithoutPrefix
length:10
col:4
line:(SourceLine
line_num:5
content:" proc echo_$param(prefix) {\n"
src:...0x7f543dabb3f8
)
tval:"proc echo_"
)
(SimpleVarSub
tok:(Token
id:VSub_DollarName
length:6
col:14
line:...0x7f543ddbd520
tval:param
)
)
(Token
id:Lit_Chars
length:11
col:20
line:...0x7f543ddbd520
tval:"(prefix) {\n"
)
(Token
id:Lit_CharsWithoutPrefix
length:7
col:4
line:(SourceLine
line_num:6
content:" echo \\$prefix $param\n"
src:...0x7f543dabb3f8
)
tval:" echo "
)
(word_part.EscapedLiteral
token:(Token
id:Lit_EscapedChar
length:2
col:11
line:...0x7f543ddbd578
)
ch:"$"
)
(Token
id:Lit_Chars
length:7
col:13
line:...0x7f543ddbd578
tval:"prefix "
)
(SimpleVarSub
tok:(Token
id:VSub_DollarName
length:6
col:20
line:...0x7f543ddbd578
tval:param
)
)
(Token
id:Lit_Chars
length:1
col:26
line:...0x7f543ddbd578
tval:"\n"
)
(Token
id:Lit_CharsWithoutPrefix
length:2
col:4
line:(SourceLine
line_num:7
content:" }\n"
src:...0x7f543dabb3f8
)
tval:"}\n"
)
]
right:(Token
id:Right_DoubleQuote
length:1
col:6
line:(SourceLine
line_num:8
content:" \"\"\"\n"
src:...0x7f543dabb3f8
)
)
)
)
(command.VarDecl
keyword:(Token
id:KW_Var
length:3
col:4
line:...0x7f543ddbd788
)
lhs:[
(NameType
left:(Token
id:Expr_Name
length:3
col:8
line:...0x7f543ddbd788
)
name:cmd
)
]
rhs:(expr.FuncCall
func:(expr.Var
left:(Token
id:Expr_Name
length:12
col:14
line:...0x7f543ddbd788
)
name:parseCommand
)
args:(ArgList
left:...0x7f543dad3120
pos_args:[
(expr.Var
left:(Token
id:Expr_Name
length:1
col:27
line:...0x7f543ddbd788
)
name:s
)
]
named_args:[]
right:(Token
id:Op_RParen
length:1
col:28
line:...0x7f543ddbd788
)
)
)
)
(command.Simple
blame_tok:(Token
id:Lit_Chars
length:2
col:4
line:(SourceLine
line_num:10
content:" pp asdl_ (cmd)\n"
src:...0x7f543dabb3f8
)
tval:pp
)
more_env:[]
words:[
(CompoundWord parts:[...0x7f543ddaec18])
(CompoundWord
parts:[
(Token
id:Lit_Chars
length:5
col:7
line:...0x7f543ddbd890
tval:asdl_
)
]
)
]
typed_args:(ArgList
left:(Token
id:Op_LParen
length:1
col:13
line:...0x7f543ddbd890
)
pos_args:[
(expr.Var
left:(Token
id:Expr_Name
length:3
col:14
line:...0x7f543ddbd890
)
name:cmd
)
]
named_args:[]
right:(Token
id:Op_RParen
length:1
col:17
line:...0x7f543ddbd890
)
)
is_last_cmd:F
)
(command.Expr
keyword:(Token
id:KW_Call
length:4
col:4
line:(SourceLine
line_num:13
content:" call io->eval(cmd)\n"
src:...0x7f543dabb3f8
)
)
e:(expr.FuncCall
func:(Attribute
obj:(expr.Var
left:(Token
id:Expr_Name
length:2
col:9
line:...0x7f543ddbd998
)
name:io
)
op:(Token
id:Expr_RArrow
length:2
col:11
line:...0x7f543ddbd998
)
attr:(Token
id:Expr_Name
length:4
col:13
line:...0x7f543ddbd998
)
attr_name:eval
ctx:expr_context.Store
)
args:(ArgList
left:(Token
id:Op_LParen
length:1
col:17
line:...0x7f543ddbd998
)
pos_args:[
(expr.Var
left:(Token
id:Expr_Name
length:3
col:18
line:...0x7f543ddbd998
)
name:cmd
)
]
named_args:[]
right:(Token
id:Op_RParen
length:1
col:21
line:...0x7f543ddbd998
)
)
)
)
(command.Simple
blame_tok:(Token
id:Lit_Chars
length:6
col:4
line:(SourceLine
line_num:15
content:" echo_a zz\n"
src:...0x7f543dabb3f8
)
)
more_env:[]
words:[
(CompoundWord parts:[...0x7f543dad3530])
(CompoundWord
parts:[
(Token
id:Lit_Chars
length:2
col:11
line:...0x7f543ddbda48
)
]
)
]
is_last_cmd:F
)
]
right:(Token
id:Lit_RBrace
length:1
col:2
line:(SourceLine
line_num:16
content:" }\n"
src:...0x7f543dabb3f8
)
)
)
)
(command.Simple
blame_tok:(Token
id:Lit_Chars
length:6
col:2
line:(SourceLine
line_num:18
content:" echo_a prefix\n"
src:...0x7f543dabb3f8
)
)
more_env:[]
words:[
(CompoundWord parts:[...0x7f543ddae940])
(CompoundWord
parts:[
(Token id:Lit_Chars length:6 col:9 line:...0x7f543ddbdb50)
]
)
]
is_last_cmd:F
)
(command.Simple
blame_tok:(Token
id:Lit_Chars
length:6
col:2
line:(SourceLine
line_num:19
content:" echo_b prefix\n"
src:...0x7f543dabb3f8
)
)
more_env:[]
words:[
(CompoundWord parts:[...0x7f543dad3a10])
(CompoundWord
parts:[
(Token id:Lit_Chars length:6 col:9 line:...0x7f543ddbdba8)
]
)
]
is_last_cmd:F
)
]
right:(Token
id:Lit_RBrace
length:1
col:0
line:(SourceLine line_num:20 content:"}\n" src:...0x7f543dabb3f8)
)
)
sh_compat:F
module_frame:{
ARGV
...0x7f543de10fb0
ENV
...0x7f543ddcf0b0
UID
...0x7f543ddcf110
EUID
...0x7f543ddcf170
PPID
...0x7f543ddcf1d0
OPTIND
...0x7f543ddcf230
IFS
...0x7f543ddcf290
HOSTNAME
...0x7f543ddcf2f0
OSTYPE
...0x7f543ddcf350
PS4
...0x7f543ddcf3b0
COMP_WORDBREAKS
...0x7f543ddcf410
p
...0x7f543ddcf590
}
)
)
}
)
stderr: echo_a zz
^~~~~~
[ stdin ]:15: 'echo_a' not found (OILS-ERR-100)
[ stdin ]:15: errexit PID 34239: command.Simple failed with status 127
|
| ysh-cpp | 3 with parseCommand() then io->eval(), in local scope [ysh-cpp stdout] Expected 'prefix a\nprefix b\n', got '(value.Command\n frag:(cmd_frag.Expr\n c:(Proc\n keyword:(Token\n id:KW_Proc\n length:4\n col:0\n line:(SourceLine\n line_num:1\n content:"proc echo_a(prefix) {\\n"\n src:(source.Dynamic\n what:"parseCommand()"\n location:(Token\n id:Op_LParen\n length:1\n col:26\n line:(SourceLine\n line_num:9\n content:" var cmd = parseCommand(s)\\n"\n src:(source.Stdin comment:"")\n )\n )\n )\n )\n )\n name:(Token id:Lit_Chars length:6 col:5 line:...0x1612)\n sig:(proc_sig.Closed\n word:(ParamGroup\n params:[\n (Param\n blame_tok:(Token id:Expr_Name length:6 col:12 line:...0x1612)\n name:prefix\n )\n ]\n )\n )\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:20 line:...0x1612)\n children:[\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:4\n col:2\n line:(SourceLine\n line_num:2\n content:" echo $prefix a\\n"\n src:...0x2a4d\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x1592])\n (CompoundWord\n parts:[\n (SimpleVarSub\n tok:(Token id:VSub_DollarName length:7 col:7 line:...0x159a)\n )\n ]\n )\n (CompoundWord\n parts:[(Token id:Lit_Chars length:1 col:15 line:...0x159a)]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:0\n line:(SourceLine line_num:3 content:"}\\n" src:...0x2a4d)\n )\n )\n )\n )\n captured_frame:{\n ARGV\n (Cell exported:F readonly:F nameref:F val:(value.List items:[]))\n result\n (Cell exported:F readonly:F nameref:F val:(value.Dict d:{}))\n param\n (Cell exported:F readonly:F nameref:F val:(value.Str s:a))\n s\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Str s:"proc echo_a(prefix) {\\n echo $prefix a\\n}\\n")\n )\n cmd\n (Cell exported:F readonly:F nameref:F val:...0x1fd2)\n }\n module_frame:{\n ARGV\n (Cell exported:F readonly:F nameref:F val:(value.List items:[]))\n ENV\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(Obj\n d:{\n TMP\n (value.Str\n s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.34147/03-ysh-cpp\n )\n REPO_ROOT\n (value.Str s:/home/uke/oil/test/..)\n SH\n (value.Str s:/home/uke/oil/_bin/cxx-asan/ysh)\n LC_ALL\n (value.Str s:C.UTF-8)\n PATH\n (value.Str\n s:"/home/uke/oil/test/../spec/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"\n )\n LOCALE_ARCHIVE\n (value.Str s:"")\n OILS_GC_ON_EXIT\n (value.Str s:1)\n LINES\n (value.Str s:24)\n COLUMNS\n (value.Str s:80)\n }\n )\n )\n UID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1000))\n EUID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1000))\n PPID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:34249))\n OPTIND\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1))\n IFS\n (Cell exported:F readonly:F nameref:F val:(value.Str s:" \\t\\n"))\n HOSTNAME\n (Cell exported:F readonly:F nameref:F val:(value.Str s:7f427c6dd89d))\n OSTYPE\n (Cell exported:F readonly:F nameref:F val:(value.Str s:Linux))\n PS4\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Str s:"${SHX_indent}${SHX_punct}${SHX_pid_str} ")\n )\n COMP_WORDBREAKS\n (Cell exported:F readonly:F nameref:F val:(value.Str s:" \\t\\n\\"\'><=;|&(:"))\n p\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Proc\n name:p\n name_tok:(Token\n id:Lit_Chars\n length:1\n col:5\n line:(SourceLine line_num:1 content:"proc p {\\n" src:...0x1d65)\n )\n sig:(proc_sig.Open)\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:7 line:...0x1306)\n children:[\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:2\n line:(SourceLine\n line_num:2\n content:" var result = {}\\n"\n src:...0x1d65\n )\n )\n lhs:[\n (NameType\n left:(Token id:Expr_Name length:6 col:6 line:...0x12ba)\n name:result\n )\n ]\n rhs:(expr.Dict\n left:(Token id:Op_LBrace length:1 col:15 line:...0x12ba)\n keys:[]\n values:[]\n )\n )\n (command.ForEach\n keyword:(Token\n id:KW_For\n length:3\n col:2\n line:(SourceLine\n line_num:3\n content:" for param in a b {\\n"\n src:...0x1d65\n )\n )\n iter_names:[param]\n iterable:(for_iter.Words\n words:[\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:1 col:15 line:...0x1206 tval:a)\n ]\n )\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:1 col:17 line:...0x1206 tval:b)\n ]\n )\n ]\n )\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:19 line:...0x1206)\n children:[\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:(SourceLine\n line_num:4\n content:" var s = \\"\\"\\"\\n"\n src:...0x1d65\n )\n )\n lhs:[\n (NameType\n left:(Token id:Expr_Name length:1 col:8 line:...0x1196)\n name:s\n )\n ]\n rhs:(DoubleQuoted\n left:(Token\n id:Left_TDoubleQuote\n length:3\n col:12\n line:...0x1196\n )\n parts:[\n (Token\n id:Lit_CharsWithoutPrefix\n length:10\n col:4\n line:(SourceLine\n line_num:5\n content:" proc echo_$param(prefix) {\\n"\n src:...0x1d65\n )\n tval:"proc echo_"\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:14\n line:...0x10fa\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:11\n col:20\n line:...0x10fa\n tval:"(prefix) {\\n"\n )\n (Token\n id:Lit_CharsWithoutPrefix\n length:7\n col:4\n line:(SourceLine\n line_num:6\n content:" echo \\\\$prefix $param\\n"\n src:...0x1d65\n )\n tval:" echo "\n )\n (word_part.EscapedLiteral\n token:(Token\n id:Lit_EscapedChar\n length:2\n col:11\n line:...0x10e6\n )\n ch:"$"\n )\n (Token\n id:Lit_Chars\n length:7\n col:13\n line:...0x10e6\n tval:"prefix "\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:20\n line:...0x10e6\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:1\n col:26\n line:...0x10e6\n tval:"\\n"\n )\n (Token\n id:Lit_CharsWithoutPrefix\n length:2\n col:4\n line:(SourceLine\n line_num:7\n content:" }\\n"\n src:...0x1d65\n )\n tval:"}\\n"\n )\n ]\n right:(Token\n id:Right_DoubleQuote\n length:1\n col:6\n line:(SourceLine\n line_num:8\n content:" \\"\\"\\"\\n"\n src:...0x1d65\n )\n )\n )\n )\n (command.VarDecl\n keyword:(Token id:KW_Var length:3 col:4 line:...0x108e)\n lhs:[\n (NameType\n left:(Token id:Expr_Name length:3 col:8 line:...0x108e)\n name:cmd\n )\n ]\n rhs:(expr.FuncCall\n func:(expr.Var\n left:(Token\n id:Expr_Name\n length:12\n col:14\n line:...0x108e\n )\n name:parseCommand\n )\n args:(ArgList\n left:...0x100a\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:1\n col:27\n line:...0x108e\n )\n name:s\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:28\n line:...0x108e\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:2\n col:4\n line:(SourceLine\n line_num:10\n content:" pp asdl_ (cmd)\\n"\n src:...0x1d65\n )\n tval:pp\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x1a2a])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:5\n col:7\n line:...0x1a32\n tval:asdl_\n )\n ]\n )\n ]\n typed_args:(ArgList\n left:(Token id:Op_LParen length:1 col:13 line:...0x1a32)\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:14\n line:...0x1a32\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token id:Op_RParen length:1 col:17 line:...0x1a32)\n )\n is_last_cmd:F\n )\n (command.Expr\n keyword:(Token\n id:KW_Call\n length:4\n col:4\n line:(SourceLine\n line_num:13\n content:" call io->eval(cmd)\\n"\n src:...0x1d65\n )\n )\n e:(expr.FuncCall\n func:(Attribute\n obj:(expr.Var\n left:(Token\n id:Expr_Name\n length:2\n col:9\n line:...0x1976\n )\n name:io\n )\n op:(Token id:Expr_RArrow length:2 col:11 line:...0x1976)\n attr:(Token id:Expr_Name length:4 col:13 line:...0x1976)\n attr_name:eval\n ctx:expr_context.Store\n )\n args:(ArgList\n left:(Token id:Op_LParen length:1 col:17 line:...0x1976)\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:18\n line:...0x1976\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:21\n line:...0x1976\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:4\n line:(SourceLine\n line_num:15\n content:" echo_a zz\\n"\n src:...0x1d65\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x187e])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:2 col:11 line:...0x1886)\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:2\n line:(SourceLine line_num:16 content:" }\\n" src:...0x1d65)\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:2\n line:(SourceLine\n line_num:18\n content:" echo_a prefix\\n"\n src:...0x1d65\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x181e])\n (CompoundWord\n parts:[(Token id:Lit_Chars length:6 col:9 line:...0x1826)]\n )\n ]\n is_last_cmd:F\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:2\n line:(SourceLine\n line_num:19\n content:" echo_b prefix\\n"\n src:...0x1d65\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x17e2])\n (CompoundWord\n parts:[(Token id:Lit_Chars length:6 col:9 line:...0x17ea)]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:0\n line:(SourceLine line_num:20 content:"}\\n" src:...0x1d65)\n )\n )\n sh_compat:F\n module_frame:{\n ARGV\n ...0x849\n ENV\n ...0x7c9\n UID\n ...0x7a1\n EUID\n ...0x795\n PPID\n ...0x789\n OPTIND\n ...0x77d\n IFS\n ...0x771\n HOSTNAME\n ...0x765\n OSTYPE\n ...0x755\n PS4\n ...0x749\n COMP_WORDBREAKS\n ...0x73d\n p\n ...0x16ed\n }\n )\n )\n }\n)\n' stdout: (value.Command
frag:(cmd_frag.Expr
c:(Proc
keyword:(Token
id:KW_Proc
length:4
col:0
line:(SourceLine
line_num:1
content:"proc echo_a(prefix) {\n"
src:(source.Dynamic
what:"parseCommand()"
location:(Token
id:Op_LParen
length:1
col:26
line:(SourceLine
line_num:9
content:" var cmd = parseCommand(s)\n"
src:(source.Stdin comment:"")
)
)
)
)
)
name:(Token id:Lit_Chars length:6 col:5 line:...0x1612)
sig:(proc_sig.Closed
word:(ParamGroup
params:[
(Param
blame_tok:(Token id:Expr_Name length:6 col:12 line:...0x1612)
name:prefix
)
]
)
)
body:(BraceGroup
left:(Token id:Lit_LBrace length:1 col:20 line:...0x1612)
children:[
(command.Simple
blame_tok:(Token
id:Lit_Chars
length:4
col:2
line:(SourceLine
line_num:2
content:" echo $prefix a\n"
src:...0x2a4d
)
)
more_env:[]
words:[
(CompoundWord parts:[...0x1592])
(CompoundWord
parts:[
(SimpleVarSub
tok:(Token id:VSub_DollarName length:7 col:7 line:...0x159a)
)
]
)
(CompoundWord
parts:[(Token id:Lit_Chars length:1 col:15 line:...0x159a)]
)
]
is_last_cmd:F
)
]
right:(Token
id:Lit_RBrace
length:1
col:0
line:(SourceLine line_num:3 content:"}\n" src:...0x2a4d)
)
)
)
)
captured_frame:{
ARGV
(Cell exported:F readonly:F nameref:F val:(value.List items:[]))
result
(Cell exported:F readonly:F nameref:F val:(value.Dict d:{}))
param
(Cell exported:F readonly:F nameref:F val:(value.Str s:a))
s
(Cell
exported:F
readonly:F
nameref:F
val:(value.Str s:"proc echo_a(prefix) {\n echo $prefix a\n}\n")
)
cmd
(Cell exported:F readonly:F nameref:F val:...0x1fd2)
}
module_frame:{
ARGV
(Cell exported:F readonly:F nameref:F val:(value.List items:[]))
ENV
(Cell
exported:F
readonly:F
nameref:F
val:(Obj
d:{
TMP
(value.Str
s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.34147/03-ysh-cpp
)
REPO_ROOT
(value.Str s:/home/uke/oil/test/..)
SH
(value.Str s:/home/uke/oil/_bin/cxx-asan/ysh)
LC_ALL
(value.Str s:C.UTF-8)
PATH
(value.Str
s:"/home/uke/oil/test/../spec/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
)
LOCALE_ARCHIVE
(value.Str s:"")
OILS_GC_ON_EXIT
(value.Str s:1)
LINES
(value.Str s:24)
COLUMNS
(value.Str s:80)
}
)
)
UID
(Cell exported:F readonly:F nameref:F val:(value.Str s:1000))
EUID
(Cell exported:F readonly:F nameref:F val:(value.Str s:1000))
PPID
(Cell exported:F readonly:F nameref:F val:(value.Str s:34249))
OPTIND
(Cell exported:F readonly:F nameref:F val:(value.Str s:1))
IFS
(Cell exported:F readonly:F nameref:F val:(value.Str s:" \t\n"))
HOSTNAME
(Cell exported:F readonly:F nameref:F val:(value.Str s:7f427c6dd89d))
OSTYPE
(Cell exported:F readonly:F nameref:F val:(value.Str s:Linux))
PS4
(Cell
exported:F
readonly:F
nameref:F
val:(value.Str s:"${SHX_indent}${SHX_punct}${SHX_pid_str} ")
)
COMP_WORDBREAKS
(Cell exported:F readonly:F nameref:F val:(value.Str s:" \t\n\"'><=;|&(:"))
p
(Cell
exported:F
readonly:F
nameref:F
val:(value.Proc
name:p
name_tok:(Token
id:Lit_Chars
length:1
col:5
line:(SourceLine line_num:1 content:"proc p {\n" src:...0x1d65)
)
sig:(proc_sig.Open)
body:(BraceGroup
left:(Token id:Lit_LBrace length:1 col:7 line:...0x1306)
children:[
(command.VarDecl
keyword:(Token
id:KW_Var
length:3
col:2
line:(SourceLine
line_num:2
content:" var result = {}\n"
src:...0x1d65
)
)
lhs:[
(NameType
left:(Token id:Expr_Name length:6 col:6 line:...0x12ba)
name:result
)
]
rhs:(expr.Dict
left:(Token id:Op_LBrace length:1 col:15 line:...0x12ba)
keys:[]
values:[]
)
)
(command.ForEach
keyword:(Token
id:KW_For
length:3
col:2
line:(SourceLine
line_num:3
content:" for param in a b {\n"
src:...0x1d65
)
)
iter_names:[param]
iterable:(for_iter.Words
words:[
(CompoundWord
parts:[
(Token id:Lit_Chars length:1 col:15 line:...0x1206 tval:a)
]
)
(CompoundWord
parts:[
(Token id:Lit_Chars length:1 col:17 line:...0x1206 tval:b)
]
)
]
)
body:(BraceGroup
left:(Token id:Lit_LBrace length:1 col:19 line:...0x1206)
children:[
(command.VarDecl
keyword:(Token
id:KW_Var
length:3
col:4
line:(SourceLine
line_num:4
content:" var s = \"\"\"\n"
src:...0x1d65
)
)
lhs:[
(NameType
left:(Token id:Expr_Name length:1 col:8 line:...0x1196)
name:s
)
]
rhs:(DoubleQuoted
left:(Token
id:Left_TDoubleQuote
length:3
col:12
line:...0x1196
)
parts:[
(Token
id:Lit_CharsWithoutPrefix
length:10
col:4
line:(SourceLine
line_num:5
content:" proc echo_$param(prefix) {\n"
src:...0x1d65
)
tval:"proc echo_"
)
(SimpleVarSub
tok:(Token
id:VSub_DollarName
length:6
col:14
line:...0x10fa
tval:param
)
)
(Token
id:Lit_Chars
length:11
col:20
line:...0x10fa
tval:"(prefix) {\n"
)
(Token
id:Lit_CharsWithoutPrefix
length:7
col:4
line:(SourceLine
line_num:6
content:" echo \\$prefix $param\n"
src:...0x1d65
)
tval:" echo "
)
(word_part.EscapedLiteral
token:(Token
id:Lit_EscapedChar
length:2
col:11
line:...0x10e6
)
ch:"$"
)
(Token
id:Lit_Chars
length:7
col:13
line:...0x10e6
tval:"prefix "
)
(SimpleVarSub
tok:(Token
id:VSub_DollarName
length:6
col:20
line:...0x10e6
tval:param
)
)
(Token
id:Lit_Chars
length:1
col:26
line:...0x10e6
tval:"\n"
)
(Token
id:Lit_CharsWithoutPrefix
length:2
col:4
line:(SourceLine
line_num:7
content:" }\n"
src:...0x1d65
)
tval:"}\n"
)
]
right:(Token
id:Right_DoubleQuote
length:1
col:6
line:(SourceLine
line_num:8
content:" \"\"\"\n"
src:...0x1d65
)
)
)
)
(command.VarDecl
keyword:(Token id:KW_Var length:3 col:4 line:...0x108e)
lhs:[
(NameType
left:(Token id:Expr_Name length:3 col:8 line:...0x108e)
name:cmd
)
]
rhs:(expr.FuncCall
func:(expr.Var
left:(Token
id:Expr_Name
length:12
col:14
line:...0x108e
)
name:parseCommand
)
args:(ArgList
left:...0x100a
pos_args:[
(expr.Var
left:(Token
id:Expr_Name
length:1
col:27
line:...0x108e
)
name:s
)
]
named_args:[]
right:(Token
id:Op_RParen
length:1
col:28
line:...0x108e
)
)
)
)
(command.Simple
blame_tok:(Token
id:Lit_Chars
length:2
col:4
line:(SourceLine
line_num:10
content:" pp asdl_ (cmd)\n"
src:...0x1d65
)
tval:pp
)
more_env:[]
words:[
(CompoundWord parts:[...0x1a2a])
(CompoundWord
parts:[
(Token
id:Lit_Chars
length:5
col:7
line:...0x1a32
tval:asdl_
)
]
)
]
typed_args:(ArgList
left:(Token id:Op_LParen length:1 col:13 line:...0x1a32)
pos_args:[
(expr.Var
left:(Token
id:Expr_Name
length:3
col:14
line:...0x1a32
)
name:cmd
)
]
named_args:[]
right:(Token id:Op_RParen length:1 col:17 line:...0x1a32)
)
is_last_cmd:F
)
(command.Expr
keyword:(Token
id:KW_Call
length:4
col:4
line:(SourceLine
line_num:13
content:" call io->eval(cmd)\n"
src:...0x1d65
)
)
e:(expr.FuncCall
func:(Attribute
obj:(expr.Var
left:(Token
id:Expr_Name
length:2
col:9
line:...0x1976
)
name:io
)
op:(Token id:Expr_RArrow length:2 col:11 line:...0x1976)
attr:(Token id:Expr_Name length:4 col:13 line:...0x1976)
attr_name:eval
ctx:expr_context.Store
)
args:(ArgList
left:(Token id:Op_LParen length:1 col:17 line:...0x1976)
pos_args:[
(expr.Var
left:(Token
id:Expr_Name
length:3
col:18
line:...0x1976
)
name:cmd
)
]
named_args:[]
right:(Token
id:Op_RParen
length:1
col:21
line:...0x1976
)
)
)
)
(command.Simple
blame_tok:(Token
id:Lit_Chars
length:6
col:4
line:(SourceLine
line_num:15
content:" echo_a zz\n"
src:...0x1d65
)
)
more_env:[]
words:[
(CompoundWord parts:[...0x187e])
(CompoundWord
parts:[
(Token id:Lit_Chars length:2 col:11 line:...0x1886)
]
)
]
is_last_cmd:F
)
]
right:(Token
id:Lit_RBrace
length:1
col:2
line:(SourceLine line_num:16 content:" }\n" src:...0x1d65)
)
)
)
(command.Simple
blame_tok:(Token
id:Lit_Chars
length:6
col:2
line:(SourceLine
line_num:18
content:" echo_a prefix\n"
src:...0x1d65
)
)
more_env:[]
words:[
(CompoundWord parts:[...0x181e])
(CompoundWord
parts:[(Token id:Lit_Chars length:6 col:9 line:...0x1826)]
)
]
is_last_cmd:F
)
(command.Simple
blame_tok:(Token
id:Lit_Chars
length:6
col:2
line:(SourceLine
line_num:19
content:" echo_b prefix\n"
src:...0x1d65
)
)
more_env:[]
words:[
(CompoundWord parts:[...0x17e2])
(CompoundWord
parts:[(Token id:Lit_Chars length:6 col:9 line:...0x17ea)]
)
]
is_last_cmd:F
)
]
right:(Token
id:Lit_RBrace
length:1
col:0
line:(SourceLine line_num:20 content:"}\n" src:...0x1d65)
)
)
sh_compat:F
module_frame:{
ARGV
...0x849
ENV
...0x7c9
UID
...0x7a1
EUID
...0x795
PPID
...0x789
OPTIND
...0x77d
IFS
...0x771
HOSTNAME
...0x765
OSTYPE
...0x755
PS4
...0x749
COMP_WORDBREAKS
...0x73d
p
...0x16ed
}
)
)
}
)
stderr: echo_a zz
^~~~~~
[ stdin ]:15: 'echo_a' not found (OILS-ERR-100)
[ stdin ]:15: errexit PID 34250: command.Simple failed with status 127
|