I promised the first release of SPITBOL for Linux by the end of the month.
Here you go:
You can follow the project as @spitbol at twitter.
Fantastic! I was a big SPITBOL (and SNOBOL) fan in the 1970s. We used it at Wayne State University on various 360/370 machines running MTS.
Thank you, thank you, thank you!
I tried it on a Linux 2.6 box used by my hosting provider, and it worked right out of the box. Uname on the machine returns the following:
Linux peavey 188.8.131.52-grsec-2.1.14-modsign-xeon-64 #2 SMP Sat Mar 13 00:42:43 PST 2010 x86_64 GNU/Linux
I know you have many plans in the pipeline, but could you also release the MINIMAL specification? I’ve tried unsuccessful to search for it online. It would be very helpful for future maintainers as the current MINIMAL source, which is very well commented, does not describe the MINIMAL machine architecture nor instruction set.
And the other thing that would be very helpful to the community and future maintainers, is the SPITBOL PC / Windows port source (which could be GPL’ed).
Once again, thanks for yours and Mark Emmer’s untiring efforts.
Oops! It looks like the MINIMAL source (both v3.7 and v3.8) does describe the virtual machine and its instruction set! Mea culpa!
However, from the SPITBOL v3.7 archive on googlecode, it appears the source is for the SPARC version.
What isn’t available in either the SPARC or Linux source distributions currently available (unless I’ve again missed something!) are the Windows/x86 specific stuff, presumably the cod386.spt (or something like that), and also the OS-specific interfaces. Would be really great if you or Mark would be able to open-source those as well.
I can hack x86 assembly (rather badly!), but certainly can’t do anything approaching what is required to write a compiler backend / code generator.
Clicked the tgz link and it gave 404 message.
well I have downloaded the linux version and tried to install. I followed instructions, tryonh to run it had no effect, so ran the make commands as it say. Got an eror message basically saying tcc: command not found.
I can’t even find out at the moment for sure what tcc is….
The master branch at github is broken. I’m in the midst of a massive cleanup/refactoring, and change from gnu gas to nasm as the preferred assembler. I hope to have things sorted out in a few days, but I’ve been saying that myself every day for the last month or so. I’ll keep plugging on …
Thanks dave, I found the other download and that worked.
I am having problems running samples though – keeps telling me there is no END statement, even though there clearly is. I created a small sample myself and that worked as expected. So not sure what s going on there.
Be patient. Things will get better soon, at least on the SPITBOL front. I’ll announce new version here as soon as it is ready.
Any update on the next release?
The next release will be out by 12/08/2012 (my next birthday).
good progress. SPITBOL is superb and up to 3.8.21 compiles well. 3.8.3, which uses tcc as compiler (x64), however, seems to be a mess: It ends up with some .o files in 32, others in 64 bit lengths. Assembling using elf32 or elf (instead of elf64) does not help – it does not work, compiling the .c code with 64 bits fails quite often; once I got a working copy in 64 bit, but it produces memory access errors. 32 bit cannot be compiled. Something seems to go wrong here
Thanks for the kind words.
The 64-bit version is a work in progress. I was able to get it to compile, but it crashes when entering the MINIMAL code.
I see the problem. I thought x64 was just the “obvious” extension of x32, but I see now that the AMD folks, who wanted to add 64-bit while also supporting compatibility modes to allow 32-bit code to be run, created a more complex architecture than I had expected.
Simply put, I need to learn x64 assembly code before I can generate it properly!
I’ll keep you posted.
Fill in your details below or click an icon to log in:
You are commenting using your WordPress.com account. ( Log Out / Change )
You are commenting using your Twitter account. ( Log Out / Change )
You are commenting using your Facebook account. ( Log Out / Change )
You are commenting using your Google+ account. ( Log Out / Change )
Connecting to %s
Notify me of new comments via email.
Notify me of new posts via email.