The SPITBOL project is pleased to announce that Unix SPITBOL 13.05 is now available.
It can be downloaded from http://spitbol.googlecode.com/files/spitbol-13.05.tar.gz.
This release includes versions of SPITBOL for both ASCII (8-bit characters) and Unicode (32-bit characters).
The Unicode version of SPITBOL (uspitbol) uses 32-bit characters internally. Character strings are converted from UTF-8 encoding to 32-bit characters when input from the command line, the operating system environment, a pipe, or a file opened in line mode. Character strings are converted from 32-bit characters to 8-bit characters in UTF-8 format when written to a file opened in line mode, a pipe, or when passed as an argument to an operating system procedure.
Program source files, which are read by SPITBOL in line mode, may thus contain UTF-8 format Unicode characters in strings and comments. Identifiers are still restricted to ASCII.
6 Comments
Wow, neat, I had wondered if this project was still active.
Why the move to google code?
Do you think of using savannah.gnu.org or savannah.nongnu.org as the case may be? I bet Spitbol could be accepted as a GNU project if you wanted for it to be one.
Dear Dave,
great progess – thank you. However, some errors may have crept in between the 3.8.21 and the 13.05 versions. While the 3.8.21 version compiles the following program correctly, the new one signals I/O-errors (cannot open files), where there should be none. This is true if the program writes a .spx runtime module or is executed directly.n Thus, something must have gone wrong with file I/O somwehere.
The longish program is (version with .spx creation):
http://www2.hsu-hh.de/hisalt/projects/downloads/betautf8.sno
It should write an .spx file:
spitbol -b -i512k -s512k betautf8.sno
and used like this:
spitbol -u “test.bet test.utf” betautf8.spx
on files like this:
~ Author: Polybius Hist.
~ File/No.: TLG0543
~ Work: Testimonium
3.1.1.1.2b,173,T.1.1 $@&POLYB. X 21, 2%10 $TOU= DE\ KAIROU= TOU= KATA\ TH\N DIH/GHSIN
3.1.1.1.2b,173,T.1.2 $E)FESTAKO/TOS H(MA=S E)PI\ TH\N A)RXH\N TW=N *FILOPOI/MENOS PRA/CEWN, KAQH/KEIN
3.1.1.1.2b,173,T.1.3 $H(GOU/MEQA, KAQA/PER KAI\ PERI\ TW=N A)/LLWN TW=N A)CIOLO/GWN A)NDRW=N TA\S
3.1.1.1.2b,173,T.1.4 $E(KA/STWN A)GWGA\S KAI\ FU/SEIS E)PEIRA/QHMEN U(PODEIKNU/NAI, KAI\ PERI\ TOU/TOU
3.1.1.1.2b,173,T.1.5 $POIH=SAI TO\ PARAPLH/SION. …. &[1`5]1 $EI) ME\N OU)=N MH\ KAT’ I)DI/AN E)PEPOIH/MEQA
3.1.1.1.2b,173,T.1.6 $TH\N PERI\ AU)TOU= SU/NTACIN, E)N H(=I DIESAFOU=MEN KAI\ TI/S H)=N KAI\ TI/NWN KAI\
3.1.1.1.2b,173,T.1.7 $TI/SIN A)GWGAI=S E)XRH/SATO NE/OS W)/N, A)NAGKAI=ON H)=N U(PE\R E(KA/STOU TW=N PROEIRH-
3.1.1.1.2b,173,T.1.8 $ME/NWN FE/REIN A)POLOGISMO/N. &[1`6]1 $E)PEI\ DE\ PRO/TERON E)N TRISI\N BIBLI/OIS E)KTO\S
3.1.1.1.2b,173,T.1.9 $TAU/THS TH=S SUNTA/CEWS TO\N U(PE\R AU)TOU= PEPOIH/MEQA LO/GON, TH/N TE PAIDIKH\N
3.1.1.1.2b,173,T.1.10 $A)GWGH\N DIASAFOU=NTES KAI\ TA\S E)PIFANESTA/TAS PRA/CEIS, &[1`7]1 $DH=LON W(S E)N
3.1.1.1.2b,173,T.1.11 $TH=I NU=N E)CHGH/SEI PRE/PON A)\N EI)/H TH=S ME\N NEWTERIKH=S A)GWGH=S KAI\ TW=N NEW-
3.1.1.1.2b,173,T.1.12 $TERIKW=N ZH/LWN KATA\ ME/ROS A)FELEI=N, TOI=S DE\ KATA\ TH\N A)KMH\N AU)TOU= KEFA-
3.1.1.1.2b,173,T.1.13 $LAIWDW=S E)KEI= DEDHLWME/NOIS E)/RGOIS PROSQEI=NAI KAI\ KATA\ ME/ROS, I(/NA TO\
3.1.1.1.2b,173,T.1.14 $PRE/PON E(KATE/RAI TW=N SUNTA/CEWN THRW=MEN. &[1`8]1 $W(/SPER GA\R E)KEI=NOS O( TO/POS
3.1.1.1.2b,173,T.1.15 $U(PA/RXWN E)GKWMIASTIKO\S A)PH/ITEI TO\N KEFALAIW/DH KAI\ MET’ AU)CH/SEWS TW=N
3.1.1.1.2b,173,T.1.16 $PRA/CEWN A)POLOGISMO/N, OU(/TWS O( TH=S I(STORI/AS, KOINO\S W)\N E)PAI/NOU KAI\
3.1.1.1.2b,173,T.1.17 $YO/GOU, ZHTEI= TO\N A)LHQH= KAI\ TO\N MET’ A)PODEI/CEWS KAI\ TW=N E(KA/STOIS PARE-
3.1.1.1.2b,173,T.1.18 $POME/NWN SULLOGISMW=N.
3.1.1.1.2b,173,T.2.1 $@&CIC. Epp. ad. fam. V 12, 2%10 &3….. ut multi Graeci fecerunt,
3.1.1.1.2b,173,T.2.2 $&3Callisthenes &[1`124 T 25]1 &3Phocicum bellum, Timaeus &[1III]1 &3Pyrrhi, Polybius
3.1.1.1.2b,173,T.2.3 $&3Numantinum, qui omnes a perpetuis suis historiis ea quae dixi bella
3.1.1.1.2b,173,T.2.4 $&3separaverunt. @1
##########################################
end of data
##########################################
Instead, it signals incapacity to open files. This is not so with the older compiler.
If in line 2081, you comment out the writing of an .spx file and use the program as such, the result
remains the same.
Something must have crept in which interferes with the opening of files, I guess.
Nevertheless: Spitbol is as such already a very fast and reliable implementation (3.8.21). What has to be done to add external functions? I would very much like to have loading of external functions, I admit.
Thank you for your devotion to SPITBOL and for your work on it!
Best wishes
Burkhard Meissner
Dear Dave,
one of the reasons for file I/O going wrong is that the -m and -n parameters to the INPUT() and OUTPU() functions have disappeared. [e.d.: INPUT(.in,1,”textfile.txt [ -m13 -n10 -l8000]”).
Will they be re-ontroduced?
Could you, at some stage, sketch a callextfun aseembly function to call external functions?
Thank you very much
Keep up good work
Burkhard
Dear Dave,
the second reason for file I/O to go wrong with the new system as opposed to older versions is that opening files for I/O in save files (.spx) seems to work differently from opening them in programs running directly as spitbol programs (.spt files). I/O which works when the program is run without writing an .spx file does not work once an .spx file has been written. Of course, in both cases the files are opened at a position AFTER writing the .spx file. That is: In save files file I/O seems to have errors.
Dear Dave,
the error with save files must have crept in with version 13.01, because there it is manifest. In 13.05 there is also something wrong with the i/o of not-saved programs.
Burkhard