Struct Anchor

Struct Documentation

struct sgpl::global::Anchor

Marks a module-begin position.

Based on tag-lookup, new cores or global jump instructions may set the program counter to this instruction’s program position.

This instruction can also mark a module-end position executing this instruction can terminate the executing core. If no local anchor instruction is present between the current global anchor instruction and the preceding global anchor instruction, this operation will not terminate the executing core. (This way, several global anchors may lead into the same module.)

However, if a local anchor instruction is present between the current global anchor instruction and the preceding global anchor instruction, this operation will terminate the executing core. Local jump instructions will only consider local anchors between the preceding global anchor and the subsequent global anchor instruction.

Public Static Functions

template<typename Spec>
void run(sgpl::Core<Spec> &core, const sgpl::Instruction<Spec>&, const sgpl::Program<Spec> &program, typename Spec::peripheral_t &peripheral) noexcept
std::string name()
size_t prevalence()
template<typename Spec>
auto descriptors(const sgpl::Instruction<Spec> &inst)
template<typename Spec>
std::set<std::string> categories(const sgpl::Instruction<Spec>&)