Commit graph

551 commits

Author SHA1 Message Date
ceriel f7504dbd4b Cleaned up a bit more 1991-03-13 17:26:07 +00:00
ceriel 52842cd09a Cleaned up a bit 1991-03-13 13:49:56 +00:00
ceriel 0a517b9256 Changes to make node structure smaller, and cleaned up a bit 1991-03-12 16:52:00 +00:00
ceriel 3e18caaab0 fixed bug in coroutine mechanism 1991-03-11 16:21:13 +00:00
ceriel b893ec7013 m_a_i_n --> _m_a_i_n 1991-03-06 14:26:16 +00:00
ceriel 76d79cf17a Added macro's for long selections 1991-03-06 10:52:34 +00:00
ceriel 24fd4e190e Fixed bugs 1991-03-06 10:20:17 +00:00
ceriel 3a715f5479 Lay-out changes and made IMPORTS more specific 1991-03-05 13:47:08 +00:00
ceriel d8ff0feed3 Replaced some EM code by C code 1991-03-05 11:56:39 +00:00
ceriel 81cc04f9a3 Changed unsigned checking so that runtime routines cab be written in C 1991-03-05 11:55:22 +00:00
ceriel bb31795d33 removed -i flag 1991-02-20 09:48:36 +00:00
ceriel c863c96023 Made use of C_insertpart dependant on compile-time flag 1991-02-19 16:22:41 +00:00
ceriel c59e581ef2 Delinted a bit 1991-02-19 15:28:48 +00:00
ceriel b5c5f09b16 moved some static declarations that were illegal ANSI C 1991-02-19 12:44:38 +00:00
ceriel c40ca6ebbd Made ability for -g dependant on compile-time flag 1991-02-18 17:18:36 +00:00
ceriel b3deddfaf3 also handle SIGFPE; runtime start-off should leave it alone 1990-12-03 13:54:36 +00:00
ceriel 32598a47a2 Also update WorkingDir on line directives 1990-11-22 12:02:00 +00:00
ceriel 2299e83685 Wrong version committed 1990-11-22 11:48:08 +00:00
ceriel 6545b68874 Also update WorkingDir on line directives 1990-11-22 11:25:34 +00:00
ceriel b2bee3043a Did not handle RETURN's in module bodies right 1990-11-22 09:49:37 +00:00
ceriel 1136d63929 made compilable by the ACK ANSI C compiler 1990-11-02 14:29:02 +00:00
ceriel 928c2dacc5 Fixed problem with -I option 1990-09-27 17:45:34 +00:00
ceriel 282d93dde0 Fixed problems with -I and with value conformant arrays 1990-09-27 17:01:01 +00:00
ceriel 4900ad0743 improved line number administration 1990-09-14 14:37:24 +00:00
ceriel 11d8919d76 Fix: the type INTEGER[0..255] was put in one byte 1990-09-12 17:09:57 +00:00
ceriel 1cb247fa39 only deal with signals that are not ignored 1990-08-29 11:44:33 +00:00
ceriel 2a26b4d335 avoid double LINs and corrected bug in symbol table entries for records 1990-08-22 15:33:43 +00:00
ceriel 36b11dc296 improved REAL constant and string constant stab generation 1990-08-10 18:01:50 +00:00
ceriel 5ca5b63151 some more changes for debugger support 1990-08-01 14:35:07 +00:00
ceriel 8eecdff85a added support for debugger 1990-07-30 15:56:25 +00:00
ceriel 109a357e95 Fix: DIV and MOD on negative args 1990-07-16 09:05:19 +00:00
ceriel cabefb9d9e fixed -I option 1990-06-29 10:00:41 +00:00
ceriel 266d247470 fixed -I option 1990-06-28 18:06:16 +00:00
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 01829a4203 Fixes: random did not work properly, and RealToString did not deal with
numbers not fitting in the format given properly
1990-01-31 11:01:53 +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 a49ffb7945 fixed entier routine: did not work properly for negative args 1989-11-28 14:16:38 +00:00
ceriel 5d81b090b9 Corrected MathLib0.mod: entier was wrong on negative args 1989-11-27 09:37:56 +00:00
ceriel 5300633c2b improved error messages 1989-11-17 11:52:33 +00:00
ceriel 35586d769a DEFDIR fix 1989-10-25 13:37:26 +00:00
ceriel 80cb794116 Added mechanism to change default directory 1989-10-24 16:54:55 +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 008a907894 makefile removed, was path-dependant 1989-10-03 16:31:29 +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 347197573b made to compile, added proper cast 1989-07-11 12:48:40 +00:00
ceriel 7d131a2cd5 fix: did not work when called from different directory 1989-06-29 11:03:23 +00:00
ceriel 11349c78cd use better algorithms for some mathematical functions 1989-06-20 13:10:32 +00:00
ceriel 6d78cd6710 bug fix: printed some reals wrong 1989-06-20 11:43:01 +00:00
ceriel 9e151cf706 Added routines to read and write LONGREALS 1989-06-20 11:23:43 +00:00
ceriel d4389da709 initialize variable inheader 1989-06-19 11:31:22 +00:00
ceriel 197f5bc796 generated with newer makefile generator 1989-06-19 11:30:37 +00:00
ceriel b11e382851 some minor corrections 1989-06-19 09:56:16 +00:00
ceriel c1075bd08c Added Version.c 1989-05-29 10:32:46 +00:00
ceriel fd4e81f64e Modified to make the default M2 compiler name definable at compile time 1989-05-29 10:27:54 +00:00
ceriel 13bc7e128d a trap from a routine called by the termination sequence could
cause an infinite loop. This is prevented
1989-05-12 09:36: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 6e75af9cef make entry to generate .o files 1989-04-11 15:51:01 +00:00
ceriel 944c818096 Corrected some warnings a bit 1989-04-11 14:34:21 +00:00
ceriel 6f8702a65e fixed problem with hex numbers, and use new PushBack feature 1989-04-11 11:40:49 +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 3030b5edd1 better attempt to indicate start and end of own BSS; still not good
enough
1989-04-04 10:09:27 +00:00
ceriel c5345bf6ac Changed semantics of CallAtEnd so that it calls installed procedures
in reversed order
1989-03-22 17:36:20 +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 346bc839a3 use value parameters when VAR not needed 1989-03-20 13:03:34 +00:00
ceriel 9379157da7 use value parameters when VAR not needed 1989-03-20 12:46:25 +00:00
ceriel 88ebd891b1 generate -c instead of -c.$(SUFFIX) 1989-03-17 17:06:21 +00:00
ceriel bb83c44309 fixed the arctan routine 1989-03-15 13:16:40 +00:00
ceriel 6218df1293 improved error message for no RETURN from function procedure 1989-03-15 10:46:27 +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 183942e70c made return value of topsize an unsigned. Some 2/4 back-ends do
not implement BLS 4
1989-03-10 14:03:34 +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 24f3f2f10e updated to ed4 1989-03-08 17:28:08 +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 ebce0b4a18 New coroutine mechanism incorporated 1989-02-13 18:41:17 +00:00
ceriel 7b2e749b0d make runtime error messages emacs-compatible 1989-02-13 18:28:17 +00:00
ceriel 3b922f1292 fix: CHR expects a CARDINAL parameter 1989-02-09 15:43:28 +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 10157af05f fixed: the fgets replacement did not work properly 1988-12-08 16:18:29 +00:00
ceriel 18b719de80 killbss routine smarter now; does not overwrite all BSS; did not work
as it should, because systemcall interface also uses the fact that BSS = 0
1988-12-02 15:39:59 +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 da11deeece improved interface 1988-11-25 13:49:07 +00:00
ceriel 9eb1f7a67b cleaned up interface a bit 1988-11-24 11:46:31 +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 b86a455efa minor fix: sometimes wrote 0-byte 1988-11-23 11:31:20 +00:00
ceriel d7bb7c9cf3 Added termcap support 1988-11-23 10:59:09 +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 ef6f9168c4 do not refer to _exit. For some machines, it does not exist 1988-11-07 10:25:45 +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 0ba4588be1 Changed name of compiler to m2 1988-10-19 16:44:01 +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 74fba213bc DS and DE are not man macros 1988-09-07 10:01:59 +00:00
ceriel 612ddc8a4e return value sometimes was wrong 1988-09-06 15:34:47 +00:00
ceriel 575d4f5223 Extended to handle user libraries 1988-09-06 11:28:16 +00:00
ceriel a0d2a1ea74 delinted somewhat 1988-09-05 15:51:35 +00:00
ceriel dca9ed9bb2 Added stty and gtty 1988-09-02 15:40:45 +00:00
ceriel 2b47b43390 fix: did not handle the case that a program module name and file name
differ
1988-09-02 12:01:53 +00:00
ceriel 5e34ca7d2b ignore exit status of size 1988-08-24 11:39:57 +00:00
ceriel 2ffad4edb4 ignore exit status of size 1988-08-24 10:49:24 +00:00
ceriel 03610bb643 improved/speeded up using new ecvt 1988-08-10 11:12:57 +00:00
ceriel 905c5a349f fix: >= and <= were wrong in constant expressions 1988-08-05 11:22:39 +00:00
ceriel e70f6d3276 Remove m2mm on clean 1988-07-27 09:28:31 +00:00
ceriel dbbff76f4c Used new math lib of C to create new version of Mathlib 1988-07-25 16:41:51 +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 6ade1e3215 Also export LONGREAL routines 1988-06-30 16:32:54 +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 184984d472 Minor adaptions to comments 1988-06-16 11:44:31 +00:00
ceriel 969b5221f5 make interface new_stackptr cleaner 1988-06-13 10:34:14 +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 3fec1232da fixed problem with ReOrganize 1988-06-09 09:16:46 +00:00
ceriel 1347076988 changed behaviour of Allocate(..., 0) 1988-06-08 09:22:31 +00:00
ceriel 9fb5d02aa9 changed a comment 1988-06-07 12:34:04 +00:00
ceriel a22b21016e corrected cap.c 1988-06-03 09:36:08 +00:00
ceriel 066439ec19 changed int?? to em?? 1988-05-06 13:46:55 +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 58724710d1 Added some comments 1988-05-03 13:17:20 +00:00
ceriel e40b7407d5 declare some variables in init.c instead of runtime startoff 1988-05-03 12:44:32 +00:00
ceriel 781a1218a5 only increment line number on ASCII LF 1988-05-03 11:30:25 +00:00
ceriel 94bb3d3e04 improved checking 1988-05-03 09:03:19 +00:00
ceriel 7dcfb2b4ad Added a stripped version of the Unix module 1988-05-03 08:33:33 +00:00
ceriel 8b655cb67e Exchanged role of ALLOCATE/Allocate 1988-05-03 08:20:11 +00:00
ceriel f6f8a5e858 fixed another typo 1988-05-02 12:35:39 +00:00
ceriel e030fdc548 fixed typo 1988-05-02 08:46:58 +00:00
ceriel aadfe97a58 make to fit on PDP-11 again 1988-04-29 15:41:38 +00:00
ceriel 4d528bbc24 Added some unix signal handling 1988-04-29 14:38:36 +00:00
ceriel 69b293d86b types of case-labels are base-types 1988-04-29 09:16:51 +00:00
ceriel 0e501983f4 don't allow allocates bigger than MAX(INTEGER) 1988-04-28 15:13:44 +00:00
ceriel 673679e5eb improved trap handling 1988-04-27 18:11:33 +00:00
ceriel bfd4554758 fixed: did not compute hexadecimal numbers right 1988-04-26 13:47:02 +00:00
ceriel 6722c28d81 Added comment 1988-04-26 13:04:04 +00:00
ceriel 7943327f7d corrected 1988-04-26 11:43:23 +00:00
ceriel 76a93fcbc3 better error checking in Storage module 1988-04-26 11:25:36 +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 9bd075e3a0 Added TableHandl.def 1988-04-25 09:28:10 +00:00
ceriel e0d31020c8 made to conform to ACK rules 1988-04-21 18:48:15 +00:00
ceriel b82c0d9bdd Added test 1988-04-20 10:45:09 +00:00
ceriel fee10c4735 Initial revision 1988-04-20 10:43:48 +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 eb6ed2df62 Added .distr file 1988-04-18 15:00:24 +00:00
ceriel c06568406c Initial revision 1988-04-18 10:24:30 +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 d7030591f9 fixed problems in Storage module: caused integer overflow and bad pointers 1988-04-11 10:34:31 +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 f47d49b1c0 Added cap.c 1988-04-05 15:27: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 021619910e changed PascalIO.Get behaviour and used Allocate instead of ALLOCATE 1988-03-28 18:15:50 +00:00
ceriel 36e934583a many minor mods: name changes 1988-03-23 17:55:57 +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 cc64f88964 adapted to new naming scheme 1988-03-21 18:15:59 +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 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