Commit graph

337 commits

Author SHA1 Message Date
ceriel 39fee04619 fix previous fix 1990-06-11 15:17:50 +00:00
ceriel 8e6fe7258c fix: ARRAY type of itself caused crash;
better implementation of ranges in CASE labels
1990-03-06 13:22:30 +00:00
ceriel bcf2aa511c bug fix: casts of constants to a set type caused memory fault 1990-01-18 10:12:38 +00:00
ceriel c3b3faf7a4 Added support for constant floating point expressions 1989-12-19 09:40:25 +00:00
ceriel a8033da29e better error checking 1989-12-07 16:28:05 +00:00
ceriel 5300633c2b improved error messages 1989-11-17 11:52:33 +00:00
ceriel b4504c0f73 parameterize back library name (needed for SUN) 1989-10-18 11:51:12 +00:00
ceriel 9c403e7299 Added mechanism to make peephole optimizer version bigger (needed for SUN-3) 1989-10-18 11:39:19 +00:00
ceriel 654715cf8a Added mechanism for generating fast compilers 1989-10-13 09:59:54 +00:00
ceriel 73246f3824 Improved checks for conversion between cardinal and integer 1989-08-21 17:08:54 +00:00
ceriel d277946286 changed name of some identifiers to more accurately represent their
meaning, and fixed a problem with sometimes not detecting overflow in
constants
1989-08-08 09:11:32 +00:00
ceriel 5f35d0c644 fixed behaviour on too long floating point constants 1989-07-26 11:16:59 +00:00
ceriel 228fe4b4d0 undef PASS_BIG_VAL_AS_VAR for now; it does not work properly in all cases 1989-07-17 15:37:04 +00:00
ceriel b11e382851 some minor corrections 1989-06-19 09:56:16 +00:00
ceriel dfc5d7318c Added cemain entry in Resolve script 1989-04-26 11:32:46 +00:00
ceriel e967e920be removed one goto 1989-04-19 15:00:07 +00:00
ceriel ec3d8bb5aa fix: filename label sometimes turned up as external 1989-04-14 18:25:39 +00:00
ceriel 944c818096 Corrected some warnings a bit 1989-04-11 14:34:21 +00:00
ceriel ff853d748c using new input module simplifies EOI handling 1989-04-04 15:02:47 +00:00
ceriel 0995f7a809 better error handling, simplified EOI handling with improved input module 1989-04-04 14:53:48 +00:00
ceriel 4e21aced73 bug fix in WITH statement: called WalkDesignator instead of ChkDesig 1989-03-22 11:07:21 +00:00
ceriel 3a3b5db45d made the previous changes in parameter passing mechanism and return
value mechanism settable with compile time constants
1989-03-22 09:53:47 +00:00
ceriel f9b6acf1dc New version with different parameter passing mechanism and some
minor fixes
1989-03-20 13:32:06 +00:00
ceriel 21a8f93bc7 adapted for larger function result area 1989-03-14 15:36:33 +00:00
ceriel c81a6a0c7a better warnings for unused/undefined parameters 1989-03-13 15:04:05 +00:00
ceriel 162b824030 Changed method for returning big values; Instead of using a chunk of
global data area, caller creates space on the stack just above parameters
to store the result
1989-03-10 10:40:07 +00:00
ceriel 018d91b6a1 Added options 1989-03-03 16:16:52 +00:00
ceriel a1b4e28760 Added a local extension: procedure constants 1989-03-03 16:13:45 +00:00
ceriel 1e19db9d3a empty string in directory list now means current directory 1989-02-16 11:24:01 +00:00
ceriel fb88f5dbdd fixed problem with importing enumeration literals 1989-02-08 10:24:10 +00:00
ceriel d55d4bb69f fixed another POINTER TO IDENT problem 1989-01-19 10:58:43 +00:00
ceriel 5252b760d9 handle intorcard_type better in case statements 1988-11-29 13:13:03 +00:00
ceriel 73ac23824b changed error messages, initialize bss with funny value, and be
somewhat more conservative with memory usage
1988-11-28 12:54:38 +00:00
ceriel 6a8360b335 Fix from Lindsey: changed CURRDIR mechanism to make it work on SunOs 4.0 1988-11-24 09:41:39 +00:00
ceriel 982138b8da another minor problem fixed: only test on options['R'] once
in a FOR statement!
1988-11-23 13:10:57 +00:00
ceriel b8cc947bc3 removed tab.c, use tabgen 1988-11-16 11:04:17 +00:00
ceriel a08e71a16f removed tab.c, use tabgen 1988-11-16 10:58:33 +00:00
ceriel f1245e2e00 fixed some problems:
- removed null-reference in illegal use of pointers in constant expressions
- FOR-loops that count downwards did not work
- POINTER TO mechanism changed; works better now
1988-11-15 14:45:59 +00:00
ceriel b90690ba5d Changed translation of FOR-statement: now, if it is executed 0
times, the loop-control-variable is not assigned to
1988-11-04 13:12:14 +00:00
ceriel d418617de6 new version number 1988-11-04 10:24:34 +00:00
ceriel 93cee9d434 Fixed problem with IMPORTS through PROCEDURE bounds 1988-11-03 15:37:37 +00:00
ceriel 5e766a0f20 Fixed bug with underscores in identifiers 1988-11-03 15:36:46 +00:00
ceriel a7a80689bf Only generate FIL when needed 1988-10-25 17:43:19 +00:00
ceriel 416020b5bd fixed minor problem with subranges 1988-10-21 17:24:34 +00:00
ceriel ce0ec1c143 delinted somewhat 1988-10-13 15:43:23 +00:00
ceriel 7e502b0937 fix: resolve forward references if definition is needed in lookfor() 1988-09-20 13:31:57 +00:00
ceriel 64aae9d435 DS and DE are not man macros 1988-09-07 10:13:36 +00:00
ceriel a0d2a1ea74 delinted somewhat 1988-09-05 15:51:35 +00:00
ceriel 5e34ca7d2b ignore exit status of size 1988-08-24 11:39:57 +00:00
ceriel 905c5a349f fix: >= and <= were wrong in constant expressions 1988-08-05 11:22:39 +00:00
ceriel 02154c02b2 fixed problem with D scale factor 1988-07-13 20:13:17 +00:00
ceriel d1a390924f we were lucky, but - indicates a range; corrected 1988-07-08 10:29:48 +00:00
ceriel 2ea025fdb4 fixed previously introduced error 1988-07-06 09:43:05 +00:00
ceriel afc4d5211b made to fit on PDP-11 ... 1988-07-05 19:06:40 +00:00
ceriel 74c779b81e mods to handle forward references better 1988-06-30 14:50:30 +00:00
ceriel fa9e4c5ea3 corrected minor problem 1988-06-30 09:19:06 +00:00
ceriel 3ed0f85ba7 fixed typo 1988-06-29 13:13:49 +00:00
ceriel 8f9818c385 Added short-hand for C_cal+C_asp, made interface new_stackptr cleaner 1988-06-13 10:29:36 +00:00
ceriel 3d044db749 improved error messages with opaque types 1988-06-09 11:39:11 +00:00
ceriel b9943e0ca2 minor update 1988-05-03 15:17:13 +00:00
ceriel 2a1191bfc1 fixed very minor bug: strings should be aligned on word_boundaries 1988-05-03 15:04:30 +00:00
ceriel 781a1218a5 only increment line number on ASCII LF 1988-05-03 11:30:25 +00:00
ceriel aadfe97a58 make to fit on PDP-11 again 1988-04-29 15:41:38 +00:00
ceriel 69b293d86b types of case-labels are base-types 1988-04-29 09:16:51 +00:00
ceriel bfd4554758 fixed: did not compute hexadecimal numbers right 1988-04-26 13:47:02 +00:00
ceriel 6c825b7892 fixed hexadecimal character class 1988-04-26 10:51:50 +00:00
ceriel 2bbecf2416 better argument checking of standard functions 1988-04-26 10:14:01 +00:00
ceriel d260937564 improved layout with varargs 1988-04-25 16:24:42 +00:00
ceriel 9d3f9ea496 fixed a small problem with the 'symmetric' option; also fixed a
problem with Hex numbers
1988-04-19 14:40:27 +00:00
ceriel d1c9c94493 generate message about parameter count 1988-04-15 17:29:02 +00:00
ceriel 2549099d3b use varargs where needed 1988-04-15 15:19:27 +00:00
ceriel 1da83e161b made to fit on PDP-11 again, and some other minor mods 1988-04-13 18:37:45 +00:00
ceriel 39c5ab2997 better ORD, VAL, and CAP, and some other minor mods 1988-04-12 09:19:06 +00:00
ceriel 54bfaff625 Added a mechanism to test pointers as soon as possible 1988-04-11 18:32:47 +00:00
ceriel 32d38f3eb8 two versions of the parameters file: small and large 1988-04-08 10:04:03 +00:00
ceriel c8a728969d some minor changes and a fix in pointer arithmetic 1988-04-06 18:14:50 +00:00
ceriel 2be8437d73 identifiers may not contain two consecutive underscores, and a fix 1988-03-31 16:09:53 +00:00
ceriel 702a73b734 identifiers may not contain two consecutive underscores, and a fix 1988-03-31 16:02:20 +00:00
ceriel 7f9fd963fd many minor mods 1988-03-23 17:44:25 +00:00
ceriel e71df15045 made to fit on PDP-11 again 1988-03-22 17:54:01 +00:00
ceriel fba9192bbc new version, with 2/4 handling 1988-03-21 18:22:52 +00:00
ceriel dea657a673 too many changes: some cosmetic; some for 2/4; some for added options 1988-03-21 17:43:54 +00:00
ceriel 795a078d08 too many changes: some cosmetic; some for 2/4; some for added options 1988-03-21 17:22:26 +00:00
ceriel 0976dfa3b9 too many changes: some cosmetic; some for 2/4; some for added options 1988-03-21 17:06:20 +00:00
ceriel bb51d7b0e2 too many changes: some cosmetic; some for 2/4; some for added options 1988-03-21 16:47:51 +00:00
ceriel 759f4738ca too many changes: some cosmetic; some for 2/4; some for added options 1988-03-21 16:36:31 +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 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 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 a22ab5c7b7 better error message 1988-01-28 16:54:33 +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 a7cdd16125 Allow the checking of definition modules 1988-01-22 12:04:27 +00:00
ceriel ad2d61154b fixed some minor problems 1988-01-15 16:55:01 +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 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 619f6bb893 Fixed bug: subranges of subranges did not work right 1987-11-17 14:29:14 +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 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 6e5f3632c6 fixed some minor problems 1987-11-03 12:44:09 +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 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 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 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 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 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 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 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 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 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 956fa21b89 fix: variable sets were handled wrong 1987-08-03 18:20:55 +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 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 0bffe65c24 some more fixes 1987-07-22 10:59:24 +00:00