|
|
|
|
|
by itishappy
107 days ago
|
|
I'm not super familiar with Raku, but if RakuAST is what you had in mind it looks a bit different: use experimental :rakuast;
my $ast = RakuAST::Call::Name.new(
name => RakuAST::Name.from-identifier("say"),
args => RakuAST::ArgList.new(
RakuAST::StrLiteral.new("Hello world")
)
);
Looks more like "low-level programming an AST" (which I believe other languages offer as well), rather than using a bidirectional transform. I don't know how you'd get Raku code back out, for example.Edit: I should have looked deeper, `DEPARSE` does exactly this: https://docs.raku.org/type/RakuAST Neat! |
|