-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathNEWS
500 lines (291 loc) · 13.5 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
GNU Cim NEWS
Copyright (C) 1997-99 Sverre Hvammen Johansen
See the end for copying conditions.
Version 5:
* Verson 5 implements the compiler, runtime ststem, and the
generated C code using prototyped functions.
* Many bugfixes, especally bugs where int and long was used
incorrectly. Such bugs shows up on 64-bit platforms where int is
32 bit but long is 64 bit.
Version 4:
* Version 4 is experimental. If you want a stable compiler, please use
version 3 instead.
Version 3:
* The compiler may use a lot of virtual memory. If that is a problem
for you, please split your program into separate compiled modules
or use version 2 of cim instead.
* Cim uses libtool to build static and shared libraries. Se README for
details.
Version 2:
* Cim uses libtool to build static and shared libraries. Se README for
details.
Version: 4.3
* Bugfix: New in combination with inspect did not work correctly.
Version: 4.2
* Integrated the changes in cim-3.28 - cim-3.35
* Note: There are a lot of changes in the src directory.
All files under lib are identical, except simenvir.atr and
simfile.atr.
Version: 4.1
* Used enum instead of #define for tokens in mellbuilder.h
* Used typedef:
sent_t replaces struct SENT
exp_t replaces struct EXP
decl_t replaces struct DECL
block_t replaces struct BLOCK
and so on
Version: 4.0
* Rearranged some of the code in the compiler program
* Implemented an alternative where the accumulator stack is placed
inside the block objects, instead of a global accumulator stack which
must be saved in acst-objects. The run-time system can also be
simplified.
* MPROCARG and MCONC objects no longer save to stack-elements.
An MSTACK object is introduced instead.
* -DDEBUG works when compiling the compiler program. Implemented
some new debug options.
* Only reserve a for-list-element index variable when necessary.
Version 3.35
* Minor changes. Corrected a bug that remained from version 3.34.
Version 3.34
* Fixed a bug which caused option -a to not work correctly. NULL from
externernal C text procedures are now acepted. Replaced bzery by memset
and bcopy by memmove. directive %INSERT is now accepted as a synonym
for %INCLUDE. '%\r' is now accepted as a directive line comment.
Doing some preparation for Mingw32. Please not upgrade now. More bugs
will be corrected later.
Version 3.33
* Minor changes so that the C-compiler will compile with TenDRA C.
The RTS and generated C-code will not compile with TenDRA C, without
major changes. I belive that the TenDRA C compiler is broken.
Version 3.32
* Broken configure script: Because of libtool upgrade some configure tests
needed corrections.
Version 3.31
* Fixed a bug which produced incorrect code for some actual
parameters to simple parameters transmitted by name.
* Upgraded to libtool-1.3.3.
Version: 3.30
* Released as a GNU program
* Fixed a bug which produced incorrect code for dotted actual
parameters to arrays transmitted by value.
Version: 3.29
* Fixed a bug which caused segmentation fault when running programs
containing gotos to non-local virtual labels.
Version: 3.28
* Fixed a bug which caused segmentation fault when compiling array
declarations in some contexts.
Version: 3.27
* A really seriouse bug-fix, please upgrade: Transmission of
parameters to prefixed blocks was missing i previouse versions.
Version: 3.26
* Corrected a tiny bug in the code-generator.
Version: 3.25
* Corrected a bug which may report "(null) is declared twice" for
external compiled modules.
* Corrected a bug in genpar.c, a missing blank which caused C-compilation
of generated code to fail. Same bug corrected in version 2.11.
* Corrected a bug which reported real-constant ** negative-integer-constant
as an error.
Version 3.24
* Corrected a bug concerning programs that contained an inner
inside a while- or if-statement.
* Updated cim.spec.in so that cim is buildroot-capable.
Version 3.23
* Version 3 is not experimental anymore. Please use version 3 instead of
version 2 and report bugs related to version 3 to cim-bug@ifi.uio.no
* Updated cim.spec.in
Version 3.22
* Corrected an error which caused constant computation over ** to fail
for right arguments of type real.
Version 3.21
* Corrected an error which caused execution external modeles which
contained references to sysout or sysin (either directly or
indirectly) to fail.
Version 3.20
* Version 3.19 solved the problem with real numbers on big-endian
arcitectures.
* All transformations are done before the tree are handed over to the
code-generator.
* Part of code-generation for for-statements are separated out in
an arcitecture independent part.
Version 3.19
* Just a test to try to solve a problem with real numbers.
Version 3.18
* Cim 3.16 and 3.17 was buildt wrong, needed to rerun autoheader.
I had a wrongly configured autoheader laying around that I was not
able to get rid of. Lets try one more time.
Version 3.16
* "Fagernes 316": My parents home phone number before 1975 (Berit and
Thormod __JOHAN(SEN)__). John 3:16 For God so loved the world, that
he gave his only begotten Son, that whosoever believeth in him should
not perish, but have everlasting life.
* Correcting a bug which often made execution fail after garbage collection.
* Corrected a bug in lib/Makefile.am, which caused a rebuild of
{simset,simulation}.{atr,c} even if they where up to date.
* The simulatool-test passed. Please use version 1.3 of simulatool
* Updated the CURRENT interface number for libcim.lo.
* Some other minor changes
Version 3.15
* Restructured the code, generation for expressions. Gencall and friends
have been made arcitecture independent. Gencall splits the expression
up into several simpler expressions which are handed over to genexp
for code-generation.
* Changed the order of subdirectories in the toplevel Makefile.am.
Version 3.14
* Added removeBlock () which allows removal of BLOCK objects.
* Added an atribute when to struct DECL
* Corrected a bug in dekl.c which reported blokk is declared twice
for prefixed blocks.
* Implemented removal of unused block objects. Required a different
scheme for reservation of labels.
* Corrected a bug which for some external modules reported
__blokk0' undeclared
* Renamed gen.c to genlabel.c
Version 3.13
* Corrected some bugs that remained from version 2, conserning
user defined subclasses of class FILE and co. The structs for
these objects are now generated by the compiler instead of
* Corrected some bugs that remained from version 2, conserning
transmision of array/label/procedure parameters to formal or
virtual procedures.
* Reorganized genstruct.c. All produced code are now written to
one single file (.c).
* All initialization of prototypes are now done by the compiler.
Version 3.12
* Corrected a few bugs: Simula test-batch passed
Version 3.11
* Corrected a bug for the for-statement. The following did not work:
... INTEGER i; FOR i:= 1 STEP 1 UNTIL 10.0 do ...
* Added cim.spec to the distribution so that binary and source
packages can be buildt using `rpm -ta cim-3.??.tar.gz'
* Restructured gen.c. Most of the code have been moved to sentgen.c.
* Added option --enable-dump to the configure script.
Version 3.10
* Errors reported from the parser missed a newline.
Version 3.9
* The bugfix for ... was not done corectly in version 3.8.
* Corrected the yacc grammar so that ... specifications
are parsed corectly.
* Corrected extspec.c so that ... specifications are written
corectly in the produced .mif file.
* By default the .shl file is removed after compilation.
Version 3.8
* Corrected some bugs that was trigged on sparc.
* Corrected a bug conserning use of ... in external declared modules.
* Done some cleanups in feil.[ch], and renamed it to error.[ch]
Version 3.6
* Upgraded to automake-1.3
Version 3.5
* Added use of OBSTACK to handling of %ifdef and co, and corrected a bug
which was present in the old code.
* Added a new module mapline.[ch] which uses OBSTACK. It handles the
mapping of line-numbers to real line numbers and real source files.
* The compiler should produce exactly the same output as cim-2.8,
please test this out.
* Many of the logical limitations in the compiler have been removed
as we now use OBSTACK
* Added use of OBSTACK to the rest of the modeles for the compiler-driver.
* Done some cleanups in dekl.c, filelist.c, extspec.c name.c and lex.c
Version 3.4
* Added obstack.[ch] to the distribution
* Done some cleanups in dekl.[ch]: Eliminated use of arrays.
Added use of OBSTACK.
Version 3.3
* Done some prearrangements for implementation of an optimazing compiler
* Added use of OBSTACK. At the current moment OBSTACK is not included in
the distribution. This will be added some time in the future.
* Restructured sjekker.c. The files which replaces sjekker.[ch] are
listed below.
* mellbuilder.c is a replacement for the .m file. It uses OBSTACK.
* sentbuilder.c builds a tree for all the sentences/blocks read from
mellbuilder. It uses OBSTACK.
* expbuilder.c builds a tree for each expression read from mellbuilder.
It uses OBSTACK.
* expchecker.c checks the expressions for semantic errors. A few
transformations are also done.
* sentchecker.c check the sentences/blocks and interacts with decl.c
to set current block which are stored in each SENT object so that
current block is available for checking of expressions and code generation.
* sentgen.c is the new interface to the code generator. In future
releases it is intended to include part of gen.c
* Some changes in dekl.c, gen.c, genexp.c, genpar.c and
genstruct.c for getting the new scheme to work.
Version 2.10
* Once more: Hopefully corrected install bug for cygwin32.
Version 2.9
* Corrected bug in procedure Poisson
* Hopefully corrected install bug for cygwin32.
Version 2.7
* Included stdio.h in navn.c so that it will compile with gcc under
sparc-sun-sunos4.1.3_U1
* Correctet a tiny bug in cimcomp.c
Version 2.6
* Added this file to the distribution.
* Updated README with compilation instructions
* Modified the Makefile in the lib directory so that it should be
portable across different make-implementations.
* Concerning exec'ing the shl-script: Setting arg0 equal the name of
the shl-script and prepend the shl-name with ./ so that the correct
script will be started. This is necessary to get it to work under
cygwin32.
Version 2.5
* Install the cim-library in $(libdir) instead of $(pkglibdir)
so that the correct library will be found.
Version 2.4
* simset.c, simset.h, simset.atr, simulation.c, simulation.h, and
simulation.atr will not be deleted by make (dist)clean. simset.shl,
simulation.shl, simset.mif, and simulation.mif will be deleted by the
clean target.
* Added a newline at the end of the generated C-code so that some
C-compilers will not complain.
* Removed some unnecessary code in the beginning of the generated code
so that some C-compilers would not complain about unreachable code.
Version 2.3
* make (dist)clean will not delete the library of atr-files.
Will only be deleted for the target maintainer-clean.
* cim --version now return 0 instead of 1.
Version 2.2
* Introduced 8 byte alignment, so that it should work under most modern
architectures
* The generated C-file include references to line-numbers in the
original Simula-file, so that a C-debugger will get references back to
the Simula-source file instead of the C-file.
Version 2.1
* A few bug-fixes that remained from 1.93
* The compiler-driver have been rewritten, so that the C-compiler and
the linker is started from a script that is exec'd so that the
resources that is allocated by Cim is freed before these parts are
started.
* The implementation of simula-libraries have changed. .o and .atr
files are now always located in separate ar-archives. The archive of .atr
files is included in the distribution so that it also will work on
systems that is not able to build this archive.
* A few options to the compiler have changes, and new ones have been
introduced. Se the documentation for details.
* Makefile.in's are generated by automake-1.12.
* Both static and shared libraries are now supported by use of
libtool-1.0.
* Djgpp, VMS and some older unix-variants are not longer supported
correctly. We suggest that you use GNU-WIN32/CYGWIN32 instead of Djgpp
(URL: http://www.cygnus.com/misc/gnu-win32/).
* For external modules a human-readable file which gives the signature
of the module is generated (.mif). This file can be used for documentation.
* New syntax for specification of parameters have been introduced.
This syntax is not documented, except in parser.y. The new syntax
is used in the .mif-file. Try to compile an external module.
Version 1.93
* Version 1 of cim if frozen to cim-1.93.tar.gz and is the only
version with support for Djgpp, VMS and some older Unix-variants.
* Changes not recorded.
----------------------------------------------------------------------
Copyright information:
Copyright (C) 1997, Sverre Hvammen Johansen
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
copyright notice and this permission notice are preserved,
thus giving the recipient permission to redistribute in turn.
Permission is granted to distribute modified versions
of this document, or of portions of it,
under the above conditions, provided also that they
carry prominent notices stating who last changed them.