Newer
Older
Transition::Transition(const std::string & name)
{
this->name = name;
std::regex writeRegex("WRITE ([bs])\\.(.+) (.+) (.+)");
std::smatch sm;
try
{
std::regex_match(name, sm, writeRegex);
if (!sm.empty())
{
sequence.emplace_back(Action::addHypothesisRelative(sm[3], Action::str2object(sm[1]), std::stoi(sm[2]), sm[4]));
return;
}
throw std::exception();
} catch (std::exception &) {util::myThrow(fmt::format("Invalid name '{}'", name));}
}