Commit graph

1288 commits

Author SHA1 Message Date
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
dick 1d0b3910b2 more lint code 1989-03-06 15:17:39 +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 3ab954e38c adapted to new ordering in FILE struct 1989-03-02 11:24:55 +00:00
ceriel 5187e46404 speeded up a bit 1989-02-22 16:16:11 +00:00
ceriel b1626ca895 try to move side effects as much as possible to the left of the
expression tree, to avoid stacking. This is not good enough yet!
1989-02-22 16:16:08 +00:00
ceriel d5b2601b8f use a larger buffer on larger machines 1989-02-21 10:01:55 +00:00
ceriel 30959cd73f some fixes: calloc was wrong; catch traps, and let divides
by 0 generate a signal, if on a unix machine
1989-02-20 18:01:33 +00:00
ceriel f7790b0e8e empty string in directory list now means current directory 1989-02-16 11:46:39 +00:00
ceriel 1e19db9d3a empty string in directory list now means current directory 1989-02-16 11:24:01 +00:00
ceriel 00ac6f88a7 empty string in directory list now means current directory 1989-02-16 11:18:44 +00:00
ceriel eb3dcf275e fixed some problems, updated with cemcom 1989-02-14 14:35:38 +00:00
ceriel 4629647d78 fixed wrong count in popping parameters 1989-02-14 14:10:31 +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
dick 429d527a64 more and better declarations in c.llb 1989-02-10 16:46:01 +00:00
ceriel 3b922f1292 fix: CHR expects a CARDINAL parameter 1989-02-09 15:43:28 +00:00
ceriel 62d8930080 deleted makefile from distribution; Added some comments about this to
the README file
1989-02-09 15:43:25 +00:00
ceriel fb88f5dbdd fixed problem with importing enumeration literals 1989-02-08 10:24:10 +00:00
ceriel 81f2477282 Adapted to our installation 1989-02-08 09:38:15 +00:00
ceriel 04e2dac8e7 replaced some BSS by CON; The order in memory is important!
Adapted to our installation
1989-02-08 09:23:46 +00:00
ceriel 6fec436051 use an ed script instead of an ex script; more portable 1989-02-07 17:54:33 +00:00
ceriel 0bc88b77b2 fixed several problems:
- hex numbers and floating point numbers were wrong
- grammar was wrong; did not accept correct ANSI C
- prototype updates did not work
- float parameters to routines without prototype were not upgraded to double
- the dot operator no longer requires lvalue as left-hand-side
1989-02-07 13:16:02 +00:00
ceriel 926da49d39 Initial revision 1989-02-07 11:04:05 +00:00
ceriel c3f7993b1a fixed problem in sizeof() 1989-02-06 19:06:55 +00:00
dick f70dfe4d00 better evaluation order checking in expressions 1989-02-02 13:57:07 +00:00
ceriel 5e14dddb6c fix in compile time int2float conversion 1989-01-23 16:52:22 +00:00
ceriel cc55ab947d evaluate switch-expression on a different spot,
allow for *STRING expressions
1989-01-23 15:37:57 +00:00
ceriel d55d4bb69f fixed another POINTER TO IDENT problem 1989-01-19 10:58:43 +00:00
ceriel f4caec88e8 use C_con_cst instead of C_con_icon when possible;
fix sizeof(string) to return the size of the string instead of the size of
a pointer
1988-12-12 14:21:45 +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 15377abec5 Fix from Lindsey: changed CURRDIR mechanism to make it work on SunOs 4.0 1988-11-24 11:29:14 +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 430dad523d removed tab.c, use tabgen, and some fixes 1988-11-16 15:18:21 +00:00
ceriel 6ac798b50c removed tab.c, use tabgen 1988-11-16 11:23:58 +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 090f27251e fixed typo 1988-11-15 11:30:47 +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
dick 4ed20925c6 lint: printf testing and FORMATs 1988-11-03 15:18:46 +00:00
dick 7267917050 foute declaratie van sprint() 1988-11-03 14:59:47 +00:00
dick 190ea14bbf lint: retrieving string arguments from str_list 1988-11-03 13:20:27 +00:00
ceriel 3bb19b6e7d Added code-expander library 1988-10-31 14:17:17 +00:00
ceriel b5083a9ccf inline substitution of strcmp: was called many times! 1988-10-31 14:10:39 +00:00
ceriel 4f11f3c3fd fixed bug in preprocessor part:
#define aap(a) a did not work if the actual argument was spread over
multiple lines
1988-10-31 14:10:00 +00:00
dick 900421f411 library files now end in .llb 1988-10-28 16:27:32 +00:00
dick 63c0ca38f9 moving lint and lint.1 to lpass2 1988-10-28 16:04:31 +00:00
ceriel 78237f3ef8 some small fixes 1988-10-28 10:11:49 +00:00
ceriel 01252cb592 Initial revision 1988-10-26 15:21:11 +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
dick c08c3e5cf6 driver and manual page added 1988-10-13 11:31:00 +00:00
dick e66f3adc06 formats introduced in lint 1988-10-12 16:05:17 +00:00
dick ac21f8d98a formats introduced 1988-10-12 15:49:11 +00:00
dick bcb3b108a5 formats introduced 1988-10-12 15:32:32 +00:00
ceriel ac3bf2cc95 Added pascal.ign 1988-10-07 10:59:23 +00:00
ceriel 1169f99c92 Added 1988-10-07 10:58:26 +00:00
ceriel 8e7e1320ac Initial revision 1988-10-05 13:29:42 +00:00
ceriel e1b871a6ea Initial revision 1988-10-04 13:41:01 +00:00
ceriel a66faf4100 Initial revision 1988-10-04 10:56:50 +00:00
ceriel 7bac6eb164 Initial revision 1988-10-04 10:46:47 +00:00
ceriel 23a7e7b427 Initial revision 1988-10-04 10:33:39 +00:00
ceriel 6b7a135b2b Coercion from int to float is now always done compile time 1988-10-03 10:09:19 +00:00
dick 4cecb6bffb wrong Makefile committed 1988-09-30 16:49:02 +00:00
dick ff682c0cfc testing enums in switches/cases 1988-09-30 16:43:04 +00:00
dick 1fb9c249b3 refinements in error reporting 1988-09-30 15:20:24 +00:00
dick 63d95a5f0e Initial commit 1988-09-30 11:45:14 +00:00
dick 4f8b2e9926 lint: additional type tests in expressions 1988-09-29 15:24:02 +00:00
dick acf34e54ec crash() replaced by ASSERT() & NOTREACHED() in lint 1988-09-26 11:37:38 +00:00
dick 3d549e7932 reorganisation of lint code 1988-09-25 17:29:37 +00:00
ceriel 9435c895bf Added l_ files to .distr 1988-09-21 13:32:24 +00:00
ceriel b52e0e8ff1 fixed l_dummy.c to also work for the C-compiler,
added lint.h to BigPars and SmallPars,
and added stuff for CODE_EXPANDER and PEEPHOLE to Makefile
1988-09-21 11:48:29 +00:00
dick 6839d8afb1 introduction of lint source code, governed by ifdef LINT 1988-09-20 16:44:27 +00:00
ceriel 7e502b0937 fix: resolve forward references if definition is needed in lookfor() 1988-09-20 13:31:57 +00:00
ceriel f8fb06210d fixed: apparently, the profil system-call does not quite work as described
in the manual page?
1988-09-19 16:55:35 +00:00
dick 1f7115fa8d error messages and error handling 1988-09-16 23:19:50 +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
dick a206f17205 #define PRIVATE; copyright message 1988-09-02 12:00:25 +00:00
ceriel 615b67952f make somewhat safer 1988-09-01 10:07:02 +00:00
ceriel a40768b6f9 improve line number administration 1988-08-31 09:24:28 +00:00
ceriel ac92c0b9c3 made safer 1988-08-30 12:52:09 +00:00
ceriel d24592ee76 Added bsearch 1988-08-30 12:47:45 +00:00
ceriel ddc46385f3 fix: did not work properly when name != TERM 1988-08-30 12:34:40 +00:00
ceriel e102a3f5cb better checks for recursion in tc= 1988-08-30 11:37:32 +00:00
dick 32e5679d6c filename and linenumber info in more places 1988-08-29 15:51:48 +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
dick 61b8c3e9ec more modifications due to lint 1988-08-23 12:45:11 +00:00
dick 1a6665e21d initial small modifications for lint 1988-08-19 13:55:22 +00:00
ceriel e8730266e5 removed not-used variable 1988-08-19 13:40:01 +00:00
ceriel b1712321e2 made easier to patch 1988-08-19 13:26:27 +00:00
ceriel 371821c6a3 fixed typo 1988-08-11 15:59:35 +00:00
ceriel ebfc4a15a4 Added strtod.c, use it in atof 1988-08-11 12:49:06 +00:00
ceriel 8f9ed86162 ignore floating overflow/underflow 1988-08-11 09:55:22 +00:00
ceriel 094d427268 prevent overflow 1988-08-10 15:54:15 +00:00
ceriel d7d16cbede use new ecvt.c from C library 1988-08-10 11:21:40 +00:00
ceriel 03610bb643 improved/speeded up using new ecvt 1988-08-10 11:12:57 +00:00
ceriel a1032b168c fix 1988-08-10 10:41:15 +00:00
ceriel d388145dce new, much faster version 1988-08-10 09:14:43 +00:00
ceriel e6d132830a fix: line number administration wrong in scan.c 1988-08-09 14:07:39 +00:00
ceriel 2c413b9455 makefile --> Makefile 1988-08-08 18:03:12 +00:00
dick 56fff3d6cd many improvements 1988-08-07 22:55:20 +00:00
ceriel 905c5a349f fix: >= and <= were wrong in constant expressions 1988-08-05 11:22:39 +00:00
ceriel cdb038ed6f forgot leading zero in front of . in F format 1988-08-04 15:48:34 +00:00
ceriel 96fc9c9ab7 gcvt was called with wrong precision 1988-08-04 15:48:20 +00:00
ceriel 28d39e927b fixed problem with 'if (array)' 1988-08-04 14:37:06 +00:00
ceriel 1726d23a44 problem fixed: number of digits displayed and/or format was sometimes wrong 1988-08-04 11:17:27 +00:00
ceriel 56a070ad99 fixed 1988-08-03 19:24:55 +00:00
ceriel 38e7921a9d Added E, G, and g format 1988-08-03 16:29:30 +00:00
ceriel 3e66a45a0d fixed 1988-08-03 16:15:48 +00:00
ceriel caf948e80e moved getopt to stdio, because it uses it 1988-08-03 14:42:47 +00:00
ceriel 0768c4d4f1 fix to fix 1988-07-29 19:22:48 +00:00
ceriel 87c8b648fc fix in preprocessor part: macro invocation with parameterlist on the
next line did not work
1988-07-29 18:38:25 +00:00
ceriel bbe7ae21e8 BSD4.[23] could also run NFS 1988-07-28 09:26:22 +00:00
ceriel 75d52f0a3e corrected Makefiles 1988-07-28 08:37:37 +00:00
ceriel e70f6d3276 Remove m2mm on clean 1988-07-27 09:28:31 +00:00
ceriel 84acaa1163 distribute Makefile 1988-07-26 19:08:46 +00:00
ceriel fabf37e889 declared errno 1988-07-26 13:04:24 +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 e98a670850 fixed typo 1988-07-25 12:30:52 +00:00
ceriel 7b1eae1d37 fixed: call to atan changed into call to _atn 1988-07-25 11:41:19 +00:00
ceriel c9f8962fc8 mod to remove declarations in math.h 1988-07-25 11:40:57 +00:00
ceriel 324c95ae62 replaced mathematical routines by our own 1988-07-25 11:26:26 +00:00
ceriel d443f370d2 replaced mathematical routines by our own 1988-07-25 11:13:26 +00:00
ceriel b09805786d Added some prints 1988-07-22 20:58:48 +00:00
ceriel ffb6eb9ff4 Added .distr 1988-07-22 18:29:52 +00:00
ceriel 696f0b1c31 Added math 1988-07-22 18:29:51 +00:00
ceriel a18fcb9048 Initial revision 1988-07-22 16:53:29 +00:00
ceriel becd33d3a9 made to work on small machines 1988-07-18 16:45:25 +00:00
ceriel ca51618fe9 made to work; contained too many dependencies on word/pointer size 1988-07-18 16:41:04 +00:00
ceriel 02154c02b2 fixed problem with D scale factor 1988-07-13 20:13:17 +00:00
ceriel f8cf94da98 changed text 1988-07-13 17:44:14 +00:00
ceriel eec2ea8ffe changed text; did not work properly 1988-07-13 17:39:20 +00:00
ceriel db95ccff91 updated; the int command now is an interpreter 1988-07-13 13:51:57 +00:00
ceriel 20e2452350 updated dependencies 1988-07-11 19:22:19 +00:00
ceriel 6d7522ba44 fixes for Xenix 1988-07-11 13:24:32 +00:00
ceriel 778baeb2c0 fixes for Xenix 1988-07-11 13:18:43 +00:00
ceriel cd54a85aec updated dependencies 1988-07-11 12:57:24 +00:00
ceriel 3aabba530d fixes for Xenix 1988-07-11 12:53:01 +00:00
dick 9dd080ae4b various improvements 1988-07-08 22:24:06 +00:00
ceriel d1a390924f we were lucky, but - indicates a range; corrected 1988-07-08 10:29:48 +00:00
ceriel 8fc459e811 fix: was wrong with constants causing overflow 1988-07-07 15:02:47 +00:00
ceriel beb142ed98 print longs with %ld 1988-07-07 14:19:16 +00:00
ceriel b4265c5407 removed the result3 variable; it was not used anymore 1988-07-07 09:59:32 +00:00
ceriel b365c53262 removed temp file 1988-07-06 18:18:46 +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 44014704a0 forgot C_magic 1988-07-05 18:27:10 +00:00
ceriel e1cb398e02 made to fit on PDP-11 1988-07-05 18:06:00 +00:00
ceriel 901d12332d removed faulty.h from makefile 1988-07-05 16:21:05 +00:00
ceriel a2905da259 don't use stdio.h 1988-07-05 10:53:53 +00:00
ceriel c10adfa7cf removed README 1988-07-04 15:24:24 +00:00
ceriel db0c67dd10 made to work 1988-07-04 13:41:47 +00:00
ceriel 93bdacae44 updated 1988-07-04 11:45:53 +00:00
ceriel c39c666834 Initial revision 1988-07-04 11:45:41 +00:00
ceriel bd5583311e corrected some more 1988-07-04 11:44:03 +00:00
ceriel 5157a5a186 several fixes for new basic compiler 1988-07-01 17:30:06 +00:00
ceriel c2af3d7faa allow for three digits in exponent 1988-07-01 11:56:08 +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 77830f353c small fix 1988-06-29 10:49:24 +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 0c386e3032 tolower was called without checking for isupper; adapted 1988-06-10 14:28:32 +00:00
ceriel f2b485740b adaptions for generation of compiler with embedded code-generator 1988-06-10 09:17:45 +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 5ce46ce603 removed faulty.h, updated Parameters 1988-06-03 09:33:29 +00:00
dick 885d03a020 Initial version 1988-05-30 17:17:16 +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 2468ee6d34 did not compile with NOPP defined 1988-05-02 15:37:13 +00:00
ceriel d5f6dfeb2a did not compile with USE_TMP not defined 1988-05-02 14:40:35 +00:00
ceriel 132e8d0baa minor fixes 1988-05-02 14:13:25 +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 23aca9118e improved clean entry 1988-04-29 09:22:57 +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 2a11727622 updated to current situation 1988-04-28 13:38:24 +00:00
ceriel 673679e5eb improved trap handling 1988-04-27 18:11:33 +00:00
ceriel 5891ec12a0 corrected brk and sbrk somewhat 1988-04-27 18:02:59 +00:00
ceriel 420ca09aee improved; now also runs with interpreter 1988-04-27 13:01:25 +00:00
ceriel 39d3496f4b Added termcap.c 1988-04-26 18:23:40 +00:00
ceriel 8acf1542f6 updated dependencies 1988-04-26 16:15:25 +00:00
ceriel 5a7fa39fc9 updated dependencies 1988-04-26 16:03:36 +00:00
ceriel 8781ada304 generate more register messages 1988-04-26 15:33:48 +00:00
ceriel a0799c99ec Initial revision 1988-04-26 14:33:11 +00:00
ceriel db786790ee made epsd 1e-14 instead of 1e-17 1988-04-26 14:10:55 +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 71dd29ae30 improved layout 1988-04-25 16:17:29 +00:00
ceriel 6607dc999e fixed; va_end(list) should be va_end(ap) 1988-04-25 15:31:58 +00:00
ceriel 093a970d7f generate scope info for functions 1988-04-25 12:55:25 +00:00
ceriel 9bd075e3a0 Added TableHandl.def 1988-04-25 09:28:10 +00:00
ceriel 4410cc5cdf main should return value 1988-04-22 16:00:01 +00:00
ceriel 48f7be1f8e corrected; did some shifts that have undefined result 1988-04-22 15:49:20 +00:00
ceriel e0d31020c8 made to conform to ACK rules 1988-04-21 18:48:15 +00:00
ceriel 5f4707b280 improved comments; should now be understandable for anyone who knows EM 1988-04-21 10:08:56 +00:00
ceriel e41fd6d8a9 corrected typo 1988-04-21 09:21:18 +00:00
ceriel 79e3ac1a26 improved setjmp 1988-04-20 16:58:29 +00:00
ceriel 536716ba84 rewritten setjmp: compiler now gives a bit more support 1988-04-20 15:33:17 +00:00
ceriel ae50580eff new handling of setjmp; now pass return address 1988-04-20 15:28:10 +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 da872ef789 assert macro has one parameter 1988-04-19 09:57:44 +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 35e749a72f Added id.sed 1988-04-18 10:23:45 +00:00
ceriel 132548a987 Added a distr entry 1988-04-18 10:21:30 +00:00
ceriel d1c9c94493 generate message about parameter count 1988-04-15 17:29:02 +00:00
ceriel 9dbd7bdcf5 check for total size of locals and parameters 1988-04-15 17:25:01 +00:00
ceriel 2549099d3b use varargs where needed 1988-04-15 15:19:27 +00:00
ceriel d1fee09721 Use varargs where needed 1988-04-15 15:07:51 +00:00
ceriel 143fe678d4 use stty/gtty instead of ioctl 1988-04-15 15:03:32 +00:00
ceriel ecaea97a99 make to use varargs.h 1988-04-15 14:43:19 +00:00
ceriel 355177a22c improved sbrk 1988-04-14 10:45:42 +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 eddb43c08e catch possibly occurring trap with stores in the HP 1988-04-11 12:51:22 +00:00
ceriel d7030591f9 fixed problems in Storage module: caused integer overflow and bad pointers 1988-04-11 10:34:31 +00:00
ceriel 5250c1571f Added m2 1988-04-08 13:10:18 +00:00
ceriel 32d38f3eb8 two versions of the parameters file: small and large 1988-04-08 10:04:03 +00:00
ceriel b671136060 don't generate HOL's of zero size 1988-04-08 09:46:04 +00:00
ceriel ec612942a1 a minor mod 1988-04-07 15:35:48 +00:00
ceriel 0760483bee minor mod 1988-04-07 15:30:37 +00:00
ceriel cc4c9e85c8 Added id.sed 1988-04-07 15:02:12 +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
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
ceriel e0f737c293 include <sys/time.h> on 4.2 systems 1987-07-17 09:38:18 +00:00
ceriel e04230a126 bug fixes, name changes 1987-07-16 19:51:40 +00:00
ceriel 4804ab14b8 fix: wrong free 1987-07-16 16:08:13 +00:00
ceriel 0619d27b8d use new C_insertpart mechanism, other minor changes 1987-07-16 13:27:37 +00:00
ceriel d843ec9f7a fixes with error_type, make "type" struct more compact. 1987-07-16 09:34:44 +00:00
ceriel 59e3fd6c2c Added NOFL to Makefile, to pass NOFLOAT. Also improved the clean entry 1987-07-13 16:50:57 +00:00
ceriel b93dc94cdb Added and corrected some comments 1987-07-13 13:34:56 +00:00