Successfully compiling Sather

Guy <[email protected]> Thu, 9 Sep 2021 02:57:39 -0500
Newsgroups gmane.comp.lang.sather.bugs
Message-ID <[email protected]>
This message was originally in response to the last email sent on the =
mailing list back in November of 2019 regarding a compilation issue. I =
realized that I only replied to their personal email directly and wanted =
to make this visible to anyone else who happened to come across the same =
problem:

Hi. I assume it is likely that your interest in this issue is long gone, =
as this reply is nearly 2 years after your original email, but just =
incase it isn=92t (and to anyone who might come across this in the =
future)=85 After having used Ada and Pascal for awhile and appreciating =
their alternate syntax, I eventually came across Sather as a result. I =
realized quite soon though, that this language (or at least this =
implementation of it) had not been touched in quite a long time, which =
basically resulted in me putting it out of my mind completely due to the =
very rare chance that it would still be sanely usable in any form today. =
I also tried to compile the compiler around 4 months ago and was met =
with the same error that you had shared previously. Today, I happened to =
attempt it again for various reasons and was surprisingly able to =
successfully compile the compiler, and more importantly, use the =
resulting Sather compiler to produce a working Sather program that =
printed text to standard output.

Since GCC has changed a lot since 2007, the problem seems to be caused =
by it adding C-style multi-line comments to the System/Common/CONFIG =
file in the Sather source directory, with CONFIG being a Sather source =
code file itself and not one for C, resulting in (what seems to the =
bootstrap compiler?) producing the syntax error =93expected an UID =
followed by a =91:=92=94. I used the same, last stable version that you =
did (1.2.3), and when you reach the point of compilation when that error =
arises, open up the file it complains about in a text editor, and remove =
all of the comments surrounded by /* */. Afterwards, it should hopefully =
continue until completion (it=92s not a very long compilation process). =
I=92m not exactly sure what operating system you were originally trying =
to compile it on, but I was using Debian 10, with the only dependency =
that I needed to explicitly install being libgc-dev . As there doesn=92t =
seems to be a make rule for installing, you can move or copy the =
System/, Library/, pLibrary/ and Bin/ directories to /usr/lib/sather =
(what seems to be the original installation path), and set the =
environment variable SATHER_HOME to /usr/lib/sather. Once you add =
Sather=92s Bin/ path to your PATH environment variable, running sacomp =
(the main compiler) should work and produce an executable from a Sather =
source file, albeit with warnings from GCC (as Sather is transpiled to C =
first).

If anyone else comes across this, you are welcome to reply. I feel quite =
lucky for stumbling across this rather simple solution, as I really =
don=92t have any experience with C, so if any more complex errors =
eventually arise, we may get stuck again. However, I would be very =
pleased to see this project get attention again, from whoever that may =
be, although that is probably unlikely.

Thank you to the original developers of this language and to those apart =
of GNU for keeping it=92s source code and documentation available =
despite there being little to no interest for so long.=