home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 3 / 3165 < prev    next >
Internet Message Format  |  1991-04-07  |  43KB

  1. From: marka@dsinet (Mark Anacker)
  2. Newsgroups: alt.sources
  3. Subject: python source diffs for MSDOS (part 1/2)
  4. Message-ID: <571@elroy>
  5. Date: 3 Apr 91 22:39:09 GMT
  6.  
  7. Sometime back, an interpreter called "Python" was posted to alt.sources.  It
  8. makes a great UI prototyping language, and general quick-hack platform.  I've
  9. got it mostly ported to DOS under Turbo C 2.0 - some functions like "link"
  10. have no DOS equivalent.  If somebody would like to write a BGI graphics
  11. module, I'd be happy to try it :-)
  12.  
  13. This is part one of the cdiff file.  unshar it and part 2, cat them together,
  14. and run patch against a copy of the original source files.
  15.  
  16. You'll have to truncate some of the file name in the original distribution to
  17. 8 characters and the extension.  Most of the changes (apart from the shortened
  18. header files name) are in the posixmod.c file.
  19.  
  20. #---------------------------------- cut here ----------------------------------
  21. # This is a shell archive.  Remove anything before this line,
  22. # then unpack it by saving it in a file and typing "sh file".
  23. #
  24. # Wrapped by Mark Anacker <marka@dsinet> on Wed Apr  3 14:21:14 1991
  25. #
  26. # This archive contains:
  27. #    pythdos00    
  28. #
  29. # Existing files will not be overwritten.
  30.  
  31. LANG=""; export LANG
  32. PATH=/bin:/usr/bin:$PATH; export PATH
  33.  
  34. if test -f pythdos00
  35. then
  36.     echo Ok to overwrite existing file pythdos00\?
  37.     read answer
  38.     case "$answer" in
  39.     [yY]*)    echo Proceeding;;
  40.     *)    echo Aborting; exit 1;;
  41.     esac
  42.     rm -f pythdos00
  43.     if test -f pythdos00
  44.     then
  45.         echo Error: could not remove pythdos00, aborting
  46.         exit 1
  47.     fi
  48. fi
  49. echo x - pythdos00
  50. cat >pythdos00 <<'@EOF'
  51. *** dossrc/acceler.c    Wed Mar  6 10:04:44 1991
  52. --- src/acceler.c    Wed Mar  6 10:04:44 1991
  53. *** dossrc/allobjec.h    Wed Mar  6 10:05:30 1991
  54. --- src/allobjects.h    Wed Mar  6 10:05:30 1991
  55. ***************
  56. *** 32,48 ****
  57.   #include "object.h"
  58.   #include "objimpl.h"
  59.   
  60. ! #include "intobjec.h"
  61. ! #include "floatobj.h"
  62. ! #include "stringob.h"
  63. ! #include "tupleobj.h"
  64. ! #include "listobje.h"
  65. ! #include "dictobje.h"
  66. ! #include "methodob.h"
  67. ! #include "moduleob.h"
  68. ! #include "funcobje.h"
  69. ! #include "classobj.h"
  70. ! #include "fileobje.h"
  71.   
  72.   #include "errors.h"
  73.   #include "malloc.h"
  74. --- 32,48 ----
  75.   #include "object.h"
  76.   #include "objimpl.h"
  77.   
  78. ! #include "intobject.h"
  79. ! #include "floatobject.h"
  80. ! #include "stringobject.h"
  81. ! #include "tupleobject.h"
  82. ! #include "listobject.h"
  83. ! #include "dictobject.h"
  84. ! #include "methodobject.h"
  85. ! #include "moduleobject.h"
  86. ! #include "funcobject.h"
  87. ! #include "classobject.h"
  88. ! #include "fileobject.h"
  89.   
  90.   #include "errors.h"
  91.   #include "malloc.h"
  92. *** dossrc/assert.h    Wed Mar  6 10:06:08 1991
  93. --- src/assert.h    Wed Mar  6 10:06:08 1991
  94. *** dossrc/bitset.c    Wed Mar  6 10:05:22 1991
  95. --- src/bitset.c    Wed Mar  6 10:05:22 1991
  96. ***************
  97. *** 24,30 ****
  98.   
  99.   /* Bitset primitives used by the parser generator */
  100.   
  101. ! #include "pgenhead.h"
  102.   #include "bitset.h"
  103.   
  104.   bitset
  105. --- 24,30 ----
  106.   
  107.   /* Bitset primitives used by the parser generator */
  108.   
  109. ! #include "pgenheaders.h"
  110.   #include "bitset.h"
  111.   
  112.   bitset
  113. *** dossrc/bitset.h    Wed Mar  6 10:05:31 1991
  114. --- src/bitset.h    Wed Mar  6 10:05:31 1991
  115. *** dossrc/bltinmod.c    Wed Mar  6 10:04:30 1991
  116. --- src/bltinmodule.c    Wed Mar  6 10:04:30 1991
  117. ***************
  118. *** 29,41 ****
  119.   #include "node.h"
  120.   #include "graminit.h"
  121.   #include "errcode.h"
  122. ! #include "sysmodul.h"
  123. ! #include "bltinmod.h"
  124.   #include "import.h"
  125. ! #include "pythonru.h"
  126.   #include "compile.h" /* For ceval.h */
  127.   #include "ceval.h"
  128. ! #include "modsuppo.h"
  129.   
  130.   static object *
  131.   builtin_abs(self, v)
  132. --- 29,41 ----
  133.   #include "node.h"
  134.   #include "graminit.h"
  135.   #include "errcode.h"
  136. ! #include "sysmodule.h"
  137. ! #include "bltinmodule.h"
  138.   #include "import.h"
  139. ! #include "pythonrun.h"
  140.   #include "compile.h" /* For ceval.h */
  141.   #include "ceval.h"
  142. ! #include "modsupport.h"
  143.   
  144.   static object *
  145.   builtin_abs(self, v)
  146. *** dossrc/bltinmod.h    Wed Mar  6 10:06:08 1991
  147. --- src/bltinmodule.h    Wed Mar  6 10:06:08 1991
  148. *** dossrc/ceval.c    Wed Mar  6 10:04:18 1991
  149. --- src/ceval.c    Wed Mar  6 10:04:18 1991
  150. ***************
  151. *** 24,39 ****
  152.   
  153.   /* Execute compiled code */
  154.   
  155. ! #include "allobjec.h"
  156.   
  157.   #include "import.h"
  158. ! #include "sysmodul.h"
  159.   #include "compile.h"
  160. ! #include "frameobj.h"
  161.   #include "ceval.h"
  162.   #include "opcode.h"
  163. ! #include "bltinmod.h"
  164. ! #include "tracebac.h"
  165.   
  166.   #ifndef NDEBUG
  167.   #define TRACE
  168. --- 24,39 ----
  169.   
  170.   /* Execute compiled code */
  171.   
  172. ! #include "allobjects.h"
  173.   
  174.   #include "import.h"
  175. ! #include "sysmodule.h"
  176.   #include "compile.h"
  177. ! #include "frameobject.h"
  178.   #include "ceval.h"
  179.   #include "opcode.h"
  180. ! #include "bltinmodule.h"
  181. ! #include "traceback.h"
  182.   
  183.   #ifndef NDEBUG
  184.   #define TRACE
  185. *** dossrc/ceval.h    Wed Mar  6 10:05:45 1991
  186. --- src/ceval.h    Wed Mar  6 10:05:45 1991
  187. *** dossrc/cgen    Wed Mar  6 10:04:31 1991
  188. --- src/cgen    Wed Mar  6 10:04:31 1991
  189. *** dossrc/cgensupp.c    Wed Mar  6 10:04:39 1991
  190. --- src/cgensupport.c    Wed Mar  6 10:04:39 1991
  191. ***************
  192. *** 28,43 ****
  193.   
  194.   #include "PROTO.h"
  195.   #include "object.h"
  196. ! #include "intobjec.h"
  197. ! #include "floatobj.h"
  198. ! #include "stringob.h"
  199. ! #include "tupleobj.h"
  200. ! #include "listobje.h"
  201. ! #include "methodob.h"
  202. ! #include "moduleob.h"
  203. ! #include "modsuppo.h"
  204.   #include "import.h"
  205. ! #include "cgensupp.h"
  206.   #include "errors.h"
  207.   
  208.   
  209. --- 28,43 ----
  210.   
  211.   #include "PROTO.h"
  212.   #include "object.h"
  213. ! #include "intobject.h"
  214. ! #include "floatobject.h"
  215. ! #include "stringobject.h"
  216. ! #include "tupleobject.h"
  217. ! #include "listobject.h"
  218. ! #include "methodobject.h"
  219. ! #include "moduleobject.h"
  220. ! #include "modsupport.h"
  221.   #include "import.h"
  222. ! #include "cgensupport.h"
  223.   #include "errors.h"
  224.   
  225.   
  226. *** dossrc/cgensupp.h    Wed Mar  6 10:05:31 1991
  227. --- src/cgensupport.h    Wed Mar  6 10:05:31 1991
  228. *** dossrc/classobj.c    Wed Mar  6 10:04:45 1991
  229. --- src/classobject.c    Wed Mar  6 10:04:45 1991
  230. ***************
  231. *** 24,32 ****
  232.   
  233.   /* Class object implementation */
  234.   
  235. ! #include "allobjec.h"
  236.   
  237. ! #include "structme.h"
  238.   
  239.   typedef struct {
  240.       OB_HEAD
  241. --- 24,32 ----
  242.   
  243.   /* Class object implementation */
  244.   
  245. ! #include "allobjects.h"
  246.   
  247. ! #include "structmember.h"
  248.   
  249.   typedef struct {
  250.       OB_HEAD
  251. *** dossrc/classobj.h    Wed Mar  6 10:05:31 1991
  252. --- src/classobject.h    Wed Mar  6 10:05:31 1991
  253. *** dossrc/compile.c    Wed Mar  6 10:04:04 1991
  254. --- src/compile.c    Wed Mar  6 10:04:04 1991
  255. ***************
  256. *** 30,43 ****
  257.      XXX Include function name in code (and module names?)
  258.   */
  259.   
  260. ! #include "allobjec.h"
  261.   
  262.   #include "node.h"
  263.   #include "token.h"
  264.   #include "graminit.h"
  265.   #include "compile.h"
  266.   #include "opcode.h"
  267. ! #include "structme.h"
  268.   
  269.   #include <ctype.h>
  270.   
  271. --- 30,43 ----
  272.      XXX Include function name in code (and module names?)
  273.   */
  274.   
  275. ! #include "allobjects.h"
  276.   
  277.   #include "node.h"
  278.   #include "token.h"
  279.   #include "graminit.h"
  280.   #include "compile.h"
  281.   #include "opcode.h"
  282. ! #include "structmember.h"
  283.   
  284.   #include <ctype.h>
  285.   
  286. *** dossrc/compile.h    Wed Mar  6 10:05:31 1991
  287. --- src/compile.h    Wed Mar  6 10:05:31 1991
  288. *** dossrc/config.c    Wed Mar  6 10:04:59 1991
  289. --- src/config.c    Wed Mar  6 10:04:59 1991
  290. ***************
  291. *** 103,110 ****
  292.   #endif
  293.   
  294.   #ifndef PYTHONPATH
  295. ! /* #define PYTHONPATH ".:/usr/local/lib/python" */
  296. ! #define PYTHONPATH ".:/tc/python/lib"
  297.   #endif
  298.   
  299.   extern char *getenv();
  300. --- 103,109 ----
  301.   #endif
  302.   
  303.   #ifndef PYTHONPATH
  304. ! #define PYTHONPATH ".:/usr/local/lib/python"
  305.   #endif
  306.   
  307.   extern char *getenv();
  308. *** dossrc/configma.c    Wed Mar  6 10:05:22 1991
  309. --- src/configmac.c    Wed Mar  6 10:05:22 1991
  310. *** dossrc/cstubs    Wed Mar  6 10:04:07 1991
  311. --- src/cstubs    Wed Mar  6 10:04:07 1991
  312. *** dossrc/dictobje.c    Wed Mar  6 10:04:25 1991
  313. --- src/dictobject.c    Wed Mar  6 10:04:25 1991
  314. ***************
  315. *** 35,41 ****
  316.       h = 0; p = str; while (*p) h = (h<<5) - h + *p++;
  317.   */
  318.   
  319. ! #include "allobjec.h"
  320.   
  321.   
  322.   /*
  323. --- 35,41 ----
  324.       h = 0; p = str; while (*p) h = (h<<5) - h + *p++;
  325.   */
  326.   
  327. ! #include "allobjects.h"
  328.   
  329.   
  330.   /*
  331. *** dossrc/dictobje.h    Wed Mar  6 10:05:32 1991
  332. --- src/dictobject.h    Wed Mar  6 10:05:32 1991
  333. *** dossrc/errcode.h    Wed Mar  6 10:05:45 1991
  334. --- src/errcode.h    Wed Mar  6 10:05:45 1991
  335. *** dossrc/errors.c    Wed Mar  6 10:04:56 1991
  336. --- src/errors.c    Wed Mar  6 10:04:56 1991
  337. ***************
  338. *** 46,52 ****
  339.        exception requires module-specific values for errno
  340.      - there is no way to add a more situation-specific message to an
  341.        error.
  342.     The new interface solves all these problems.  To return an error, a
  343.     built-in function calls err_set(exception), err_setval(exception,
  344.     value) or err_setstr(exception, string), and returns NULL.  These
  345. --- 46,52 ----
  346.        exception requires module-specific values for errno
  347.      - there is no way to add a more situation-specific message to an
  348.        error.
  349. !   
  350.     The new interface solves all these problems.  To return an error, a
  351.     built-in function calls err_set(exception), err_setval(exception,
  352.     value) or err_setstr(exception, string), and returns NULL.  These
  353. ***************
  354. *** 55,61 ****
  355.     err_setval() has to be changed.
  356.   */
  357.   
  358. ! #include "allobjec.h"
  359.   
  360.   #include <errno.h>
  361.   #ifndef errno
  362. --- 55,61 ----
  363.     err_setval() has to be changed.
  364.   */
  365.   
  366. ! #include "allobjects.h"
  367.   
  368.   #include <errno.h>
  369.   #ifndef errno
  370. ***************
  371. *** 79,85 ****
  372.       XDECREF(last_exception);
  373.       XINCREF(exception);
  374.       last_exception = exception;
  375.       XDECREF(last_exc_val);
  376.       XINCREF(value);
  377.       last_exc_val = value;
  378. --- 79,85 ----
  379.       XDECREF(last_exception);
  380.       XINCREF(exception);
  381.       last_exception = exception;
  382. !     
  383.       XDECREF(last_exc_val);
  384.       XINCREF(value);
  385.       last_exc_val = value;
  386. *** dossrc/errors.h    Wed Mar  6 10:05:32 1991
  387. --- src/errors.h    Wed Mar  6 10:05:32 1991
  388. *** dossrc/fgetsint.c    Wed Mar  6 10:05:22 1991
  389. --- src/fgetsintr.c    Wed Mar  6 10:05:22 1991
  390. ***************
  391. *** 4,10 ****
  392.   
  393.                           All Rights Reserved
  394.   
  395. ! Permission to use, copy, modify, and distribute this software and its
  396.   documentation for any purpose and without fee is hereby granted, 
  397.   provided that the above copyright notice appear in all copies and that
  398.   both that copyright notice and this permission notice appear in 
  399. --- 4,10 ----
  400.   
  401.                           All Rights Reserved
  402.   
  403. ! Permission to use, copy, modify, and distribute this software and its 
  404.   documentation for any purpose and without fee is hereby granted, 
  405.   provided that the above copyright notice appear in all copies and that
  406.   both that copyright notice and this permission notice appear in 
  407. ***************
  408. *** 28,41 ****
  409.   /* XXX This uses longjmp() from a signal out of fgets().
  410.      Should use read() instead?! */
  411.   
  412. ! #include "pgenhead.h"
  413.   
  414.   #include <signal.h>
  415.   #include <setjmp.h>
  416.   
  417.   #include "errcode.h"
  418.   #include "sigtype.h"
  419. ! #include "fgetsint.h"
  420.   
  421.   #ifndef AMOEBA
  422.   #define sig_block()    /*empty*/
  423. --- 28,41 ----
  424.   /* XXX This uses longjmp() from a signal out of fgets().
  425.      Should use read() instead?! */
  426.   
  427. ! #include "pgenheaders.h"
  428.   
  429.   #include <signal.h>
  430.   #include <setjmp.h>
  431.   
  432.   #include "errcode.h"
  433.   #include "sigtype.h"
  434. ! #include "fgetsintr.h"
  435.   
  436.   #ifndef AMOEBA
  437.   #define sig_block()    /*empty*/
  438. *** dossrc/fgetsint.h    Wed Mar  6 10:06:08 1991
  439. --- src/fgetsintr.h    Wed Mar  6 10:06:08 1991
  440. *** dossrc/fileobje.c    Wed Mar  6 10:04:48 1991
  441. --- src/fileobject.c    Wed Mar  6 10:04:48 1991
  442. ***************
  443. *** 30,36 ****
  444.      It should also cooperate with posix to support popen(), which should
  445.      share most code but have a special close function. */
  446.   
  447. ! #include "allobjec.h"
  448.   
  449.   #include "errno.h"
  450.   #ifndef errno
  451. --- 30,36 ----
  452.      It should also cooperate with posix to support popen(), which should
  453.      share most code but have a special close function. */
  454.   
  455. ! #include "allobjects.h"
  456.   
  457.   #include "errno.h"
  458.   #ifndef errno
  459. *** dossrc/fileobje.h    Wed Mar  6 10:05:45 1991
  460. --- src/fileobject.h    Wed Mar  6 10:05:45 1991
  461. *** dossrc/firstset.c    Wed Mar  6 10:05:12 1991
  462. --- src/firstsets.c    Wed Mar  6 10:05:12 1991
  463. ***************
  464. *** 24,30 ****
  465.   
  466.   /* Computation of FIRST stets */
  467.   
  468. ! #include "pgenhead.h"
  469.   #include "grammar.h"
  470.   #include "token.h"
  471.   
  472. --- 24,30 ----
  473.   
  474.   /* Computation of FIRST stets */
  475.   
  476. ! #include "pgenheaders.h"
  477.   #include "grammar.h"
  478.   #include "token.h"
  479.   
  480. ***************
  481. *** 39,45 ****
  482.   {
  483.       int i;
  484.       dfa *d;
  485.       printf("Adding FIRST sets ...\n");
  486.       for (i = 0; i < g->g_ndfas; i++) {
  487.           d = &g->g_dfa[i];
  488. --- 39,45 ----
  489.   {
  490.       int i;
  491.       dfa *d;
  492. !     
  493.       printf("Adding FIRST sets ...\n");
  494.       for (i = 0; i < g->g_ndfas; i++) {
  495.           d = &g->g_dfa[i];
  496. *** dossrc/floatobj.c    Wed Mar  6 10:04:48 1991
  497. --- src/floatobject.c    Wed Mar  6 10:04:48 1991
  498. ***************
  499. *** 27,33 ****
  500.   /* XXX There should be overflow checks here, but it's hard to check
  501.      for any kind of float exception without losing portability. */
  502.   
  503. ! #include "allobjec.h"
  504.   
  505.   #include <errno.h>
  506.   #ifndef errno
  507. --- 27,33 ----
  508.   /* XXX There should be overflow checks here, but it's hard to check
  509.      for any kind of float exception without losing portability. */
  510.   
  511. ! #include "allobjects.h"
  512.   
  513.   #include <errno.h>
  514.   #ifndef errno
  515. *** dossrc/floatobj.h    Wed Mar  6 10:05:46 1991
  516. --- src/floatobject.h    Wed Mar  6 10:05:46 1991
  517. *** dossrc/fmod.c    Wed Mar  6 10:05:46 1991
  518. --- src/fmod.c    Wed Mar  6 10:05:46 1991
  519. *** dossrc/frameobj.c    Wed Mar  6 10:04:59 1991
  520. --- src/frameobject.c    Wed Mar  6 10:04:59 1991
  521. ***************
  522. *** 24,35 ****
  523.   
  524.   /* Frame object implementation */
  525.   
  526. ! #include "allobjec.h"
  527.   
  528.   #include "compile.h"
  529. ! #include "frameobj.h"
  530.   #include "opcode.h"
  531. ! #include "structme.h"
  532.   
  533.   #define OFF(x) offsetof(frameobject, x)
  534.   
  535. --- 24,35 ----
  536.   
  537.   /* Frame object implementation */
  538.   
  539. ! #include "allobjects.h"
  540.   
  541.   #include "compile.h"
  542. ! #include "frameobject.h"
  543.   #include "opcode.h"
  544. ! #include "structmember.h"
  545.   
  546.   #define OFF(x) offsetof(frameobject, x)
  547.   
  548. *** dossrc/frameobj.h    Wed Mar  6 10:05:13 1991
  549. --- src/frameobject.h    Wed Mar  6 10:05:13 1991
  550. *** dossrc/funcobje.c    Wed Mar  6 10:05:14 1991
  551. --- src/funcobject.c    Wed Mar  6 10:05:14 1991
  552. ***************
  553. *** 24,32 ****
  554.   
  555.   /* Function object implementation */
  556.   
  557. ! #include "allobjec.h"
  558.   
  559. ! #include "structme.h"
  560.   
  561.   typedef struct {
  562.       OB_HEAD
  563. --- 24,32 ----
  564.   
  565.   /* Function object implementation */
  566.   
  567. ! #include "allobjects.h"
  568.   
  569. ! #include "structmember.h"
  570.   
  571.   typedef struct {
  572.       OB_HEAD
  573. *** dossrc/funcobje.h    Wed Mar  6 10:05:46 1991
  574. --- src/funcobject.h    Wed Mar  6 10:05:46 1991
  575. *** dossrc/getcwd.c    Wed Mar  6 10:05:23 1991
  576. --- src/getcwd.c    Wed Mar  6 10:05:23 1991
  577. *** dossrc/graminit.c    Wed Mar  6 10:04:05 1991
  578. --- src/graminit.c    Wed Mar  6 10:04:05 1991
  579. ***************
  580. *** 22,28 ****
  581.   
  582.   ******************************************************************/
  583.   
  584. ! #include "pgenhead.h"
  585.   #include "grammar.h"
  586.   static arc arcs_0_0[3] = {
  587.       {2, 1},
  588. --- 22,28 ----
  589.   
  590.   ******************************************************************/
  591.   
  592. ! #include "pgenheaders.h"
  593.   #include "grammar.h"
  594.   static arc arcs_0_0[3] = {
  595.       {2, 1},
  596. *** dossrc/graminit.h    Wed Mar  6 10:05:23 1991
  597. --- src/graminit.h    Wed Mar  6 10:05:23 1991
  598. *** dossrc/grammar    Wed Apr  3 13:53:43 1991
  599. --- src/grammar    Wed Apr  3 13:53:43 1991
  600. ***************
  601. *** 1,72 ****
  602. - # Grammar for Python, version 4
  603. - # Changes compared to version 3:
  604. - #    Removed 'dir' statement.
  605. - #    Function call argument is a testlist instead of exprlist.
  606. - # Changes compared to version 2:
  607. - #    The syntax of Boolean operations is changed to use more
  608. - #    conventional priorities: or < and < not.
  609. - # Changes compared to version 1:
  610. - #    modules and scripts are unified;
  611. - #    'quit' is gone (use ^D);
  612. - #    empty_stmt is gone, replaced by explicit NEWLINE where appropriate;
  613. - #    'import' and 'def' aren't special any more;
  614. - #    added 'from' NAME option on import clause, and '*' to import all;
  615. - #    added class definition.
  616. - # Start symbols for the grammar:
  617. - #    single_input is a single interactive statement;
  618. - #    file_input is a module or sequence of commands read from an input file;
  619. - #    expr_input is the input for the input() function;
  620. - #    eval_input is the input for the eval() function.
  621. - # NB: compound_stmt in single_input is followed by extra NEWLINE!
  622. - single_input: NEWLINE | simple_stmt | compound_stmt NEWLINE
  623. - file_input: (NEWLINE | stmt)* ENDMARKER
  624. - expr_input: testlist NEWLINE
  625. - eval_input: testlist ENDMARKER
  626. - funcdef: 'def' NAME parameters ':' suite
  627. - parameters: '(' [fplist] ')'
  628. - fplist: fpdef (',' fpdef)*
  629. - fpdef: NAME | '(' fplist ')'
  630. - stmt: simple_stmt | compound_stmt
  631. - simple_stmt: expr_stmt | print_stmt  | pass_stmt | del_stmt | flow_stmt | import_stmt
  632. - expr_stmt: (exprlist '=')* exprlist NEWLINE
  633. - # For assignments, additional restrictions enforced by the interpreter
  634. - print_stmt: 'print' (test ',')* [test] NEWLINE
  635. - del_stmt: 'del' exprlist NEWLINE
  636. - pass_stmt: 'pass' NEWLINE
  637. - flow_stmt: break_stmt | return_stmt | raise_stmt
  638. - break_stmt: 'break' NEWLINE
  639. - return_stmt: 'return' [testlist] NEWLINE
  640. - raise_stmt: 'raise' expr [',' expr] NEWLINE
  641. - import_stmt: 'import' NAME (',' NAME)* NEWLINE | 'from' NAME 'import' ('*' | NAME (',' NAME)*) NEWLINE
  642. - compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | funcdef | classdef
  643. - if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite]
  644. - while_stmt: 'while' test ':' suite ['else' ':' suite]
  645. - for_stmt: 'for' exprlist 'in' exprlist ':' suite ['else' ':' suite]
  646. - try_stmt: 'try' ':' suite (except_clause ':' suite)* ['finally' ':' suite]
  647. - except_clause: 'except' [expr [',' expr]]
  648. - suite: simple_stmt | NEWLINE INDENT NEWLINE* (stmt NEWLINE*)+ DEDENT
  649. - test: and_test ('or' and_test)*
  650. - and_test: not_test ('and' not_test)*
  651. - not_test: 'not' not_test | comparison
  652. - comparison: expr (comp_op expr)*
  653. - comp_op: '<'|'>'|'='|'>' '='|'<' '='|'<' '>'|'in'|'not' 'in'|'is'|'is' 'not'
  654. - expr: term (('+'|'-') term)*
  655. - term: factor (('*'|'/'|'%') factor)*
  656. - factor: ('+'|'-') factor | atom trailer*
  657. - atom: '(' [testlist] ')' | '[' [testlist] ']' | '{' '}' | '`' testlist '`' | NAME | NUMBER | STRING
  658. - trailer: '(' [testlist] ')' | '[' subscript ']' | '.' NAME
  659. - subscript: expr | [expr] ':' [expr]
  660. - exprlist: expr (',' expr)* [',']
  661. - testlist: test (',' test)* [',']
  662. - classdef: 'class' NAME parameters ['=' baselist] ':' suite
  663. - baselist: atom arguments (',' atom arguments)*
  664. - arguments: '(' [testlist] ')'
  665. --- 0 ----
  666. *** dossrc/grammar.c    Wed Mar  6 10:04:49 1991
  667. --- src/grammar.c    Wed Mar  6 10:04:49 1991
  668. ***************
  669. *** 24,30 ****
  670.   
  671.   /* Grammar implementation */
  672.   
  673. ! #include "pgenhead.h"
  674.   
  675.   #include <ctype.h>
  676.   
  677. --- 24,30 ----
  678.   
  679.   /* Grammar implementation */
  680.   
  681. ! #include "pgenheaders.h"
  682.   
  683.   #include <ctype.h>
  684.   
  685. *** dossrc/grammar.h    Wed Mar  6 10:05:14 1991
  686. --- src/grammar.h    Wed Mar  6 10:05:14 1991
  687. *** dossrc/grammar1.c    Wed Mar  6 10:05:32 1991
  688. --- src/grammar1.c    Wed Mar  6 10:05:32 1991
  689. ***************
  690. *** 24,30 ****
  691.   
  692.   /* Grammar subroutines needed by parser */
  693.   
  694. ! #include "pgenhead.h"
  695.   #include "assert.h"
  696.   #include "grammar.h"
  697.   #include "token.h"
  698. --- 24,30 ----
  699.   
  700.   /* Grammar subroutines needed by parser */
  701.   
  702. ! #include "pgenheaders.h"
  703.   #include "assert.h"
  704.   #include "grammar.h"
  705.   #include "token.h"
  706. *** dossrc/import.c    Wed Mar  6 10:04:49 1991
  707. --- src/import.c    Wed Mar  6 10:04:49 1991
  708. ***************
  709. *** 24,38 ****
  710.   
  711.   /* Module definition and import implementation */
  712.   
  713. ! #include "allobjec.h"
  714.   
  715.   #include "node.h"
  716.   #include "token.h"
  717.   #include "graminit.h"
  718.   #include "import.h"
  719.   #include "errcode.h"
  720. ! #include "sysmodul.h"
  721. ! #include "pythonru.h"
  722.   
  723.   /* Define pathname separator used in file names */
  724.   
  725. --- 24,38 ----
  726.   
  727.   /* Module definition and import implementation */
  728.   
  729. ! #include "allobjects.h"
  730.   
  731.   #include "node.h"
  732.   #include "token.h"
  733.   #include "graminit.h"
  734.   #include "import.h"
  735.   #include "errcode.h"
  736. ! #include "sysmodule.h"
  737. ! #include "pythonrun.h"
  738.   
  739.   /* Define pathname separator used in file names */
  740.   
  741. *** dossrc/import.h    Wed Mar  6 10:05:47 1991
  742. --- src/import.h    Wed Mar  6 10:05:47 1991
  743. *** dossrc/intobjec.c    Wed Mar  6 10:04:45 1991
  744. --- src/intobject.c    Wed Mar  6 10:04:45 1991
  745. ***************
  746. *** 24,30 ****
  747.   
  748.   /* Integer object implementation */
  749.   
  750. ! #include "allobjec.h"
  751.   
  752.   /* Standard Booleans */
  753.   
  754. --- 24,30 ----
  755.   
  756.   /* Integer object implementation */
  757.   
  758. ! #include "allobjects.h"
  759.   
  760.   /* Standard Booleans */
  761.   
  762. *** dossrc/intobjec.h    Wed Mar  6 10:05:15 1991
  763. --- src/intobject.h    Wed Mar  6 10:05:15 1991
  764. *** dossrc/intrchec.c    Wed Mar  6 10:05:15 1991
  765. --- src/intrcheck.c    Wed Mar  6 10:05:15 1991
  766. *** dossrc/libobj.cmd    Wed Apr  3 13:53:57 1991
  767. --- src/libobj.cmd    Wed Apr  3 13:53:57 1991
  768. ***************
  769. *** 1,40 ****
  770. - +acceler.obj &
  771. - +bltinmod.obj & 
  772. - +ceval.obj & 
  773. - +classobj.obj &
  774. - +compile.obj & 
  775. - +dictobje.obj &
  776. - +errors.obj &
  777. - +fgetsint.obj &
  778. - +fileobje.obj &
  779. - +floatobj.obj &
  780. - +frameobj.obj &
  781. - +funcobje.obj &
  782. - +graminit.obj &
  783. - +grammar1.obj &
  784. - +import.obj &
  785. - +intobjec.obj & 
  786. - +intrchec.obj &
  787. - +listnode.obj &
  788. - +listobje.obj &
  789. - +mathmodu.obj &
  790. - +methodob.obj &
  791. - +modsuppo.obj &
  792. - +moduleob.obj &
  793. - +node.obj &
  794. - +object.obj & 
  795. - +parser.obj &
  796. - +parsetok.obj &
  797. - +posixmod.obj &
  798. - +regexp.obj &
  799. - +regexpmo.obj &
  800. - +strdup.obj &
  801. - +stringob.obj &
  802. - +structme.obj &
  803. - +sysmodul.obj &
  804. - +timemodu.obj &
  805. - +tokenize.obj &
  806. - +tracebac.obj &
  807. - +tupleobj.obj &
  808. - +typeobje.obj
  809. --- 0 ----
  810. *** dossrc/listnode.c    Wed Mar  6 10:05:24 1991
  811. --- src/listnode.c    Wed Mar  6 10:05:24 1991
  812. ***************
  813. *** 24,30 ****
  814.   
  815.   /* List a node on a file */
  816.   
  817. ! #include "pgenhead.h"
  818.   #include "token.h"
  819.   #include "node.h"
  820.   
  821. --- 24,30 ----
  822.   
  823.   /* List a node on a file */
  824.   
  825. ! #include "pgenheaders.h"
  826.   #include "token.h"
  827.   #include "node.h"
  828.   
  829. *** dossrc/listobje.c    Wed Mar  6 10:04:35 1991
  830. --- src/listobject.c    Wed Mar  6 10:04:35 1991
  831. ***************
  832. *** 24,30 ****
  833.   
  834.   /* List object implementation */
  835.   
  836. ! #include "allobjec.h"
  837.   
  838.   object *
  839.   newlistobject(size)
  840. --- 24,30 ----
  841.   
  842.   /* List object implementation */
  843.   
  844. ! #include "allobjects.h"
  845.   
  846.   object *
  847.   newlistobject(size)
  848. *** dossrc/listobje.h    Wed Mar  6 10:05:24 1991
  849. --- src/listobject.h    Wed Mar  6 10:05:24 1991
  850. *** dossrc/macmodul.c    Wed Mar  6 10:04:50 1991
  851. --- src/macmodule.c    Wed Mar  6 10:04:50 1991
  852. *** dossrc/Makefile    Wed Mar  6 11:04:37 1991
  853. --- src/Makefile    Wed Mar  6 11:04:37 1991
  854. ***************
  855. *** 1,3 ****
  856. --- 1,46 ----
  857. + # /***********************************************************
  858. + # Copyright 1991 by Stichting Mathematisch Centrum, Amsterdam, The
  859. + # Netherlands.
  860. + # 
  861. + #                         All Rights Reserved
  862. + # 
  863. + # Permission to use, copy, modify, and distribute this software and its 
  864. + # documentation for any purpose and without fee is hereby granted, 
  865. + # provided that the above copyright notice appear in all copies and that
  866. + # both that copyright notice and this permission notice appear in 
  867. + # supporting documentation, and that the names of Stichting Mathematisch
  868. + # Centrum or CWI not be used in advertising or publicity pertaining to
  869. + # distribution of the software without specific, written prior permission.
  870. + # 
  871. + # STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
  872. + # THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
  873. + # FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
  874. + # FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  875. + # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  876. + # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
  877. + # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  878. + # 
  879. + # ******************************************************************/
  880. + # Makefile for Python
  881. + # ===================
  882. + #
  883. + # If you are in a hurry, you can just edit this Makefile to choose the
  884. + # correct settings for SYSV and RANLIB below, and type "make" in this
  885. + # directory.  If you are using a recent version of SunOS (or Ultrix?)
  886. + # you don't even have to edit: the Makefile comes pre-configured for
  887. + # such systems with all configurable options turned off, building the
  888. + # minimal portable version of the Python interpreter.
  889. + #
  890. + # If have more time, read the section on configurable options below.
  891. + # It may still be wise to begin building the minimal portable Python,
  892. + # to see if it works at all, and select options later.  You don't have
  893. + # to rebuild all objects when you turn on options; all dependencies
  894. + # are concentrated in the file "config.c" which is rebuilt whenever
  895. + # the Makefile changes.  (Except if you turn on the GNU Readline option
  896. + # you may have to toss out the tokenizer.o object.)
  897.   # Operating System Defines (ALWAYS READ THIS)
  898.   # ===========================================
  899.   
  900. ***************
  901. *** 10,31 ****
  902.   # Choose one of the following two lines depending on whether your system
  903.   # requires the use of 'ranlib' after creating a library, or not.
  904.   
  905. ! #RANLIB =    true    # For System V
  906.   #RANLIB =    ranlib    # For BSD
  907.   
  908.   # If your system doesn't have symbolic links, uncomment the following
  909.   # line.
  910.   
  911. ! NOSYMLINKDEF=    -DNO_LSTAT
  912.   
  913.   # Installation Options
  914.   # ====================
  915.   
  916.   # You may want to change PYTHONPATH to reflect where you install the
  917.   # Python module library.
  918.   
  919. ! PYTHONPATH= .:/tc/python/lib
  920.   
  921.   # For "Pure" BSD Systems
  922.   # ======================
  923.   #
  924. --- 53,76 ----
  925.   # Choose one of the following two lines depending on whether your system
  926.   # requires the use of 'ranlib' after creating a library, or not.
  927.   
  928. ! RANLIB =    true    # For System V
  929.   #RANLIB =    ranlib    # For BSD
  930.   
  931.   # If your system doesn't have symbolic links, uncomment the following
  932.   # line.
  933.   
  934. ! #NOSYMLINKDEF=    -DNO_LSTAT
  935.   
  936.   # Installation Options
  937.   # ====================
  938.   
  939.   # You may want to change PYTHONPATH to reflect where you install the
  940.   # Python module library.
  941.   
  942. ! PYTHONPATH=    .:/usr/local/lib/python
  943.   
  944.   # For "Pure" BSD Systems
  945.   # ======================
  946.   #
  947. ***************
  948. *** 67,72 ****
  949. --- 112,118 ----
  950.   
  951.   #SIGTYPEDEF=    -DSIGTYPE=int
  952.   
  953.   # Further porting hints
  954.   # =====================
  955.   #
  956. ***************
  957. *** 93,147 ****
  958.   # always leave all options off and build a minimal portable version of
  959.   # Python.)
  960.   
  961. - # Major Definitions
  962. - # =================
  963.   
  964. ! CC=    /tc/tcc
  965.   
  966. ! CFLAGS= -O -G -Z -DMSDOS -ml
  967.   
  968. - .c.obj:
  969. -     $(CC) -c $(CFLAGS) $*.c 
  970.   
  971. ! STANDARD_OBJ=    acceler.obj bltinmod.obj ceval.obj classobj.obj \
  972. !         compile.obj dictobje.obj errors.obj fgetsint.obj \
  973. !         fileobje.obj floatobj.obj $(FMOD_OBJ) frameobj.obj \
  974. !         funcobje.obj $(GETCWD_OBJ) \
  975. !         graminit.obj grammar1.obj import.obj \
  976. !         intobjec.obj intrchec.obj listnode.obj listobje.obj \
  977. !         mathmodu.obj methodob.obj modsuppo.obj \
  978. !         moduleob.obj node.obj object.obj parser.obj \
  979. !         parsetok.obj posixmod.obj regexp.obj regexpmo.obj \
  980. !         strdup.obj $(STRERROR_OBJ) \
  981. !         stringob.obj $(STRTOL_OBJ) structme.obj \
  982. !         sysmodul.obj timemodu.obj tokenize.obj tracebac.obj \
  983. !         tupleobj.obj typeobje.obj
  984.   
  985. ! STANDARD_SRC=    acceler.c  bltinmod.c ceval.c classobj.c \
  986. !         compile.c  dictobje.c errors.c fgetsint.c \
  987. !         fileobje.c floatobj.c $(FMOD_SRC) frameobj.c \
  988. !         funcobje.c $(GETCWD_SRC) \
  989.           graminit.c grammar1.c import.c \
  990. !         intobjec.c intrchec.c listnode.c listobje.c \
  991. !         mathmodu.c methodob.c modsupport.c \
  992. !         moduleob.c node.c object.c parser.c \
  993. !         parsetok.c posixmod.c regexp.c regexpmo.c \
  994.           strdup.c $(STRERROR_SRC) \
  995. !         stringob.c $(STRTOL_SRC) structme.c \
  996. !         sysmodul.c timemodu.c tokenize.c tracebac.c \
  997. !         tupleobj.c typeobje.c
  998.   
  999.   CONFIGDEFS=    $(STDW_USE) $(AM_USE) $(AUDIO_USE) $(GL_USE) $(PANEL_USE) \
  1000. !         -DPYTHONPATH="$(PYTHONPATH)"
  1001.   
  1002.   CONFIGINCLS=    $(STDW_INCL)
  1003.   
  1004. ! LIBDEPS=    libpytho.lib $(STDW_LIBDEPS) $(AM_LIBDEPS) \
  1005.           $(GL_LIBDEPS) $(PANEL_LIBSDEP) $(RL_LIBDEPS)
  1006.   
  1007.   # NB: the ordering of items in LIBS is significant!
  1008. ! LIBS=        libpytho.lib $(STDW_LIBS) $(AM_LIBS) \
  1009. !         $(PANEL_LIBS) $(GL_LIBS) $(RL_LIBS) mathl.lib
  1010.   
  1011.   LIBOBJECTS=    $(STANDARD_OBJ) $(STDW_OBJ) $(AM_OBJ) $(AUDIO_OBJ) \
  1012.           $(GL_OBJ) $(PANEL_OBJ)
  1013. --- 139,352 ----
  1014.   # always leave all options off and build a minimal portable version of
  1015.   # Python.)
  1016.   
  1017.   
  1018. ! # BSD Time Option
  1019. ! # ===============
  1020. ! #
  1021. ! # This option does not add a new module but adds two functions to
  1022. ! # an existing module.
  1023. ! #
  1024. ! # It implements time.millisleep() and time.millitimer()
  1025. ! # using the BSD system calls select() and gettimeofday().
  1026. ! #
  1027. ! # Uncomment the following line to select this option.
  1028.   
  1029. ! #BSDTIMEDEF=    -DBSD_TIME
  1030.   
  1031.   
  1032. ! # GNU Readline Option
  1033. ! # ===================
  1034. ! #
  1035. ! # If you have the sources of the GNU Readline library you can have
  1036. ! # full interactive command line editing and history in Python.
  1037. ! # The GNU Readline library is distributed with the BASH shell
  1038. ! # (I only know of version 1.05).  You must build the GNU Readline
  1039. ! # library and the alloca routine it needs in their own source
  1040. ! # directories (which are subdirectories of the basg source directory),
  1041. ! # and plant a pointer to the BASH source directory in this Makefile.
  1042. ! #
  1043. ! # Uncomment and edit the following block to use the GNU Readline option.
  1044. ! # - Edit the definition of BASHDIR to point to the bash source tree.
  1045. ! # You may have to fix the definition of LIBTERMCAP; leave the LIBALLOCA
  1046. ! # definition commented if alloca() is in your C library.
  1047.   
  1048. ! #BASHDIR=    ../../bash-1.05
  1049. ! #LIBREADLINE=    $(BASHDIR)/readline/libreadline.a
  1050. ! #LIBALLOCA=    $(BASHDIR)/alloc-files/alloca.o
  1051. ! #LIBTERMCAP=    -ltermcap
  1052. ! #RL_USE =    -DUSE_READLINE
  1053. ! #RL_LIBS=    $(LIBREADLINE) $(LIBALLOCA) $(LIBTERMCAP)
  1054. ! #RL_LIBDEPS=    $(LIBREADLINE) $(LIBALLOCA)
  1055. ! # STDWIN Option
  1056. ! # =============
  1057. ! #
  1058. ! # If you have the sources of STDWIN (by the same author) you can
  1059. ! # configure Python to incorporate the built-in module 'stdwin'.
  1060. ! # This requires a fairly recent version of STDWIN (dated late 1990).
  1061. ! #
  1062. ! # Uncomment and edit the following block to use the STDWIN option.
  1063. ! # - Edit the STDWINDIR defition to reflect the top of the STDWIN source
  1064. ! #   tree.
  1065. ! # - Edit the ARCH definition to reflect your system's architecture
  1066. ! #   (usually the program 'arch' or 'machine' returns this).
  1067. ! # You may have to edit the LIBX11 defition to reflect the location of
  1068. ! # the X11 runtime library if it is non-standard.
  1069. ! STDWINDIR=    ../../stdwin
  1070. ! ARCH=        68000
  1071. ! LIBSTDWIN=    $(STDWINDIR)/Build/$(ARCH)/x11/lib/lib.a
  1072. ! LIBX11 =    -lX11
  1073. ! STDW_INCL=    -I$(STDWINDIR)/H
  1074. ! STDW_USE=    -DUSE_STDWIN
  1075. ! STDW_LIBS=    $(LIBSTDWIN) $(LIBX11)
  1076. ! STDW_LIBDEPS=    $(LIBSTDWIN)
  1077. ! STDW_SRC=    stdwinmodule.c
  1078. ! STDW_OBJ=    stdwinmodule.o
  1079. ! # Amoeba Option
  1080. ! # =============
  1081. ! #
  1082. ! # If you have the Amoeba 4.0 distribution (Beta or otherwise) you can
  1083. ! # configure Python to incorporate the built-in module 'amoeba'.
  1084. ! # (Python can also be built for native Amoeba, but it requires more
  1085. ! # work and thought.  Contact the author.)
  1086. ! #
  1087. ! # Uncomment and edit the following block to use the Amoeba option.
  1088. ! # - Edit the AMOEBADIR defition to reflect the top of the Amoeba source
  1089. ! #   tree.
  1090. ! # - Edit the AM_CONF definition to reflect the machine/operating system
  1091. ! #   configuration needed by Amoeba (this is the name of a subdirectory
  1092. ! #   of $(AMOEBADIR)/conf/unix, e.g., vax.ultrix).
  1093. ! #AMOEBADIR=    /usr/amoeba
  1094. ! #AM_CONF=    mipseb.irix
  1095. ! #LIBAMUNIX=    $(AMOEBADIR)/conf/unix/$(AM_CONF)/lib/amunix/libamunix.a
  1096. ! #AM_INCL=    -I$(AMOEBADIR)/src/h
  1097. ! #AM_USE =    -DUSE_AMOEBA
  1098. ! #AM_LIBDEPS=    $(LIBAMUNIX)
  1099. ! #AM_LIBS=    $(LIBAMUNIX)
  1100. ! #AM_SRC =    amoebamodule.c sc_interpr.c sc_errors.c
  1101. ! #AM_OBJ =    amoebamodule.o sc_interpr.o sc_errors.o
  1102. ! # Silicon Graphics IRIS Options
  1103. ! # =============================
  1104. ! #
  1105. ! # The following three options are only relevant if you are using a
  1106. ! # Silicon Graphics IRIS machine.  These have been tested with IRIX 3.3.1
  1107. ! # on a 4D/25.
  1108. ! # GL Option
  1109. ! # =========
  1110. ! #
  1111. ! # This option incorporates the built-in module 'gl', which provides a
  1112. ! # complete interface to the Silicon Graphics GL library.  It adds
  1113. ! # about 70K to the Python text size and about 260K to the unstripped
  1114. ! # binary size.
  1115. ! #
  1116. ! # Note: the file 'glmodule.c' is created by a Python script.  If you
  1117. ! # lost the file and have no working Python interpreter, turn off the GL
  1118. ! # and Panel options, rebuild the Python interpreter, use it to create
  1119. ! # glmodule.c, and then turn the options back on.
  1120. ! #
  1121. ! # Uncomment the following block to use the GL option.
  1122. ! #GL_USE =    -DUSE_GL
  1123. ! #GL_LIBDEPS=    
  1124. ! #GL_LIBS=    -lgl_s
  1125. ! #GL_SRC =    glmodule.c cgensupport.c
  1126. ! #GL_OBJ =    glmodule.o cgensupport.o
  1127. ! # Panel Option
  1128. ! # ============
  1129. ! #
  1130. ! # If you have source to the NASA Ames Panel Library, you can configure
  1131. ! # Python to incorporate the built-in module 'pnl', which is used byu
  1132. ! # the standard module 'panel' to provide an interface to most features
  1133. ! # of the Panel Library.  This option requires that you also turn on the
  1134. ! # GL option.  It adds about 100K to the Python text size and about 160K
  1135. ! # to the unstripped binary size.
  1136. ! #
  1137. ! # Uncomment and edit the following block to use the Panel option.
  1138. ! # - Edit the PANELDIR definition to point to the top-level directory
  1139. ! #   of the Panel distribution tree.
  1140. ! #PANELDIR=    /usr/people/guido/src/pl
  1141. ! #PANELLIBDIR=    $(PANELDIR)/library
  1142. ! #LIBPANEL=    $(PANELLIBDIR)/lib/libpanel.a
  1143. ! #PANEL_USE=    -DUSE_PANEL
  1144. ! #PANEL_INCL=    -I$(PANELLIBDIR)/include
  1145. ! #PANEL_LIBDEPS=    $(LIBPANEL)
  1146. ! #PANEL_LIBS=    $(LIBPANEL)
  1147. ! #PANEL_SRC=    panelmodule.c
  1148. ! #PANEL_OBJ=    panelmodule.o
  1149. ! # Audio Option
  1150. ! # ============
  1151. ! #
  1152. ! # This option lets you play with /dev/audio on the IRIS 4D/25.
  1153. ! # It incorporates the built-in module 'audio'.
  1154. ! # Warning: using the asynchronous I/O facilities of this module can
  1155. ! # create a second 'thread', which looks in the listings of 'ps' like a
  1156. ! # forked child.  However, it shares its address space with the parent.
  1157. ! #
  1158. ! # Uncomment the following block to use the Audio option.
  1159. ! #AUDIO_USE=    -DUSE_AUDIO
  1160. ! #AUDIO_SRC=    audiomodule.c asa.c
  1161. ! #AUDIO_OBJ=    audiomodule.o asa.o
  1162. ! # Major Definitions
  1163. ! # =================
  1164. ! CC=    /bin/cc
  1165. ! STANDARD_OBJ=    acceler.o bltinmodule.o ceval.o classobject.o \
  1166. !         compile.o dictobject.o errors.o fgetsintr.o \
  1167. !         fileobject.o floatobject.o $(FMOD_OBJ) frameobject.o \
  1168. !         funcobject.o $(GETCWD_OBJ) \
  1169. !         graminit.o grammar1.o import.o \
  1170. !         intobject.o intrcheck.o listnode.o listobject.o \
  1171. !         mathmodule.o methodobject.o modsupport.o \
  1172. !         moduleobject.o node.o object.o parser.o \
  1173. !         parsetok.o posixmodule.o regexp.o regexpmodule.o \
  1174. !         strdup.o $(STRERROR_OBJ) \
  1175. !         stringobject.o $(STRTOL_OBJ) structmember.o \
  1176. !         sysmodule.o timemodule.o tokenizer.o traceback.o \
  1177. !         tupleobject.o typeobject.o
  1178. ! STANDARD_SRC=    acceler.c bltinmodule.c ceval.c classobject.c \
  1179. !         compile.c dictobject.c errors.c fgetsintr.c \
  1180. !         fileobject.c floatobject.c $(FMOD_SRC) frameobject.c \
  1181. !         funcobject.c $(GETCWD_SRC) \
  1182.           graminit.c grammar1.c import.c \
  1183. !         intobject.c intrcheck.c listnode.c listobject.c \
  1184. !         mathmodule.c methodobject.c modsupport.c \
  1185. !         moduleobject.c node.c object.c parser.c \
  1186. !         parsetok.c posixmodule.c regexp.c regexpmodule.c \
  1187.           strdup.c $(STRERROR_SRC) \
  1188. !         stringobject.c $(STRTOL_SRC) structmember.c \
  1189. !         sysmodule.c timemodule.c tokenizer.c traceback.c \
  1190. !         tupleobject.c typeobject.c
  1191.   
  1192.   CONFIGDEFS=    $(STDW_USE) $(AM_USE) $(AUDIO_USE) $(GL_USE) $(PANEL_USE) \
  1193. !         '-DPYTHONPATH="$(PYTHONPATH)"'
  1194.   
  1195.   CONFIGINCLS=    $(STDW_INCL)
  1196.   
  1197. ! LIBDEPS=    libpython.a $(STDW_LIBDEPS) $(AM_LIBDEPS) \
  1198.           $(GL_LIBDEPS) $(PANEL_LIBSDEP) $(RL_LIBDEPS)
  1199.   
  1200.   # NB: the ordering of items in LIBS is significant!
  1201. ! LIBS=        libpython.a $(STDW_LIBS) $(AM_LIBS) \
  1202. !         $(PANEL_LIBS) $(GL_LIBS) $(RL_LIBS) -lm
  1203.   
  1204.   LIBOBJECTS=    $(STANDARD_OBJ) $(STDW_OBJ) $(AM_OBJ) $(AUDIO_OBJ) \
  1205.           $(GL_OBJ) $(PANEL_OBJ)
  1206. ***************
  1207. *** 149,163 ****
  1208.   LIBSOURCES=    $(STANDARD_SRC) $(STDW_SRC) $(AM_SRC) $(AUDIO_SRC) \
  1209.           $(GL_SRC) $(PANEL_SRC)
  1210.   
  1211. ! OBJECTS=    python.obj config.obj
  1212.   
  1213. ! SOURCES=    $(LIBSOURCES) python.c config.c
  1214.   
  1215. ! GENOBJECTS=    acceler.obj fgetsintr.obj grammar1.obj \
  1216. !         intrcheck.obj listnode.obj node.obj parser.obj \
  1217. !         parsetok.obj strdup.obj tokenizer.obj bitset.obj \
  1218. !         firstsets.obj grammar.obj metagrammar.obj pgen.obj \
  1219. !         pgenmain.obj printgrammar.obj
  1220.   
  1221.   GENSOURCES=    acceler.c fgetsintr.c grammar1.c \
  1222.           intrcheck.c listnode.c node.c parser.c \
  1223. --- 354,368 ----
  1224.   LIBSOURCES=    $(STANDARD_SRC) $(STDW_SRC) $(AM_SRC) $(AUDIO_SRC) \
  1225.           $(GL_SRC) $(PANEL_SRC)
  1226.   
  1227. ! OBJECTS=    pythonmain.o config.o
  1228.   
  1229. ! SOURCES=    $(LIBSOURCES) pythonmain.c config.c
  1230.   
  1231. ! GENOBJECTS=    acceler.o fgetsintr.o grammar1.o \
  1232. !         intrcheck.o listnode.o node.o parser.o \
  1233. !         parsetok.o strdup.o tokenizer.o bitset.o \
  1234. !         firstsets.o grammar.o metagrammar.o pgen.o \
  1235. !         pgenmain.o printgrammar.o
  1236.   
  1237.   GENSOURCES=    acceler.c fgetsintr.c grammar1.c \
  1238.           intrcheck.c listnode.c node.c parser.c \
  1239. ***************
  1240. *** 165,178 ****
  1241.           firstsets.c grammar.c metagrammar.c pgen.c \
  1242.           pgenmain.c printgrammar.c
  1243.   
  1244.   # Main Targets
  1245.   # ============
  1246.   
  1247. ! python.exe:    $(OBJECTS) $(LIBDEPS)
  1248. !         $(CC) $(CFLAGS) $(OBJECTS) $(LIBS) 
  1249.   
  1250. ! libpytho.lib:    $(LIBOBJECTS)
  1251. !         \tc\tlib libpytho.lib @libobj.cmd 
  1252.   
  1253.   python_gen:    $(GENOBJECTS) $(RL_LIBDEPS)
  1254.           $(CC) $(CFLAGS) $(GENOBJECTS) $(RL_LIBS) -o python_gen
  1255. --- 370,388 ----
  1256.           firstsets.c grammar.c metagrammar.c pgen.c \
  1257.           pgenmain.c printgrammar.c
  1258.   
  1259.   # Main Targets
  1260.   # ============
  1261.   
  1262. ! python:        libpython.a $(OBJECTS) $(LIBDEPS) Makefile
  1263. !         $(CC) $(CFLAGS) $(OBJECTS) $(LIBS) -o @python
  1264. !         mv @python python
  1265.   
  1266. ! libpython.a:    $(LIBOBJECTS)
  1267. !         -rm -f @lib
  1268. !         ar cr @lib $(LIBOBJECTS)
  1269. !         $(RANLIB) @lib
  1270. !         mv @lib libpython.a
  1271.   
  1272.   python_gen:    $(GENOBJECTS) $(RL_LIBDEPS)
  1273.           $(CC) $(CFLAGS) $(GENOBJECTS) $(RL_LIBS) -o python_gen
  1274. ***************
  1275. *** 181,186 ****
  1276. --- 391,412 ----
  1277.   # Utility Targets
  1278.   # ===============
  1279.   
  1280. + # Don't take the output from lint too seriously.  I have not attempted
  1281. + # to make Python lint-free.  But I use function prototypes.
  1282. + LINTFLAGS=    -h
  1283. + LINTCPPFLAGS=    $(CONFIGDEFS) $(CONFIGINCLS) $(SYSVDEF) \
  1284. +         $(AM_INCL) $(PANEL_INCL)
  1285. + LINT=        lint
  1286. + lint::        $(SOURCES)
  1287. +         $(LINT) $(LINTFLAGS) $(LINTCPPFLAGS) $(SOURCES)
  1288. + lint::        $(GENSOURCES)
  1289. +         $(LINT) $(LINTFLAGS) $(GENSOURCES)
  1290.   # Generating dependencies is only necessary if you intend to hack Python.
  1291.   # You may change $(MKDEP) to your favorite dependency generator (it should
  1292.   # edit the Makefile in place).
  1293. ***************
  1294. *** 200,246 ****
  1295.           $(CTAGS) $(SOURCES) $(GENSOURCES) $(HEADERS)
  1296.   
  1297.   clean::
  1298. !         -rm -f *.obj core [,#@]*
  1299.   
  1300.   clobber::    clean
  1301. !         -rm -f python python_gen libpytho.lib tags
  1302.   
  1303.   
  1304.   # Build Special Objects
  1305.   # =====================
  1306.   
  1307. ! # You may change $(COMPILE) to reflect the default .c.obj rule...
  1308.   
  1309.   COMPILE=    $(CC) -c $(CFLAGS)
  1310.   
  1311. ! config.obj:    config.c 
  1312.           $(COMPILE) $(CONFIGDEFS) $(CONFIGINCLS) $*.c
  1313.   
  1314. ! fgetsintr.obj:    fgetsintr.c
  1315.           $(COMPILE) $(SIGTYPEDEF) $*.c
  1316.   
  1317. ! intrcheck.obj:    intrcheck.c
  1318.           $(COMPILE) $(SIGTYPEDEF) $*.c
  1319.   
  1320. ! posixmodule.obj:    posixmodule.c
  1321.           $(COMPILE) $(SYSVDEF) $(NOSYMLINKDEF) $*.c
  1322.   
  1323. ! sc_interpr.obj:    sc_interpr.c
  1324.           $(COMPILE) $(AM_INCL) $*.c
  1325.   
  1326. ! sc_error.obj:    sc_error.c
  1327.           $(COMPILE) $(AM_INCL) $*.c
  1328.   
  1329. ! stdwinmodule.obj:    stdwinmodule.c
  1330.           $(COMPILE) $(STDW_INCL) $*.c
  1331.   
  1332. ! timemodule.obj:    timemodule.c
  1333.           $(COMPILE) $(SIGTYPEDEF) $(BSDTIMEDEF) $*.c
  1334.   
  1335. ! tokenizer.obj:    tokenizer.c
  1336.           $(COMPILE) $(RL_USE) $*.c
  1337.   
  1338. ! #.PRECIOUS:    python libpython.a glmodule.c graminit.c graminit.h
  1339.   
  1340.   
  1341.   # Generated Sources
  1342. --- 426,478 ----
  1343.           $(CTAGS) $(SOURCES) $(GENSOURCES) $(HEADERS)
  1344.   
  1345.   clean::
  1346. !         -rm -f *.o core [,#@]*
  1347.   
  1348.   clobber::    clean
  1349. !         -rm -f python python_gen libpython.a tags
  1350.   
  1351.   
  1352.   # Build Special Objects
  1353.   # =====================
  1354.   
  1355. ! # You may change $(COMPILE) to reflect the default .c.o rule...
  1356.   
  1357.   COMPILE=    $(CC) -c $(CFLAGS)
  1358.   
  1359. ! amoebamodule.o:    amoebamodule.c
  1360. !         $(COMPILE) $(AM_INCL) $*.c
  1361. ! config.o:    config.c Makefile
  1362.           $(COMPILE) $(CONFIGDEFS) $(CONFIGINCLS) $*.c
  1363.   
  1364. ! fgetsintr.o:    fgetsintr.c
  1365.           $(COMPILE) $(SIGTYPEDEF) $*.c
  1366.   
  1367. ! intrcheck.o:    intrcheck.c
  1368.           $(COMPILE) $(SIGTYPEDEF) $*.c
  1369.   
  1370. ! panelmodule.o:    panelmodule.c
  1371. !         $(COMPILE) $(PANEL_INCL) $*.c
  1372. ! posixmodule.o:    posixmodule.c
  1373.           $(COMPILE) $(SYSVDEF) $(NOSYMLINKDEF) $*.c
  1374.   
  1375. ! sc_interpr.o:    sc_interpr.c
  1376.           $(COMPILE) $(AM_INCL) $*.c
  1377.   
  1378. ! sc_error.o:    sc_error.c
  1379.           $(COMPILE) $(AM_INCL) $*.c
  1380.   
  1381. ! stdwinmodule.o:    stdwinmodule.c
  1382.           $(COMPILE) $(STDW_INCL) $*.c
  1383.   
  1384. ! timemodule.o:    timemodule.c
  1385.           $(COMPILE) $(SIGTYPEDEF) $(BSDTIMEDEF) $*.c
  1386.   
  1387. ! tokenizer.o:    tokenizer.c
  1388.           $(COMPILE) $(RL_USE) $*.c
  1389.   
  1390. ! .PRECIOUS:    python libpython.a glmodule.c graminit.c graminit.h
  1391.   
  1392.   
  1393.   # Generated Sources
  1394. ***************
  1395. *** 248,253 ****
  1396. --- 480,493 ----
  1397.   #
  1398.   # Some source files are (or may be) generated.
  1399.   # The rules for doing so are given here.
  1400. + # Build "glmodule.c", the GL interface.
  1401. + # Ignore the messages emitted by the cgen script.
  1402. + # Also ignore the warnings emitted while compiling glmodule.c; it works.
  1403. + glmodule.c:    cstubs cgen
  1404. +         python cgen <cstubs >@glmodule.c
  1405. +         mv @glmodule.c glmodule.c
  1406.   
  1407.   # The dependencies for graminit.[ch] are not turned on in the
  1408.   # distributed Makefile because the files themselves are distributed.
  1409. *** dossrc/malloc.h    Wed Mar  6 10:05:33 1991
  1410. --- src/malloc.h    Wed Mar  6 10:05:33 1991
  1411. *** dossrc/mathmodu.c    Wed Mar  6 10:04:56 1991
  1412. --- src/mathmodule.c    Wed Mar  6 10:04:56 1991
  1413. ***************
  1414. *** 24,37 ****
  1415.   
  1416.   /* Math module -- standard C math library functions, pi and e */
  1417.   
  1418. ! #include "allobjec.h"
  1419.   
  1420.   #include <errno.h>
  1421.   #ifndef errno
  1422.   extern int errno;
  1423.   #endif
  1424.   
  1425. ! #include "modsuppo.h"
  1426.   
  1427.   #include <math.h>
  1428.   
  1429. --- 24,37 ----
  1430.   
  1431.   /* Math module -- standard C math library functions, pi and e */
  1432.   
  1433. ! #include "allobjects.h"
  1434.   
  1435.   #include <errno.h>
  1436.   #ifndef errno
  1437.   extern int errno;
  1438.   #endif
  1439.   
  1440. ! #include "modsupport.h"
  1441.   
  1442.   #include <math.h>
  1443.   
  1444. *** dossrc/metagram.c    Wed Mar  6 10:05:00 1991
  1445. --- src/metagrammar.c    Wed Mar  6 10:05:00 1991
  1446. ***************
  1447. *** 22,29 ****
  1448.   
  1449.   ******************************************************************/
  1450.   
  1451. ! #include "pgenhead.h"
  1452. ! #include "metagram.h"
  1453.   #include "grammar.h"
  1454.   #include "pgen.h"
  1455.   static arc arcs_0_0[3] = {
  1456. --- 22,29 ----
  1457.   
  1458.   ******************************************************************/
  1459.   
  1460. ! #include "pgenheaders.h"
  1461. ! #include "metagrammar.h"
  1462.   #include "grammar.h"
  1463.   #include "pgen.h"
  1464.   static arc arcs_0_0[3] = {
  1465. *** dossrc/metagram.h    Wed Mar  6 10:05:47 1991
  1466. --- src/metagrammar.h    Wed Mar  6 10:05:47 1991
  1467. *** dossrc/methodob.c    Wed Mar  6 10:05:01 1991
  1468. --- src/methodobject.c    Wed Mar  6 10:05:01 1991
  1469. ***************
  1470. *** 24,30 ****
  1471.   
  1472.   /* Method object implementation */
  1473.   
  1474. ! #include "allobjec.h"
  1475.   
  1476.   #include "token.h"
  1477.   
  1478. --- 24,30 ----
  1479.   
  1480.   /* Method object implementation */
  1481.   
  1482. ! #include "allobjects.h"
  1483.   
  1484.   #include "token.h"
  1485.   
  1486. *** dossrc/methodob.h    Wed Mar  6 10:05:48 1991
  1487. --- src/methodobject.h    Wed Mar  6 10:05:48 1991
  1488. *** dossrc/modsuppo.c    Wed Mar  6 10:04:39 1991
  1489. --- src/modsupport.c    Wed Mar  6 10:04:39 1991
  1490. ***************
  1491. *** 24,31 ****
  1492.   
  1493.   /* Module support implementation */
  1494.   
  1495. ! #include "allobjec.h"
  1496. ! #include "modsuppo.h"
  1497.   #include "import.h"
  1498. @EOF
  1499.  
  1500. chmod 644 pythdos00
  1501.  
  1502. exit 0
  1503. -- 
  1504. Mark Anacker                ...{!dsinet,!toybox}!marka
  1505. Digital Systems International, Inc.    Redmond, WA   USA    (206) 881-7544
  1506. "We have a massive leadership vacuum in this country...
  1507.     and we need to change bags" - Sen. Belfry
  1508.