|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
#######
#
# E-scripts on snobol4.
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
# An introduction to eev can be found here:
#
# (find-eev-quick-intro)
# http://angg.twu.net/eev-intros/find-eev-quick-intro.html
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/e/snobol4.e>
# or at <http://angg.twu.net/e/snobol4.e.html>.
# See also <http://angg.twu.net/emacs.html>,
# <http://angg.twu.net/.emacs[.html]>,
# <http://angg.twu.net/.zshrc[.html]>,
# <http://angg.twu.net/escripts.html>,
# and <http://angg.twu.net/>.
#
#######
# «.snobol4-2.0» (to "snobol4-2.0")
# «.snobol4-1.5» (to "snobol4-1.5")
# «.spitbol-x64» (to "spitbol-x64")
ftp://ftp.cs.arizona.edu/snobol/gb.pdf
snobol4 green book
https://sourceforge.net/projects/snobol4/
http://www.regressive.org/snobol4/
#####
#
# snobol4-2.0
# 2022oct10
#
#####
# «snobol4-2.0» (to ".snobol4-2.0")
# https://sourceforge.net/projects/snobol4/
# https://sourceforge.net/projects/snobol4/files/latest/download
# https://sourceforge.net/projects/snobol4/files/snobol4-2.0.tar.gz (fake url)
# https://vulms.vu.edu.pk/Courses/CS508/Downloads/How%20to%20run%20SNOBOL%20on%20Ubuntu.pdf
# (find-fline "~/LOGS/2022oct10.emacs" "<pjb> edrx: it's benign:")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# (find-fline "~/usrc/snobol4-2.0/")
rm -Rv ~/usrc/snobol4-2.0/
mkdir ~/usrc/snobol4-2.0/
tar -C ~/usrc -xvzf $S/https/sourceforge.net/projects/snobol4/files/snobol4-2.0.tar.gz
cd ~/usrc/snobol4-2.0/
patch include/macros.h <<'%%%'
208c208
< #define NORET ((ptr_t)_NORET)
---
> #define NORET _Noreturn
%%%
make |& tee om
make CFLAGS=-D_NORET=_Noreturn |& tee om
make CFLAGS=-D_NORET |& tee om
grep CFLAGS *
make |& tee om
make CFLAGS=-D_NORET |& tee om
<pjb> edrx: it's benign: add a CFLAGS=-D_NORET or
CFLAGS=-D_NORET=_Noreturn
cd ~/usrc/snobol4-2.0/
cd ~/usrc/snobol4-2.0/
diff include/macros.h include/macros.h~
# (code-c-d "snobol4" "~/usrc/snobol4-2.0/")
# (find-snobol4file "")
# (find-snobol4sh "find * | sort")
# (find-snobol4file "include/macros.h")
# (find-snobol4file "include/macros.h" "#define NORET")
# (find-snobol4file "README")
# (find-snobol4file "http://www.snobol4.org/csnobol4")
# (find-snobol4grep "grep --color=auto -nH --null -e CFLAGS *")
# (find-snobol4grep "grep --color=auto -nH --null -e NORET *")
#####
#
# snobol4-1.5
# 2014aug23
#
#####
# «snobol4-1.5» (to ".snobol4-1.5")
# http://www.snobol4.org/
# http://www.snobol4.org/csnobol4/curr/
# ftp://ftp.ultimate.com/snobol/snobol4-1.5.tar.gz
# https://src.fedoraproject.org/lookaside/pkgs/snobol/snobol4-1.5.tar.gz/54ac3ddd51fb34ec63b1eb0ae7b99794/snobol4-1.5.tar.gz
# https://vulms.vu.edu.pk/Courses/CS508/Downloads/How%20to%20run%20SNOBOL%20on%20Ubuntu.pdf
# (find-fline "~/LOGS/2022oct10.emacs" "<pjb> edrx: it's benign:")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rv ~/usrc/snobol4-1.5/
tar -C ~/usrc/ -xvzf $S/ftp/ftp.ultimate.com/snobol/snobol4-1.5.tar.gz
cd ~/usrc/snobol4-1.5/
patch include/macros.h <<'%%%'
196c196
< #define NORET ((ptr_t)_NORET)
---
> /* #define NORET ((ptr_t)_NORET) */
%%%
make CFLAGS=-D_NORET=_Noreturn |& tee om
make CFLAGS=-D_NORET |& tee om
make |& tee om
#*
# (code-c-d "snobol4" "~/usrc/snobol4-1.5/")
# (find-snobol4file "")
# (find-snobol4sh "find *")
# (find-snobol4file "include/macros.h")
# (find-snobol4file "include/macros.h" "#define NORET")
# (find-snobol4grep "grep --color=auto -nH --null -e _NORET *")
# (find-snobol4grep "grep --color=auto -nRH --null -e NORET *")
# (find-snobol4grep "grep --color=auto -nH --null -e '#define _NORET' *")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
~/usrc/snobol4-1.5/snobol4
#####
#
# spitbol-x64
# 2024nov30
#
#####
# «spitbol-x64» (to ".spitbol-x64")
# https://github.com/spitbol/x64
# https://github.com/spitbol/spitbol-docs
# (find-git-links "https://github.com/spitbol/x64" "x64")
# (code-c-d "x64" "~/usrc/x64/")
# (find-x64file "")
# (find-x64file "README.md")
# (find-x64file "README.md" "## Building SPITBOL")
# (find-x64file "demos/")
# (find-x64file "demos/eliza.sbl")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/usrc/x64/
./bin/sbl test/hello.sbl
make clean
make
./sbl test/hello.sbl
./sanity-check
# ./bin/sbl: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./bin/sbl)
# ./bin/sbl: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./bin/sbl)
https://github.com/rhaberkorn/lspipat
https://github.com/rhaberkorn/lspipat/blob/master/doc/pattern.txt
# (find-git-links "https://github.com/rhaberkorn/lspipat" "lspipat")
# (code-c-d "lspipat" "~/usrc/lspipat/")
# (find-lspipatfile "")
# (find-lspipatfile "doc/pattern.txt")
# (find-lspipatfile "src/")
# (find-lspipatfile "src/lspipat.lua")
https://code.google.com/archive/p/spitbol/downloads
https://news.ycombinator.com/item?id=35800936 SNOBOL (“StriNg Oriented and SymBOlic Language”) (wikipedia.org) - PEG - Douglas Maurer
https://raganwald.com/assets/snobol-green-book.pdf
https://dl.acm.org/doi/pdf/10.1145/987452.987458 ELIZA IN SNOBOL4
https://news.ycombinator.com/item?id=41889284 Eliza in SNOBOL4 (acm.org)
http://snobol4.com/
http://www.snobol4.org/
https://blog.proton.gay/posts/snobol.html
https://github.com/spitbol/x64/
https://github.com/setl4
https://github.com/setl4/setl4 SETL4 - An Implementation of SETL Written in SPITBOL
# Local Variables:
# coding: utf-8-unix
# End: