pslang/libs/interpreter/source/context.cpp

30 lines
585 B
C++

#include <pslang/interpreter/context.hpp>
#include <pslang/type/print.hpp>
namespace pslang::interpreter
{
context empty_context()
{
context result;
result.scope_stack.emplace_back();
return result;
}
void dump(std::ostream & out, context const & context)
{
for (auto const & scope : context.scope_stack)
{
for (auto const & variable : scope.variables)
{
out << variable.first << " = ";
print(out, variable.second.value);
out << " (";
type::print(out, type_of(variable.second.value));
out << ")\n";
}
}
std::cout << std::flush;
}
}