QAST Node | Description |
---|---|
QAST::Block | A lexical scope |
QAST::Stmts | A sequence of things to execute |
QAST::Stmt | As above, but also a temporaries boundary |
QAST::Op | An operation of some kind |
QAST::Var | A variable or parameter usage/declaration |
QAST::IVal | Integer literal |
QAST::NVal | Floating point literal |
QAST::SVal | String literal |
QAST::BVal | Block Value, refer to other block in the tree (dynamic) |
QAST::WVal | Refer to a var in the World Serialization Context |
QAST::Want | Permit to choose boxing accoring to type (context of identifyer) |
QAST::VM | Virtual Machine specific operation (discriminator) |
The NQP iterator types for hashes that enable .key and .value methods are not yet set up, so this code uses nqp::iterkey s and nqp::iterval.