From 8f1a3aa2703777d1823ac804b4182b3679d53591 Mon Sep 17 00:00:00 2001 From: Robin Sommer Date: Wed, 2 Dec 2020 12:00:25 +0000 Subject: [PATCH] Fix Sphinx helper script that emits command lines. When an example contained multiple commands separated by semicolons, we'd execute them separately but still include all of them into each of the command lines emitted into the docs. (Couple of doc outputs show slightly changed content, including updates into this commit.) --- .../examples/_parse-backtrack.spicy.output | 4 ++-- doc/programming/examples/_parse-if.spicy.output | 4 ++-- .../examples/_parse-random-access.spicy.output | Bin 266 -> 278 bytes .../examples/_parse-switch-lhead-2.spicy.output | 4 ++-- .../examples/_parse-switch.spicy.output | 4 ++-- .../examples/_parse-unit-params.spicy.output | 2 +- .../examples/_unit-params.spicy.output | 2 +- doc/scripts/spicy.py | 10 ++++++++-- 8 files changed, 18 insertions(+), 12 deletions(-) diff --git a/doc/programming/examples/_parse-backtrack.spicy.output b/doc/programming/examples/_parse-backtrack.spicy.output index 4d95477ca..5246eee5a 100644 --- a/doc/programming/examples/_parse-backtrack.spicy.output +++ b/doc/programming/examples/_parse-backtrack.spicy.output @@ -1,6 +1,6 @@ # Automatically generated; do not edit. -- printf '\001\002\003\004' | spicy-driver %INPUT; printf '\003\004' | spicy-driver %INPUT/printf '\001\002\003\004' | spicy-driver %INPUT; printf '\003\004' | spicy-driver %INPUT/False -# printf '\001\002\003\004' | spicy-driver backtrack.spicy; printf '\003\004' | spicy-driver backtrack.spicy +# printf '\001\002\003\004' | spicy-driver backtrack.spicy [$foo=[$a=1, $b=2], $bar=[$a=3, $b=4]] -# printf '\001\002\003\004' | spicy-driver backtrack.spicy; printf '\003\004' | spicy-driver backtrack.spicy +# printf '\003\004' | spicy-driver backtrack.spicy [$foo=[$a=3, $b=(not set)], $bar=[$a=3, $b=4]] diff --git a/doc/programming/examples/_parse-if.spicy.output b/doc/programming/examples/_parse-if.spicy.output index dd492b13b..43797fac6 100644 --- a/doc/programming/examples/_parse-if.spicy.output +++ b/doc/programming/examples/_parse-if.spicy.output @@ -1,6 +1,6 @@ # Automatically generated; do not edit. -- printf '\01\02\03\04' | spicy-driver %INPUT; printf '\02\02\03\04' | spicy-driver %INPUT/printf '\01\02\03\04' | spicy-driver %INPUT; printf '\02\02\03\04' | spicy-driver %INPUT/False -# printf '\01\02\03\04' | spicy-driver foo.spicy; printf '\02\02\03\04' | spicy-driver foo.spicy +# printf '\01\02\03\04' | spicy-driver foo.spicy [$a=1, $b=2, $c=(not set), $d=3] -# printf '\01\02\03\04' | spicy-driver foo.spicy; printf '\02\02\03\04' | spicy-driver foo.spicy +# printf '\02\02\03\04' | spicy-driver foo.spicy [$a=2, $b=(not set), $c=2, $d=3] diff --git a/doc/programming/examples/_parse-random-access.spicy.output b/doc/programming/examples/_parse-random-access.spicy.output index 8af340a5682feac7a0809b448a8e872c16e7d069..47ee6266b9dbd743021861db5b256018176ad48b 100644 GIT binary patch delta 28 acmeBTn#Qz&iBTk`!oUCt8!FkwasdEw3kQS% delta 16 XcmbQn)Wx)ciIIbWfq_xUE|v=b8|MP3 diff --git a/doc/programming/examples/_parse-switch-lhead-2.spicy.output b/doc/programming/examples/_parse-switch-lhead-2.spicy.output index 43f529d99..255e8c330 100644 --- a/doc/programming/examples/_parse-switch-lhead-2.spicy.output +++ b/doc/programming/examples/_parse-switch-lhead-2.spicy.output @@ -1,6 +1,6 @@ # Automatically generated; do not edit. -- printf 'A ' | spicy-driver %INPUT; printf '\377\377' | spicy-driver %INPUT/printf 'A ' | spicy-driver %INPUT; printf '\377\377' | spicy-driver %INPUT/False -# printf 'A ' | spicy-driver foo.spicy; printf '\377\377' | spicy-driver foo.spicy +# printf 'A ' | spicy-driver foo.spicy [$a=[$a=b"A"], $b=(not set)] -# printf 'A ' | spicy-driver foo.spicy; printf '\377\377' | spicy-driver foo.spicy +# printf '\377\377' | spicy-driver foo.spicy [$a=(not set), $b=[$b=65535]] diff --git a/doc/programming/examples/_parse-switch.spicy.output b/doc/programming/examples/_parse-switch.spicy.output index 25b125c16..42a5926d9 100644 --- a/doc/programming/examples/_parse-switch.spicy.output +++ b/doc/programming/examples/_parse-switch.spicy.output @@ -1,6 +1,6 @@ # Automatically generated; do not edit. -- printf 'A\01' | spicy-driver %INPUT; printf 'B\01\02' | spicy-driver %INPUT/printf 'A\01' | spicy-driver %INPUT; printf 'B\01\02' | spicy-driver %INPUT/False -# printf 'A\01' | spicy-driver foo.spicy; printf 'B\01\02' | spicy-driver foo.spicy +# printf 'A\01' | spicy-driver foo.spicy [$x=b"A", $a8=1, $a16=(not set), $a32=(not set)] -# printf 'A\01' | spicy-driver foo.spicy; printf 'B\01\02' | spicy-driver foo.spicy +# printf 'B\01\02' | spicy-driver foo.spicy [$x=b"B", $a8=(not set), $a16=258, $a32=(not set)] diff --git a/doc/programming/examples/_parse-unit-params.spicy.output b/doc/programming/examples/_parse-unit-params.spicy.output index 43f0acfd0..785825e8d 100644 --- a/doc/programming/examples/_parse-unit-params.spicy.output +++ b/doc/programming/examples/_parse-unit-params.spicy.output @@ -1,4 +1,4 @@ # Automatically generated; do not edit. -- printf '\01\02' | spicy-driver %INPUT/printf '\01\02' | spicy-driver %INPUT/False # printf '\01\02' | spicy-driver foo.spicy -"Spicy": 1 +Spicy: 1 [$y=[$x=1]] diff --git a/doc/programming/examples/_unit-params.spicy.output b/doc/programming/examples/_unit-params.spicy.output index 5d37bcfbf..d44bee7ca 100644 --- a/doc/programming/examples/_unit-params.spicy.output +++ b/doc/programming/examples/_unit-params.spicy.output @@ -1,3 +1,3 @@ # Automatically generated; do not edit. -- printf '\05' | spicy-driver %INPUT/printf '\05' | spicy-driver %INPUT/False # printf '\05' | spicy-driver foo.spicy -"My multiplied integer": 25 +My multiplied integer: 25 diff --git a/doc/scripts/spicy.py b/doc/scripts/spicy.py index fe64c5480..44af17874 100644 --- a/doc/scripts/spicy.py +++ b/doc/scripts/spicy.py @@ -384,6 +384,10 @@ def update(self, source, destination, cmd): all_good = True first = True + show_as = [] + if self.show_as: + show_as = self.show_as.split(";") + for one_cmd in cmd.split(";"): one_cmd = one_cmd.strip() @@ -418,12 +422,14 @@ def update(self, source, destination, cmd): out = open(destination, "ab") out.write(b"\n") - if self.show_as: - one_cmd = "# %s\n" % self.show_as + if show_as: + one_cmd = "# %s\n" % show_as[0].strip() one_cmd = one_cmd.replace("%INPUT", self.show_with) output = output.replace( source.encode(), self.show_with.encode()) out.write(one_cmd.encode()) + show_as = show_as[1:] + out.write(output) out.close() first = False