diff --git a/src/tgba/acc.cc b/src/tgba/acc.cc index 2c02a83c4..eded9e16c 100644 --- a/src/tgba/acc.cc +++ b/src/tgba/acc.cc @@ -88,6 +88,9 @@ namespace spot } else { + if (!top) + // Avoid extra parentheses if there is only one set + top = code[pos - 1].mark.count() == 1; unsigned level = 0; const char* and_ = ""; if (!top) @@ -118,6 +121,9 @@ namespace spot } else { + if (!top) + // Avoid extra parentheses if there is only one set + top = code[pos - 1].mark.count() == 1; unsigned level = 0; const char* or_ = ""; if (!top) diff --git a/src/tgbatest/acc.test b/src/tgbatest/acc.test index bab703707..c0fb7b2a3 100755 --- a/src/tgbatest/acc.test +++ b/src/tgbatest/acc.test @@ -60,10 +60,10 @@ stripping #1: {4} #1: {2} 2 Inf(0)&Inf(1)&Inf(3) -5 (Fin(2)) | (Inf(0)&Inf(1)&Inf(3)) -7 (Fin(0)) | (Fin(2)) | (Inf(0)&Inf(1)&Inf(3)) -7 (Fin(0)) | (Fin(2)) | (Inf(0)&Inf(1)&Inf(3)) -7 (Fin(0)) | (Fin(2)) | (Inf(0)&Inf(1)&Inf(3)) +5 Fin(2) | (Inf(0)&Inf(1)&Inf(3)) +7 Fin(0) | Fin(2) | (Inf(0)&Inf(1)&Inf(3)) +7 Fin(0) | Fin(2) | (Inf(0)&Inf(1)&Inf(3)) +7 Fin(0) | Fin(2) | (Inf(0)&Inf(1)&Inf(3)) 2 f EOF