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")


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



https://github.com/spitbol/x64
http://snobol4.com/
http://www.snobol4.org/

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)





#  Local Variables:
#  coding:               utf-8-unix
#  End: