A programming language for manipulation of streams.
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 

17 строки
671 B

#include "tool.h"
#include "drop_if.hpp"
#include "inputs.hpp"
#include "parse_tool.h"
#include "base.hpp"
std::optional<std::shared_ptr<tool> > mktool(std::string toolname, tool_env env)
{
if(toolname=="identity") return std::make_shared<identity>(env);
if(toolname=="echo") return std::make_shared<echo>(env);
if(toolname=="pipe") return std::make_shared<pipe>(env);
if(toolname=="filter_numbers") return std::make_shared<filter_numbers>(env);
if(toolname=="filter_in") return std::make_shared<filter_in>(env);
if(toolname=="fin") return std::make_shared<file_lines>(env);
if(toolname=="stdin") return std::make_shared<stdin_lines>(env);
return std::nullopt;
}