A range expression, for example [ a0 | (2,3) => 1]
(if the value of register a0 is 2-3 inclusive, evaluate to 1, otherwise evaluate to 0).
More...
#include <ast.hh>
Public Member Functions | |
virtual uint16_t | interpret (Interpreter::State &) override |
Interpret this node, updating the given interpreter step and returning the value (if there is one). | |
virtual llvm::Value * | compile (Compiler::State &) override |
Compile this node, returning the LLVM value representing the result, if there is one. | |
Public Attributes | |
pegmatite::ASTPtr< Register > | value |
The register that is being compared against one or more ranges. | |
pegmatite::ASTList< Range > | ranges |
The ranges in this range map. | |
A range expression, for example [ a0 | (2,3) => 1]
(if the value of register a0 is 2-3 inclusive, evaluate to 1, otherwise evaluate to 0).