From 6ba66daa8b170ec8d21f860305747574033fc939 Mon Sep 17 00:00:00 2001 From: Ian Piumarta Date: Fri, 10 May 2024 03:21:32 +0900 Subject: [PATCH] Test user-defined AST nodes. --- test.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test.txt b/test.txt index 5419ceb..f0e016c 100644 --- a/test.txt +++ b/test.txt @@ -320,6 +320,21 @@ print("call testfun\n"); testfun(); +// used-defined AST nodes are evaluated the same way as built-in types + +MakeSeven = Object.subtype(#MakeSeven); + +MakeSeven.__eval__(exp, env) { + print("MakeSeven.__eval__ invoked\n"); + 7; +} + +myNode = MakeSeven.new(); + +ast = (`6 * @myNode;); // user-defined node in AST + +print("AST eval => ", eval(ast), "\n"); + for (i from 0 to 10) print(i, " "); print("\n"); for (i from 10 to 0) print(i, " "); print("\n"); for (i in 10) print(i, " "); print("\n");