Add more accepting state information to dot output
This commit is contained in:
parent
329f58bd89
commit
80fa3383fd
|
@ -14,12 +14,15 @@ namespace lxs {
|
||||||
|
|
||||||
for (State state = 0; state < d.numStates; state++)
|
for (State state = 0; state < d.numStates; state++)
|
||||||
{
|
{
|
||||||
s += std::to_string(state) + " [label=\"" + std::to_string(state) + "\"";
|
std::string label = std::to_string(state);
|
||||||
|
s += std::to_string(state) + " [";
|
||||||
if (state == d.starting)
|
if (state == d.starting)
|
||||||
s += " color=yellow";
|
s += "color=yellow";
|
||||||
if (d.accepting.count(state) > 0)
|
if (d.accepting.count(state) > 0) {
|
||||||
s += " color=green shape=doublecircle";
|
s += "color=green shape=doublecircle";
|
||||||
s += "]\n";
|
label += "\\np=" + std::to_string(d.priority.find(state)->second) + "\\nac=" + d.acceptingToken.find(state)->second;
|
||||||
|
}
|
||||||
|
s += " label=\"" + label + "\"]\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const auto& tmp : d.delta)
|
for (const auto& tmp : d.delta)
|
||||||
|
@ -41,12 +44,15 @@ namespace lxs {
|
||||||
|
|
||||||
for (State state = 0; state < n.numStates; state++)
|
for (State state = 0; state < n.numStates; state++)
|
||||||
{
|
{
|
||||||
s += std::to_string(state) + " [label=\"" + std::to_string(state) + "\"";
|
std::string label = std::to_string(state);
|
||||||
|
s += std::to_string(state) + " [";
|
||||||
if (state == n.starting)
|
if (state == n.starting)
|
||||||
s += " color=yellow";
|
s += "color=yellow";
|
||||||
if (n.accepting.count(state) > 0)
|
if (n.accepting.count(state) > 0) {
|
||||||
s += " color=green shape=doublecircle";
|
s += "color=green shape=doublecircle";
|
||||||
s += "]\n";
|
label += "\\np=" + std::to_string(n.priority.find(state)->second) + "\\nac=" + n.acceptingToken.find(state)->second;
|
||||||
|
}
|
||||||
|
s += " label=\"" + label + "\"]\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const auto& tmp : n.delta)
|
for (const auto& tmp : n.delta)
|
||||||
|
@ -69,12 +75,15 @@ namespace lxs {
|
||||||
|
|
||||||
for (State state = 0; state < e.numStates; state++)
|
for (State state = 0; state < e.numStates; state++)
|
||||||
{
|
{
|
||||||
s += std::to_string(state) + " [label=\"" + std::to_string(state) + "\"";
|
std::string label = std::to_string(state);
|
||||||
|
s += std::to_string(state) + " [";
|
||||||
if (state == e.starting)
|
if (state == e.starting)
|
||||||
s += " color=yellow";
|
s += "color=yellow";
|
||||||
if (e.accepting.count(state) > 0)
|
if (e.accepting.count(state) > 0) {
|
||||||
s += " color=green shape=doublecircle";
|
s += "color=green shape=doublecircle";
|
||||||
s += "]\n";
|
label += "\\np=" + std::to_string(e.priority.find(state)->second) + "\\nac=" + e.acceptingToken.find(state)->second;
|
||||||
|
}
|
||||||
|
s += " label=\"" + label + "\"]\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const auto& tmp : e.delta)
|
for (const auto& tmp : e.delta)
|
||||||
|
|
Loading…
Reference in New Issue