![]() |
mutable
A Database System for Research and Fast Prototyping
|
#include <cstdint>
#include <mutable/catalog/Schema.hpp>
#include <mutable/IR/Tuple.hpp>
#include "tables/Opcodes.tbl"
Go to the source code of this file.
Data Structures | |
struct | m::StackMachine |
A stack machine that evaluates an expression. More... | |
Namespaces | |
namespace | m |
| |
namespace | m::ast |
namespace | m::cnf |
Macros | |
#define | M_OPCODE(CODE, ...) CODE, |
#define | M_OPCODE(CODE, ...) #CODE, |
#define | SELECT(XXX, _1, _2, _3, FN, ...) FN(__VA_ARGS__) |
#define | ARGS_0(XXX, ...) |
#define | ARGS_1(I, XXX, ARG0, ...) uint8_t ARG0 |
#define | ARGS_2(I, II, XXX, ARG0, ARG1, ...) uint8_t ARG0, uint8_t ARG1 |
#define | ARGS_3(I, II, III, XXX, ARG0, ARG1, ARG2, ...) uint8_t ARG0, uint8_t ARG1, uint8_t ARG2 |
#define | ARGS(...) SELECT(__VA_ARGS__, ARGS_3, ARGS_2, ARGS_1, ARGS_0, __VA_ARGS__) |
#define | PUSH_0(XXX, ...) |
#define | PUSH_1(I, XXX, ARG0, ...) ops.push_back(static_cast<Opcode>((ARG0))); |
#define | PUSH_2(I, II, XXX, ARG0, ARG1, ...) |
#define | PUSH_3(I, II, III, XXX, ARG0, ARG1, ARG2, ...) |
#define | PUSH(...) SELECT(__VA_ARGS__, PUSH_3, PUSH_2, PUSH_1, PUSH_0, __VA_ARGS__) |
#define | M_OPCODE(CODE, DELTA, ...) |
Definition at line 140 of file StackMachine.hpp.
#define ARGS_0 | ( | XXX, | |
... | |||
) |
Definition at line 136 of file StackMachine.hpp.
#define ARGS_1 | ( | I, | |
XXX, | |||
ARG0, | |||
... | |||
) | uint8_t ARG0 |
Definition at line 137 of file StackMachine.hpp.
#define ARGS_2 | ( | I, | |
II, | |||
XXX, | |||
ARG0, | |||
ARG1, | |||
... | |||
) | uint8_t ARG0, uint8_t ARG1 |
Definition at line 138 of file StackMachine.hpp.
#define ARGS_3 | ( | I, | |
II, | |||
III, | |||
XXX, | |||
ARG0, | |||
ARG1, | |||
ARG2, | |||
... | |||
) | uint8_t ARG0, uint8_t ARG1, uint8_t ARG2 |
Definition at line 139 of file StackMachine.hpp.
#define M_OPCODE | ( | CODE, | |
DELTA, | |||
... | |||
) |
Definition at line 153 of file StackMachine.hpp.
#define M_OPCODE | ( | CODE, | |
... | |||
) | CODE, |
Definition at line 153 of file StackMachine.hpp.
#define M_OPCODE | ( | CODE, | |
... | |||
) | #CODE, |
Definition at line 153 of file StackMachine.hpp.
Definition at line 151 of file StackMachine.hpp.
#define PUSH_0 | ( | XXX, | |
... | |||
) |
Definition at line 141 of file StackMachine.hpp.
#define PUSH_1 | ( | I, | |
XXX, | |||
ARG0, | |||
... | |||
) | ops.push_back(static_cast<Opcode>((ARG0))); |
Definition at line 142 of file StackMachine.hpp.
#define PUSH_2 | ( | I, | |
II, | |||
XXX, | |||
ARG0, | |||
ARG1, | |||
... | |||
) |
Definition at line 144 of file StackMachine.hpp.
#define PUSH_3 | ( | I, | |
II, | |||
III, | |||
XXX, | |||
ARG0, | |||
ARG1, | |||
ARG2, | |||
... | |||
) |
Definition at line 147 of file StackMachine.hpp.
#define SELECT | ( | XXX, | |
_1, | |||
_2, | |||
_3, | |||
FN, | |||
... | |||
) | FN(__VA_ARGS__) |
Definition at line 135 of file StackMachine.hpp.