Pegmatite
 All Classes Functions Variables Enumerations
Public Member Functions | Public Attributes | List of all members
AST::RangeExpr Struct Reference

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>

Inheritance diagram for AST::RangeExpr:
Inheritance graph
[legend]
Collaboration diagram for AST::RangeExpr:
Collaboration graph
[legend]

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< Registervalue
 The register that is being compared against one or more ranges.
 
pegmatite::ASTList< Rangeranges
 The ranges in this range map.
 

Detailed Description

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).

Definition at line 260 of file ast.hh.


The documentation for this struct was generated from the following files: