Commit graph

1012 commits

Author SHA1 Message Date
eck 85c9115d5b converted to ANSI C 1989-05-10 10:20:14 +00:00
ceriel fdf26a7f06 reversed a-option 1989-05-10 10:19:22 +00:00
eck d20988a1cb Initial revision 1989-05-10 09:39:49 +00:00
ceriel c1ff4f2725 default is assertions ON 1989-05-09 15:54:01 +00:00
ceriel d62d0c68ee not include em_path.h anymore 1989-05-08 12:39:33 +00:00
ceriel 600d569269 removed printf 1989-05-03 11:14:42 +00:00
ceriel a94dec52d8 Many improvements by Hans van Eck 1989-05-03 10:30:22 +00:00
ceriel 19638876a1 Adapted for new Pascal Compiler 1989-05-03 09:53:25 +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 4d5f61ce45 fixed clock for larger word sizes 1989-04-07 09:20:06 +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 7a7d0e413b recognize but ignore #pragma 1989-03-31 11:47:12 +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
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