--- byo run-tests: yaks/TEST.sh test-hello (nvalue.List items:[ (nvalue.Symbol s:module) (nvalue.Symbol s:hello) (nvalue.List items:[ (nvalue.Symbol s:func) (nvalue.Symbol s:main) (nvalue.List items:[ (nvalue.Symbol s:"=>") (nvalue.List items:[ (nvalue.List items:[ (nvalue.Symbol s:argv) (nvalue.List items:[(nvalue.Symbol s:List) (nvalue.Symbol s:Str)] ) ] ) ] ) (nvalue.Symbol s:Int) ] ) (nvalue.List items:[ (nvalue.Symbol s:call) (nvalue.Symbol s:print) (nvalue.Str s:hello) ] ) (nvalue.List items:[(nvalue.Symbol s:return) (nvalue.Int i:42)]) ] ) ] ) (Program main_module:foo modules:[ (Module name:hello defs:[ (mod_def.Func name:main sig:(Signature params:[(NameType name:argv typ:(ktype.List T:(ktype.Str)))] return_type:(ktype.Int) ) statements:[ (stmt.Return e:(Int i:42 loc:(Token path:path chunk:chunk start:0 length:3)) ) ] ) ] ) ] ) #include "mycpp/runtime.h" namespace hello { int main(List* argv) { return 42; } } // namespace hello OK test-hello-cpp [1/37] write-main _gen/yaks/yaks_main.mycpp-main.cc yaks_main [2/37] write-main _gen/yaks/examples/hello.yaks-main.cc hello [3/37] asdl_main cpp yaks/yaks.asdl _gen/yaks/yaks.asdl _gen/yaks/yaks.asdl_debug.py [4/37] cxx opt '' _gen/frontend/id_kind.asdl.cc _build/obj/cxx-opt/_gen/frontend/id_kind.asdl.o [5/37] cxx opt '' _gen/display/pretty.asdl.cc _build/obj/cxx-opt/_gen/display/pretty.asdl.o [6/37] cxx opt '' cpp/data_lang.cc _build/obj/cxx-opt/cpp/data_lang.o [7/37] cxx opt '' mycpp/bump_leak_heap.cc _build/obj/cxx-opt/mycpp/bump_leak_heap.o [8/37] cxx opt '' mycpp/gc_iolib.cc _build/obj/cxx-opt/mycpp/gc_iolib.o [9/37] cxx opt '' mycpp/gc_mylib.cc _build/obj/cxx-opt/mycpp/gc_mylib.o [10/37] cxx opt '' mycpp/gc_builtins.cc _build/obj/cxx-opt/mycpp/gc_builtins.o [11/37] cxx opt '' mycpp/gc_mops.cc _build/obj/cxx-opt/mycpp/gc_mops.o [12/37] cxx opt '' mycpp/hash.cc _build/obj/cxx-opt/mycpp/hash.o [13/37] cxx opt '' _gen/core/runtime.asdl.cc _build/obj/cxx-opt/_gen/core/runtime.asdl.o [14/37] cxx opt '' _gen/core/value.asdl.cc _build/obj/cxx-opt/_gen/core/value.asdl.o [15/37] cxx asan '' mycpp/bump_leak_heap.cc _build/obj/cxx-asan/mycpp/bump_leak_heap.o [16/37] cxx asan '' mycpp/gc_iolib.cc _build/obj/cxx-asan/mycpp/gc_iolib.o [17/37] cxx asan '' mycpp/gc_mylib.cc _build/obj/cxx-asan/mycpp/gc_mylib.o [18/37] cxx opt '' mycpp/mark_sweep_heap.cc _build/obj/cxx-opt/mycpp/mark_sweep_heap.o [19/37] cxx asan '' mycpp/gc_builtins.cc _build/obj/cxx-asan/mycpp/gc_builtins.o [20/37] cxx asan '' mycpp/hash.cc _build/obj/cxx-asan/mycpp/hash.o [21/37] cxx asan '' mycpp/gc_mops.cc _build/obj/cxx-asan/mycpp/gc_mops.o [22/37] cxx asan '' mycpp/mark_sweep_heap.cc _build/obj/cxx-asan/mycpp/mark_sweep_heap.o [23/37] cxx opt '' _gen/data_lang/nil8.asdl.cc _build/obj/cxx-opt/_gen/data_lang/nil8.asdl.o [24/37] cxx opt '' _gen/frontend/consts.cc _build/obj/cxx-opt/_gen/frontend/consts.o [25/37] cxx opt '' _gen/frontend/syntax.asdl.cc _build/obj/cxx-opt/_gen/frontend/syntax.asdl.o [26/37] cxx opt '' cpp/frontend_match.cc _build/obj/cxx-opt/cpp/frontend_match.o [27/37] cxx asan '' _gen/yaks/examples/hello.yaks-main.cc _build/obj/cxx-asan/_gen/yaks/examples/hello.yaks-main.o [28/37] cxx opt '' _gen/yaks/yaks_main.mycpp-main.cc _build/obj/cxx-opt/_gen/yaks/yaks_main.mycpp-main.o [29/37] cxx asan '' mycpp/gc_str.cc _build/obj/cxx-asan/mycpp/gc_str.o mycpp/gc_str.cc: In member function ‘BigStr* BigStr::rstrip(BigStr*)’: mycpp/gc_str.cc:410:17: warning: unused variable ‘char_data’ [-Wunused-variable] 410 | const char* char_data = data_; | ^~~~~~~~~ [30/37] cxx opt '' _gen/yaks/yaks.asdl.cc _build/obj/cxx-opt/_gen/yaks/yaks.asdl.o [31/37] cxx opt '' mycpp/gc_str.cc _build/obj/cxx-opt/mycpp/gc_str.o mycpp/gc_str.cc: In member function ‘BigStr* BigStr::rstrip(BigStr*)’: mycpp/gc_str.cc:410:17: warning: unused variable ‘char_data’ [-Wunused-variable] 410 | const char* char_data = data_; | ^~~~~~~~~ [32/37] mycpp /home/uke/oil:/home/uke/oil/pyext yaks/yaks_main_preamble.h _gen/yaks/yaks_main.mycpp.cc asdl/format.py asdl/runtime.py core/bash_impl.py core/error.py core/num.py data_lang/j8.py data_lang/j8_lite.py display/ansi.py display/pp_hnode.py display/pretty.py frontend/syntax_abbrev.py yaks/gen_cpp.py yaks/transform.py yaks/yaks_main.py mycpp: LOADING asdl/format.py asdl/runtime.py core/bash_impl.py core/error.py core/num.py data_lang/j8.py data_lang/j8_lite.py display/ansi.py display/pp_hnode.py display/pretty.py frontend/syntax_abbrev.py yaks/gen_cpp.py yaks/transform.py yaks/yaks_main.py mycpp pass: CONST mycpp pass: CONVERT mycpp pass: CONTROL FLOW mycpp pass: SOUFFLE data flow mycpp pass: DECL mycpp pass: IMPL mycpp DONE [33/37] cxx opt '' _gen/yaks/yaks_main.mycpp.cc _build/obj/cxx-opt/_gen/yaks/yaks_main.mycpp.o _gen/yaks/yaks_main.mycpp.cc: In member function ‘void j8::InstancePrinter::_PrintBashArray(value_asdl::value::BashArray*, int)’: _gen/yaks/yaks_main.mycpp.cc:2168:30: warning: variable ‘error_code’ set but not used [-Wunused-but-set-variable] 2168 | runtime_asdl::error_code_t error_code; | ^~~~~~~~~~ [34/37] LINK cxx opt '' _bin/cxx-opt/yaks/yaks_main.mycpp _build/obj/cxx-opt/_gen/yaks/yaks_main.mycpp-main.o _build/obj/cxx-opt/_gen/core/runtime.asdl.o _build/obj/cxx-opt/_gen/core/value.asdl.o _build/obj/cxx-opt/cpp/data_lang.o _build/obj/cxx-opt/cpp/frontend_match.o _build/obj/cxx-opt/_gen/data_lang/nil8.asdl.o _build/obj/cxx-opt/_gen/display/pretty.asdl.o _build/obj/cxx-opt/_gen/frontend/consts.o _build/obj/cxx-opt/_gen/frontend/id_kind.asdl.o _build/obj/cxx-opt/_gen/frontend/syntax.asdl.o _build/obj/cxx-opt/mycpp/bump_leak_heap.o _build/obj/cxx-opt/mycpp/gc_iolib.o _build/obj/cxx-opt/mycpp/gc_mylib.o _build/obj/cxx-opt/mycpp/gc_builtins.o _build/obj/cxx-opt/mycpp/gc_mops.o _build/obj/cxx-opt/mycpp/gc_str.o _build/obj/cxx-opt/mycpp/hash.o _build/obj/cxx-opt/mycpp/mark_sweep_heap.o _build/obj/cxx-opt/_gen/yaks/yaks.asdl.o _build/obj/cxx-opt/_gen/yaks/yaks_main.mycpp.o [35/37] yaks cpp yaks/examples/hello.yaks > _gen/yaks/examples/hello.yaks.cc (nvalue.List items:[ (nvalue.Symbol s:module) (nvalue.Symbol s:hello) (nvalue.List items:[ (nvalue.Symbol s:func) (nvalue.Symbol s:main) (nvalue.List items:[ (nvalue.Symbol s:"=>") (nvalue.List items:[ (nvalue.List items:[ (nvalue.Symbol s:argv) (nvalue.List items:[(nvalue.Symbol s:List) (nvalue.Symbol s:Str)] ) ] ) ] ) (nvalue.Symbol s:Int) ] ) (nvalue.List items:[ (nvalue.Symbol s:call) (nvalue.Symbol s:print) (nvalue.Str s:hello) ] ) (nvalue.List items:[(nvalue.Symbol s:return) (nvalue.Int i:42)]) ] ) ] ) (Program main_module:foo modules:[ (Module name:hello defs:[ (mod_def.Func name:main sig:(Signature params:[(NameType name:argv typ:(ktype.List T:(ktype.Str)))] return_type:...0x3ffffffc ) statements:[ (stmt.Return e:(Int i:42 loc:(Token path:path chunk:chunk start:0 length:3)) ) ] ) ] ) ] ) [36/37] cxx asan '' _gen/yaks/examples/hello.yaks.cc _build/obj/cxx-asan/_gen/yaks/examples/hello.yaks.o [37/37] LINK cxx asan '' _bin/cxx-asan/yaks/examples/hello.yaks _build/obj/cxx-asan/_gen/yaks/examples/hello.yaks-main.o _build/obj/cxx-asan/mycpp/bump_leak_heap.o _build/obj/cxx-asan/mycpp/gc_iolib.o _build/obj/cxx-asan/mycpp/gc_mylib.o _build/obj/cxx-asan/mycpp/gc_builtins.o _build/obj/cxx-asan/mycpp/gc_mops.o _build/obj/cxx-asan/mycpp/gc_str.o _build/obj/cxx-asan/mycpp/hash.o _build/obj/cxx-asan/mycpp/mark_sweep_heap.o _build/obj/cxx-asan/_gen/yaks/examples/hello.yaks.o + nq-run status _bin/cxx-asan/yaks/examples/hello.yaks + local -n out_status=status + shift + local __status + set +o errexit + set -o errexit + _bin/cxx-asan/yaks/examples/hello.yaks + __status=42 + set -o errexit + out_status=42 + set -o errexit + nq-assert 42 = 42 + test 42 = 42 + exit 0 OK test-syntax-errors (print "hi") (nvalue.List items:[(nvalue.Symbol s:print) (nvalue.Str s:hi)]) Traceback (most recent call last): File "yaks/yaks_main.py", line 148, in main(sys.argv) File "yaks/yaks_main.py", line 122, in main prog = transform.Transform(nval) File "/home/uke/oil/yaks/transform.py", line 248, in Transform module = TransformModule(mod_n) File "/home/uke/oil/yaks/transform.py", line 208, in TransformModule mod_name = MustBeSymbol(mod_n[1]) File "/home/uke/oil/yaks/transform.py", line 22, in MustBeSymbol raise AssertionError('Expected Symbol, got %s' % nval) AssertionError: Expected Symbol, got (nvalue.Str s:hi) + (nvalue.Symbol s:"+") Traceback (most recent call last): File "yaks/yaks_main.py", line 148, in main(sys.argv) File "yaks/yaks_main.py", line 122, in main prog = transform.Transform(nval) File "/home/uke/oil/yaks/transform.py", line 247, in Transform mod_n = MustBeList(nval) File "/home/uke/oil/yaks/transform.py", line 29, in MustBeList raise AssertionError('Expected List, got %s' % nval) AssertionError: Expected List, got (nvalue.Symbol s:"+") (print Unexpected EOF while parsing J8 (line 2, offset 7-7: 'int\n') (print)oops Unexpected trailing input (line 1, offset 7-11: 'int)oops\n') OK devtools/byo.sh: 3 tests passed. yaks/yaks.asdl -> (asdl_main) -> _devbuild/gen/yaks_asdl.py Success: no issues found in 1 source file