Commit graph

695 commits

Author SHA1 Message Date
ceriel 759f4738ca too many changes: some cosmetic; some for 2/4; some for added options 1988-03-21 16:36:31 +00:00
ceriel 134869ad1a Added an array bound checking procedure 1988-03-18 18:08:20 +00:00
ceriel 33f80c6eef adapted for 2/4 code generation, and also fixed some bugs 1988-03-18 14:23:04 +00:00
ceriel 987683cf99 Added some comment 1988-03-16 09:20:36 +00:00
ceriel 750c838141 forgot to pop old handler 1988-03-15 17:37:19 +00:00
ceriel bda28533c5 fix in writing of prompt 1988-03-15 13:48:56 +00:00
ceriel 4b79636b8f fixed a problem with #ifdef/#else/#endif 1988-03-08 11:42:00 +00:00
ceriel 1a259744af The Get routine did not work right, fixed 1988-03-08 11:28:00 +00:00
ceriel ea21b16846 Added dependency 1988-03-08 10:44:09 +00:00
ceriel 78926a5a84 fix typo and parameters of overflow 1988-03-08 10:35:53 +00:00
ceriel 5cf3fc1017 some minor mods, mostly for better line number tracking 1988-03-08 10:18:58 +00:00
ceriel d949e3e8c5 some more fixes to fixes 1988-02-19 16:52:54 +00:00
ceriel dead814781 Of course: fixes to previous mods 1988-02-19 16:36:45 +00:00
ceriel 31ddd5ca12 mainly new comments 1988-02-19 15:54:01 +00:00
ceriel 96fc577b15 new version using the Streams module 1988-02-19 13:05:03 +00:00
ceriel 17921c4b5a Added the ArraySort module 1988-02-19 12:53:15 +00:00
ceriel 4e0c9a780a fixes and other mods 1988-02-17 17:21:51 +00:00
ceriel d04dce377a Changed use of word_align: it now only indicates the alignment on
which word-operations are allowed to take place
1988-02-17 14:29:57 +00:00
ceriel d034f5145c malloc now allows users to use sbrk too,
setjmp/longjmp now save/restore the signal mask on BSD 4.2 systems,
some minor mods in atof
1988-02-16 17:48:39 +00:00
ceriel 7bc8ed1270 fixed: returned wrong value 1988-02-16 17:48:28 +00:00
ceriel b54a58e93c made counting for register messages depending on a #define,
adapted makefile to make version with peephole optimizer library
1988-02-16 16:23:00 +00:00
ceriel 5d861a3399 made to work 1988-02-15 18:08:46 +00:00
ceriel d6c52e0fef make to work with new em_code interface 1988-02-15 18:04:27 +00:00
ceriel d7d501d43a made to fit on a PDP-11 again 1988-02-10 14:06:34 +00:00
ceriel 78de25b639 New baseline for distribution 1988-02-09 11:45:30 +00:00
ceriel 6217293e23 some fixes:
- always remove imports from definition modules
- minor improvement in error messages
1988-02-09 11:41:08 +00:00
ceriel f2dc30c912 modified to use Streams module 1988-02-03 14:34:40 +00:00
ceriel eb2ce1f30b This version fixes many problems in older versions 1988-02-02 16:27:54 +00:00
ceriel da3c00aeac compare pointers with CMP 1988-02-01 10:17:51 +00:00
ceriel 9d83605ccd Added the Streams module 1988-01-29 11:35:45 +00:00
ceriel a22ab5c7b7 better error message 1988-01-28 16:54:33 +00:00
ceriel 99611d287b conversion routinew now initialize whole array, Epilogue module changed slightly 1988-01-28 16:37:55 +00:00
ceriel 16e381031b improved filename and linenumber generation 1988-01-28 16:15:16 +00:00
ceriel 72e13f3a5a Yet another fix. ChkUnOper can also be called with a COERCION operator,
when NEW and DISPOSE are expanded
1988-01-28 14:05:34 +00:00
ceriel 7bb1897e98 minor fixes 1988-01-27 15:10:16 +00:00
ceriel e67e59e56a bug fix in LONGINT constants 1988-01-26 13:54:24 +00:00
ceriel e5b9c564af Added the Epilogue module 1988-01-25 16:14:48 +00:00
ceriel b19a178e2e fixed a bug with string-initializers 1988-01-25 16:14:01 +00:00
ceriel a7cdd16125 Allow the checking of definition modules 1988-01-22 12:04:27 +00:00
ceriel 9dfa2f6979 Added a test that at some point failed for the new CEMCOM 1988-01-19 11:45:43 +00:00
ceriel ad2d61154b fixed some minor problems 1988-01-15 16:55:01 +00:00
ceriel 31757c1935 output of id.c was wrong 1988-01-12 15:56:42 +00:00
ceriel 897b86cba2 prevent a voluntary crash and generate better code 1988-01-11 14:06:20 +00:00
ceriel d98394f0cf Added a test for casts 1987-12-04 12:53:18 +00:00
ceriel a8703841b2 changed typing of constants, to be more compatible with PCC
and future standard
1987-12-03 11:12:02 +00:00
ceriel a61d36ff49 fixes and squeezing 1987-12-02 10:41:38 +00:00
ceriel 3627b9a16c added use checking for types and constants, improved overflow checking 1987-11-27 14:24:46 +00:00
ceriel 3e51d4f62f version with better overflow checking 1987-11-27 14:13:11 +00:00
ceriel 896fec3fc5 version with better overflow checking 1987-11-26 14:15:24 +00:00
ceriel b2824fe796 check number of locals and parameters 1987-11-24 14:21:35 +00:00
ceriel ea2c86ef0c do not allow reals as case labels, check size of array's 1987-11-24 13:22:04 +00:00
ceriel 70403f62d9 fixed a bug: casts to short or char did not work right 1987-11-23 13:48:09 +00:00
ceriel c41f63a4c8 %[...] did not work 1987-11-20 12:57:51 +00:00
ceriel 619f6bb893 Fixed bug: subranges of subranges did not work right 1987-11-17 14:29:14 +00:00
ceriel 7bbfcac62b generate CSA for empty case statement, replaced an #ifdef that was on the wrong spot 1987-11-13 16:21:33 +00:00
ceriel 808e5d8c7d generate CSA for empty case statement 1987-11-13 16:19:51 +00:00
ceriel 603c65950c Fixed some problems:
files that use the em_code module must include the em_code.h file
improved checking of definitions after use
fixed problem with ranges in case statements
1987-11-11 13:10:08 +00:00
ceriel 4489526a11 fixed some minor problems 1987-11-09 16:11:04 +00:00
ceriel b6d6c4ee57 changed mechanism for for-loop checking, added some trap numbers 1987-11-09 11:36:45 +00:00
ceriel 785e174cbb Added mechanism for non-cross compiler (yet another way of squeezing it onto
a PDP-11
1987-11-09 11:29:48 +00:00
ceriel e1a3a1c136 made to fit on a PDP-11 1987-11-09 10:17:20 +00:00
ceriel cf0852c846 print initializer expression before call to code_declaration 1987-11-04 16:30:02 +00:00
ceriel 2837aa68a7 fixed some minor problems with copying conformant arrays,
and a LB that pointed below SP in transfer
1987-11-03 15:04:21 +00:00
ceriel 6e5f3632c6 fixed some minor problems 1987-11-03 12:44:09 +00:00
ceriel 867232a244 fixed some minor problems 1987-11-02 17:59:18 +00:00
ceriel 017871b025 deleted debugging writes 1987-11-02 11:25:13 +00:00
ceriel b24e6763c3 changed trap messages somewhat, corrected bug in InOut, undone changes
to confarray.c
1987-11-02 11:22:06 +00:00
ceriel bc6a9fbf66 Added handling of cardinal overflow 1987-10-30 18:32:14 +00:00
ceriel 5cd95d47b2 Now detects use before declaration, f.i. in
VAR k: REAL;
REAL : INTEGER;
1987-10-30 09:19:23 +00:00
ceriel 3c63f1b656 sets now allowed for all subranges 1987-10-28 16:10:02 +00:00
ceriel b668810351 sets now allowed for all subranges 1987-10-28 16:03:56 +00:00
ceriel d80b501829 Fixed some problems, and improved range-checking 1987-10-28 11:10:30 +00:00
ceriel 4974cd17eb Added new files to do range checks 1987-10-27 11:55:59 +00:00
ceriel 04f0550f1d do not warn about not using a type-identifier that indicates
an enumeration type and is imported, because its enumeration literals
might be used
1987-10-27 09:45:27 +00:00
ceriel 7df117128c fixed for very large numbers 1987-10-22 15:26:36 +00:00
ceriel cf330f732c increased buffer size 1987-10-22 14:07:54 +00:00
ceriel b75744f0d4 replace 10 by 10.0, so that the conversion is not done at runtime 1987-10-22 13:58:48 +00:00
ceriel 245397491a increased buffer size, check for end 1987-10-22 13:35:05 +00:00
ceriel 16a335ab42 removed some IMPORTS that were never used 1987-10-21 11:49:14 +00:00
ceriel 015e1b776e Some corrections and additions to improve the mechanism for
generating warnings on unused/uninitialized variables
1987-10-21 11:29:52 +00:00
ceriel 688567a532 fix in reference counts for sets 1987-10-20 13:32:18 +00:00
ceriel a24c90f5a9 fixed some problems: ADS was generated with size > pointer_size;
some (most) backends dont implement that.
Unstacking of macros did not quite work properly, but I dont know why
1987-10-20 09:36:34 +00:00
ceriel 503edee161 New version, with an option for strict Modula-2, and
warnings for unused or uninitialized variables
1987-10-19 11:28:37 +00:00
ceriel 67cf9c4933 some fixes 1987-10-19 10:06:24 +00:00
ceriel f25570dd4e replaced calls to NEW by calls to ALLOCATE 1987-10-15 15:41:00 +00:00
ceriel 5c7379738b Some minor adaptions 1987-10-15 12:59:03 +00:00
ceriel 4695d966ee next version 1987-10-14 12:38:01 +00:00
ceriel fc6a8c5aa8 some minor fixes 1987-10-14 12:34:47 +00:00
ceriel e61b887e31 improved previous fix 1987-10-05 16:17:51 +00:00
ceriel 38f70a3a06 new version for distr 1987-10-05 15:52:02 +00:00
ceriel 5d5e497d22 fixed a problem with procedures imported from other modules but not
declared in their definition modules
1987-10-05 15:41:30 +00:00
ceriel 4c7dc7eb20 did not work with CASE statements with large difference between lower
and upper bound
1987-10-05 15:40:53 +00:00
ceriel efcb9468f4 fixed some bugs:
- switch with BIG difference between lower and upper now handled correctly
- made sure an added error production is never chosen as the default one
- don't allow AUTO as specification for a parameter
1987-10-05 10:17:44 +00:00
ceriel 9d2bfee634 some fixes 1987-09-28 13:45:24 +00:00
ceriel 8c6981f642 ran 'make depend' again 1987-09-28 10:18:02 +00:00
ceriel a4c02d15c6 new version 1987-09-24 13:42:50 +00:00
ceriel c5674041bf Some minor mods and a bug fix with type transfer functions 1987-09-24 13:07:31 +00:00
ceriel e30234fce8 Initial revision 1987-09-24 13:01:27 +00:00
ceriel fd817d4dbc Minor adaptions in order to reduce the size 1987-09-23 16:39:43 +00:00
ceriel 8d2afe1103 some more fixes 1987-09-14 12:41:08 +00:00
ceriel 74c758e503 some more fixes 1987-09-14 11:24:12 +00:00
ceriel 617f210cf8 Added FORchk.c 1987-09-10 15:56:28 +00:00
ceriel 286acd933c make sure argument to open is terminated by a 0-byte 1987-09-08 15:35:34 +00:00
ceriel 18996b9698 brk must return pointer size 1987-09-02 14:54:32 +00:00
ceriel 93eba2874d previous fix was wrong; added another 1987-09-02 12:52:44 +00:00
ceriel c93f6d9fb1 yet another fix in freopen: re-opening for reading did not work properly 1987-09-02 12:43:23 +00:00
ceriel 7e2c3130b0 dont count when USE_TMP is not defined 1987-09-01 10:41:35 +00:00
ceriel2 adce53f009 fix for statics in nested blocks 1987-08-28 09:56:00 +00:00
ceriel 99f8e49e93 FLOAT did not work 1987-08-24 14:23:13 +00:00
ceriel 6fdd5b6a6d FLOAT did not work 1987-08-24 13:59:06 +00:00
ceriel f0fc857cb4 compiler could not handle using addresses of procedures declared
in imported definition modules. This is corrected
1987-08-24 11:42:37 +00:00
ceriel 86b6fe60ea corrected option handling 1987-08-20 13:12:43 +00:00
ceriel d8370d797b do not accept p flag 1987-08-19 18:13:19 +00:00
ceriel 0983b7700f changed code for loops a bit, and fixed an error in MkCoercion 1987-08-19 18:07:41 +00:00
ceriel 19b0c2a0b0 disabled range-checks 1987-08-19 18:07:01 +00:00
ceriel 7dc04a3207 some minor corrections 1987-08-19 15:23:41 +00:00
ceriel cc524c3d9a fixed bugs in tzset and ttyslot, adapted malloc to allocate in bigger chunks 1987-08-19 14:44:54 +00:00
ceriel 1c85c44fad an attempt to improve error correction on unknown type identifiers.
Also, a minor fix to ival.g
1987-08-18 10:05:18 +00:00
ceriel b53309f9f6 fixed: resulted in memory faults in rare cases 1987-08-17 20:32:00 +00:00
ceriel 46589d5798 not finding an include file is fatal 1987-08-17 14:36:55 +00:00
ceriel c7990b3d31 some fixes to freopen 1987-08-17 14:23:16 +00:00
ceriel b8fb8a57fa fixed setbuf. count field was set wrong 1987-08-14 20:32:08 +00:00
ceriel a7b7fa4162 Added the possibility to disable range-checks 1987-08-11 10:50:30 +00:00
ceriel d0b452373b yet another fix in those tricky FOR-loops 1987-08-11 08:58:20 +00:00
ceriel 51169956dc some more fixes, and tried to make smaller 1987-08-10 21:43:47 +00:00
ceriel abf9c71fa9 Generated code for FOR-loops was wrong 1987-08-10 13:01:54 +00:00
ceriel e5af61151e nestlevel count per file 1987-08-10 11:17:20 +00:00
ceriel 4623ed60b0 fixes to preprocessor part 1987-08-07 19:53:54 +00:00
ceriel bfd6e2061f fixed a bug with setjmp.
Fixed a bug with non-struct pointers referring to structs
1987-08-06 14:19:06 +00:00
ceriel 759026de6a to .m instead of .k 1987-08-06 10:27:10 +00:00
ceriel 0b8262a167 handle returns better 1987-08-06 09:55:00 +00:00
ceriel d34064d660 resulted in 32768 instead of -32768 on a PDP-11 1987-08-04 08:59:50 +00:00
ceriel 956fa21b89 fix: variable sets were handled wrong 1987-08-03 18:20:55 +00:00
ceriel af3e759da2 fix blocks.c 1987-08-03 14:40:49 +00:00
ceriel 1640b8cad8 fix: may no address more memory than is present blocks.c 1987-08-03 14:04:44 +00:00
ceriel d10dd029b5 updated 1987-08-03 09:47:46 +00:00
ceriel 9c014b9e64 some fixes and cosmetic changes 1987-08-03 09:09:07 +00:00
ceriel 064f2b6a8b new version that passes current tests 1987-07-30 14:21:19 +00:00
ceriel 0e397f09f3 many changes; some cosmetic; coercions now explicit in tree 1987-07-30 13:37:39 +00:00
ceriel 300623ac88 changed order in LIST, ReadString from InOut still did not work right 1987-07-28 13:46:13 +00:00
ceriel 3af275f8d6 A different way of detecting conformant arrays 1987-07-22 17:02:54 +00:00
ceriel d502a17312 added docs about -Xi flag 1987-07-22 13:42:46 +00:00
ceriel 0aea30473c some small fixes and additions 1987-07-22 12:42:10 +00:00
ceriel 0bffe65c24 some more fixes 1987-07-22 10:59:24 +00:00
ceriel 03c5092815 fixed a bug: constant sets were not handled right on 4-byte machines 1987-07-22 09:21:00 +00:00
ceriel 19e580bdc9 fixed a typo 1987-07-22 09:12:47 +00:00
ceriel 6614384f3c fixes, changes to make smaller on PDP 1987-07-21 13:54:33 +00:00
ceriel 36a5618dc8 do not generate mes 11 AND mes 3! 1987-07-17 14:30:30 +00:00
ceriel 5331d4d232 set _buf to 0 on open 1987-07-17 14:04:14 +00:00
ceriel de55f34bbd name changes, fix in computation of set sizes 1987-07-17 13:50:04 +00:00