25 lines
563 B
C++
25 lines
563 B
C++
#pragma once
|
|
#include "Common.h"
|
|
|
|
#include "Parser.h"
|
|
#include "Environment.h"
|
|
|
|
#include <sstream>
|
|
|
|
namespace NVL::Compiler {
|
|
struct _DirectedGraphNode {
|
|
Vector<Vector<Environment::Variable>> sequence;
|
|
};
|
|
|
|
struct NVLGraph {
|
|
Vector<_DirectedGraphNode> nodes;
|
|
Vector<String> static_refs;
|
|
};
|
|
|
|
Environment::Variable StaticEval(Vector<String>& refs, const Parse::Object& obj);
|
|
|
|
NVLGraph Compile(const Vector<Parse::Scene>& scenes, i32 entry_scene_index);
|
|
|
|
std::ostringstream Serialize(const NVLGraph& g);
|
|
NVLGraph Deserialize(std::istringstream& buf);
|
|
}
|