Xreate
The Xreate programming language
|
Advanced compilation primitives. More...
#include <advancedinstructions.h>
Advanced compilation primitives.
Public Member Functions | |
llvm::Value * | compileArrayIndex (llvm::Value *aggregate, std::vector< llvm::Value *> indexes, std::string ident="") |
Array subscript access operator compilation. | |
llvm::Value * | compileStructIndex (llvm::Value *aggregate, const ExpandedType &t, const std::string &idx) |
Struct field access operator compilation. | |
llvm::Value * | compileMapSolidOutput (const Expression &expr, const std::string hintRetVar="") |
loop map statement compilation | |
llvm::Value * | compileFold (const Expression &fold, const std::string &ident="") |
loop fold statement compilation | |
llvm::Value * | compileFoldInf (const Expression &fold, const std::string &ident="") |
loop statement compilation | |
llvm::Value * | compileIf (const Expression &exprIf, const std::string &ident) |
if statement compilation | |
llvm::Value * | compileSwitch (const Expression &exprSwitch, const std::string &hintRetVar) |
switch statement compilation | |
llvm::Value * | compileSwitchVariant (const Expression &exprSwitch, const std::string &hintRetVar) |
switch statement compilation | |
llvm::Value * | compileConstantStringAsPChar (const std::string &data, const std::string &hintRetVar) |
switch variant statement compilation | |
llvm::Value * | compileListAsSolidArray (const Expression &expr, const std::string &hintRetVar) |
Contiguous memory list implementation. | |
llvm::Value * | compileSequence (const Expression &expr) |
seq statement compilation | |