mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 04:13:03 +00:00
Use colors to show the counterexamples and the derivations in color,
to highlight their structure. Align the outputs, and add i18n
support. Reduce width by using a one-space separator instead of
two-space.
From
Example A • B C
First derivation s ::=[ a ::=[ A • ] x ::=[ B C ] ]
Second derivation s ::=[ y ::=[ A • B ] c ::=[ C ] ]
to
Example A • B C
First derivation s ::=[ a ::=[ A • ] x ::=[ B C ] ]
Example A • B C
Second derivation s ::=[ y ::=[ A • B ] c ::=[ C ] ]
with colors.
* data/bison-default.css (cex-dot, cex-0, cex-1, cex-2, cex-3, cex-4)
(cex-5, cex-6, cex-7, cex-step, cex-leaf): New.
* src/derivation.c (derivation_print_styled_impl): New.
(derivation_print, derivation_print_leaves): Use it.
* src/counterexample.c: Reformat the output.
* tests/counterexample.at: Adjust.
58 lines
1.7 KiB
CSS
58 lines
1.7 KiB
CSS
/* Default styling rules for Bison when doing terminal output.
|
|
Copyright (C) 2019-2020 Free Software Foundation, Inc.
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
|
|
|
/* This is an experimental feature. The class names may change in the
|
|
future. */
|
|
|
|
/* Diagnostics. */
|
|
.warning { color: purple; }
|
|
.error { color: red; }
|
|
.note { color: cyan; }
|
|
|
|
.fixit-insert { color: green; }
|
|
|
|
/* Semantic values in Bison's own parser traces. */
|
|
.value { color: green; }
|
|
|
|
/* "Sections" in traces (--trace). */
|
|
.trace0 { color: green; }
|
|
|
|
/* Syntax error messages. */
|
|
.expected { color: green; }
|
|
.unexpected { color: red; }
|
|
|
|
|
|
/* Counterexamples. */
|
|
|
|
/* Cex: point in rule. */
|
|
.cex-dot { color: red; }
|
|
|
|
/* Cex: coloring various rules. */
|
|
.cex-0 { color: yellow; }
|
|
.cex-1 { color: green; }
|
|
.cex-2 { color: blue; }
|
|
.cex-3 { color: cobalt; }
|
|
.cex-4 { color: violet; }
|
|
.cex-5 { color: orange; }
|
|
.cex-6 { color: brown; }
|
|
.cex-7 { color: mauve; }
|
|
|
|
/* Cex: derivation rewriting steps. */
|
|
.cex-step { font-style: italic; }
|
|
|
|
/* Cex: leaves of a derivation. */
|
|
.cex-leaf { font-weight: 600; }
|