Does anyone know what the meaning/origin of "//GO.SYSIN DD" in
bundle(1) is? I've seen this on other unix-likes as well, but I
thought I'd ask here since the awareness of historical context seems
to be quite a bit above average on this list.
Thanks, Sander.
-rob
Wow, never thought I'd see that again in my lifetime :)
It's from JCL (Job Control Language) from IBM mainframes,
in short, the "statement" in your subject involved a way
to specify where your "default" input was coming from
(it had/has other attributes you could add to the line to
say more about the file etc). Dunno why it's coming along
here but probably some sort of emulator or something similar.
--
Greg Comeau / 4.3.10.1 with C++0xisms now in beta!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
Thanks for the context.
Greetings, Sander.
the actual correct usage is
//GO.SYSIN DD *
but of course the * would make things messy.
See this and realize this stuff is still being taught!
http://www.coba.unt.edu/itds/courses/bcis3690/bcis3690.htm
ron
Thanks,
Roman.
Roman V. Shaposhnik escribió:
if invented today, it would be called cobolscript.
- erik
the Job Control Language for System/360
if you follow the link i gave you'll see more.
bundles are implemented by here documents,
and the end marker for the document must not appear
in the data, and IBM JCL syntax (even if it were strictly correct)
was unlikely to appear on Unix systems
but would still have a cheery familiarity to some.
the elaborate DD statement defines file associations for a job and
can manipulate permanent files (commonly used with IEFBR14)
Thanks,
Roman.
vague recollection (1982), it was something like:
//SYSIN DD *
data
records
go
here
/*
Job control language was more like assembler with very, very simple
operations. The problem was that a lot of verby things got put into the
operands.
DD means data definition. The first symbol, SYSIN in this case, is the
name that the program will open. The operands after the DD operation
specified the device at which SYSIN pointed. Splat was a sort of `here'
document. The /* was the end-of-file for it.
Everyone I knew carried the Brown book which has examples of the common
permutations. You had to modify for your local OS installation. The
Brown book was actually blue. The fellow should have been named Black.
Because after banging your head on JCL it was Black and blue--not
Brown and blue.
I doubt it. Some files (some software packaged up) are make to unravel
and install themselves on a number of different systems just by running
the file, so I suspect it was a reference to something along those
lines, though I'm totally wild guessing myself, but suspect it
was being used something like a UNIX sh `here document', and he
thought that as cute enough to drag along :)