NouVeL/NVL/Director.h

26 lines
579 B
C
Raw Normal View History

#pragma once
#include "Common.h"
#include "Compiler.h"
#include "Environment.h"
namespace NVL::Director {
class Director {
private:
u64 current_position{};
const Compiler::_DirectedGraphNode& current_node{};
const Compiler::NVLGraph& g{};
Vector<Environment::Variable> resolve{};
Environment::Variable CollectVariable(const Environment::Variable& v);
public:
const String& description;
bool active = false;
Director() = delete;
Director(const Compiler::NVLGraph& g);
void Advance();
void GetBacklog();
void Save();
void Load();
void Jump();
};
}