On Wed, 08 Sep 2010 21:58:49 -0700, Dennis Lee Bieber wrote: > On Thu, 09 Sep 2010 12:38:04 +1200, Lawrence D'Oliveiro > <l...@geek-central.gen.new_zealand> declaimed the following in > gmane.comp.python.general: > >> In message <mailman.501.1283789339.29448.python-l...@python.org>, Hugo >> Arts wrote: >> >> > sys.argv is a list of all arguments from the command line ... >> >> Interesting that Python didnt bother to mimic the underlying POSIX >> convention of passing the command line as arguments to the mainline >> routine. >> > What "mainline routine"... The only programming language(s) I've > ever used that requires there be something called "main" in order to > start a program is the C/C++ family. > Java uses a method defined as "public static void main(String[] args)" > My college COBOL never used multifile assignments, so I'm not sure > if there was a difference between main and linked modules. > There isn't, but command line argument passing is implementation- dependent and is complicated by the ability to define callable sub- programs in the same source file as the main program. The most general method is to use ACCEPT statements. MicroFocus COBOL uses "ACCEPT ... FROM ARGUMENT-NUMBER", AIX COBOL uses a special system call and ICL 2900 COBOL and IBM COBOL/400, where the command line uses function call notation, map the command line arguments into a LINKAGE SECTION.
In short: this area of COBOL is a mess. PL/I specifies the main procedure with an OPTIONS(MAIN) clause and declares the integer ARGC_ and pointer ARGV_ variables in it, which are used like their C equivalents. -- martin@ | Martin Gregorie gregorie. | Essex, UK org | -- http://mail.python.org/mailman/listinfo/python-list