Help language development. Donate to The Perl Foundation

CoreHackers::Q zef:raku-community-modules last updated on 2023-02-01
[![Actions Status](](


QAST tree visualizer


Installs `q` command line script that parses out QAST trees from a program and makes an HTML file from them.

The HTML page provides these extra features unavailable in plain `raku --target=ast` and `raku --target=optimize` output:

  * Control-click on individual tree nodes to collapse/expand them

  * Color coding: of sunk nodes, `QAST::Want` alternatives, static and non-static

calls, etc.

Example output:

[An example](example.png)


          q a '[<args> ...]'
          q o '[<args> ...]'

`a` command

$ q a raku -e 'say "hello"' > out.html; google-chrome out.html

`a` stands for `--target=ast` and the args that follow is a `raku` invocation to run the script (the `--target=ast` argument will be inserted automatically).

The script will parse QAST generated by the given `raku` program and output an HTML file to STDOUT. View the file in any browser to examine the QAST tree.

`o` command

$ q o raku -e 'say "hello"' > out.html; google-chrome out.html

`o` stands for `--target=optimize` . Same as `a` , except parses `--target=optimize` QAST. Once again, you don't need to manually specify `--target` parameter.

`z` command

$ q z raku -e 'say "hello"'

Just runs the raku command as is. Mnemonic: "zero". This command exists simply to easily switch between ``a`/`o`` runs and plain raku runs.




Fork this module on GitHub:

### BUGS

To report bugs or request features, please use


Originally Zoffix Znet, now maintained by the Raku Community Adoption Center.


You can use and distribute this module under the terms of the The Artistic License 2.0. See the `LICENSE` file included in this distribution for complete details.

The `META6.json` file of this distribution may be distributed and modified without restrictions or attribution.