Project

General

Profile

Statistics
| Branch: | Revision:

root / src / nedxml / ChangeLog @ 79bb12dc

History | View | Annotate | Download (44 KB)

1 01873262 Georg Kunz
2010-06-11  ------ omnetpp-4.1 released ------
2
3
2010-06-11  Andras Varga
4
5
	* fix: SAX parsers did not close the input file
6
7
2010-05-31  ------ omnetpp-4.1rc2 released ------
8
9
2010-05-09  Andras Varga
10
11
	* opp_msgc feature: implemented @sizetype property for array fields.
12
	It can be used to specify the C++ type of the array size and array 
13
	indices (by default it is unsigned int). Affects the size variable,
14
	the getter, setter, array size getter and array size setter methods
15
	as well.
16
17
	* msg2.y: keywords "int", "char", "unsigned" etc are not accepted in
18
	property values. Useful for @sizetype (above). Without this change,
19
	type would need to be enclosed in quotes: @sizetype("unsigned short").
20
21
	* opp_msgc: fixed bug #136: a "using namespace" line inside a 
22
	cplusplus {{...}} block messed up parsing
23
24
2010-04-20  ------ omnetpp-4.1b4 released ------
25
26
2010-03-31  Andras Varga
27
28
	* ned2.y: upped the GLR stack size from the default 200, as it was
29
	too small for parsing NED files with complex expressions
30
31
2010-03-25  Andras Varga
32
33
	* nedxml: added isInnerType() to NEDTypeInfo class
34
35
2010-03-14  ------ omnetpp-4.1b3 released ------
36
37
2010-01-29  Andras Varga
38
39
	* ned2.y: fixed ambiguity when parsing @foo(key=,"val"); solution
40
	is that equal sign should not be allowed as part of the value.
41
42
2009-07-18  Andras Varga
43
44
	* opp_msgc: further refinements related to recent changes
45
46
2009-07-16  Andras Varga
47
48
	* nedxml: fixes in comment parsing (tabs were handled incorrectly)
49
50
2009-07-15  Andras Varga
51
52
	* opp_msgc: fixed namespace support. It is now possible to use types
53
	from other namespaces as base class, field type, or field enum.
54
55
	To place generated types into a namespace, add a namespace declaration
56
	at the top of the msg file (existing feature); examples:
57
	  namespace foo;
58
	  namespace proj::pkg::subpkg;
59
60
	Example for using types from another namespaces:
61
62
	  message proj::ABCPacket;
63
	  message ABCPacketExt extends proj::ABCPacket {
64
	      ...
65
	  }
66
67
	Example 2:
68
69
	  class proj::pkt::Bundle;  // explicit namespace
70
	  class ::cQueue;           // global namespace (needs "::")
71
	  class SomeData;           // msg file's namespace
72
	  message SomePacket {
73
	      proj::pkt::Bundle bundle;
74
	      cQueue queue;   // recognized as ::cQueue
75
	      SomeData data;
76
	  }
77
78
	If the message file declares a namespace, then unqualified names in
79
	type announcements are understood as from the same namespace; names
80
	from the global namespace need to be explicitly prefixed with "::"
81
	to remove ambiguity. Thus, you need write "class ::cQueue;" and not
82
	"class cQueue;".
83
84
	  namespace foo;
85
	  packet MyPacket;  // understood as foo::MyPacket
86
	  class cQueue;     // WRONG -- would be understood as foo::cQueue
87
	  class ::cQueue;   // correct
88
89
	* opp_msgc: improved cplusplus blocks: their contents can be placed
90
	into or outside the namespace {...} block in the generated header file,
91
	depending on whether the block occurs before or after the namespace
92
	declaration in the msg file.
93
94
	* opp_msgc: removed support for enum inheritance (which was an
95
	undocumented and generally unused feature, with several issues)
96
97
2009-07-10  Andras Varga
98
99
	* opp_msgc: implemented @codegen and @descriptor properties (msg-file
100
	equivalent of -Xnc, -Xnd, -Xns command line options):
101
102
	- @existingClass(true) in a message/class/struct instructs opp_msgc
103
	  not to generate code for the class (this is useful if the class
104
	  already exists, and one only wants to generate reflection info for it)
105
106
	- @descriptor(false) instructs opp_msgc not to generate reflection
107
	  info (cClassDescriptor) for the class
108
109
	- @descriptor(readonly) instructs opp_msgc not to generate field
110
	  setters for the reflection info class (cClassDescriptor)
111
112
  	* opp_msgc: added generation of descriptor method findField()
113
114
  	* opp_msgc: generates more efficient code for getFieldTypeString(),
115
        getFieldName(), and getFieldTypeFlags()
116
117
        * opp_msgc: bugfix: namespace was missing from the name string of the
118
        generated descriptor class, so appropriate descriptor could never
119
        be found by name
120
121
2009-06-25  Andras Varga
122
123
	* NEDTypeInfo: handle @class in compound module types as well
124
125
2009-03-12  ------ omnetpp-4.0 released ------
126
127
2009-02-27  ------ omnetpp-4.0rc2 released ------
128
129
2009-01-21  Andras Varga
130
131
	* ned2.y: definition of property_value made more permissive
132
133
2008-12-14  Andras Varga
134
135
	* opp_msgc: improvement related to bug #33. Type announcement now can
136
	specify the base class of the declared class. If missing, the class is
137
	assumed to subclass from cOwnedObject. To declare that the class does
138
	not have any base class interesting to opp_msgc, one must declare it
139
	as "extends void". Summary:
140
141
	  class X {...}              ==> generated with cObject as base class
142
	  class X extends void {...} ==> generated with no base class
143
144
	  class X extends void;         |
145
	  class X extends cObject;      |==> type announcement with base class
146
	  class X extends cOwnedObject; |
147
148
	  class X;            ==> equals to: class X extends cOwnedObject;
149
	  class noncobject X; ==> equals to: class X extends void;
150
	  message X;          ==> equals to: class X extends cMessage;
151
	  packet X;           ==> equals to: class X extends cPacket;
152
153
	"extends" in declarations may name ancestor instead of direct base class
154
155
2008-12-12  ------ omnetpp-4.0rc1 released ------
156
157
2008-12-02  Andras Varga
158
159
	* opp_msgc: fixed bug #15 (class descriptor was generated with the
160
	intermediate class name (x__Base) not the real class name)
161
162
2008-11-26  Andras Varga
163
164
	* library renamed to oppnedxml
165
166
2008-10-26  Andras Varga
167
168
	* opp_msgc: generates boilerplate code for dll export/import symbol
169
170
2008-08-28  Andras Varga
171
172
	* DatarateChannel parameters to be declared with "default()"
173
174
2008-07-31  Andras Varga
175
176
	* added "packet" keyword to msg files. It is like "message", except
177
	that it generates "cPacket" as base class
178
179
2008-07-14  Andras Varga
180
181
	* ned1.lex, ned2.lex, msg2.lex: accept UTF-8 BOM mark (EF BB BF).
182
	Note: NED only accepts international chars inside comments, but
183
	not within indentifiers
184
185
2008-07-01  Andras Varga
186
187
	* opp_msgc: doPacking/doUnpacking functions for arrays and primitive
188
	types moved out of the generated code into the simkernel headers
189
	include/packing.h
190
191
2008-06-16  Andras Varga
192
193
	* opp_msgc: added support for C99 integer types (int8_t, uint64_t, etc),
194
	also without "_t" suffix (int8, uint64), and for float.
195
196
	* opp_msgc: added support for @nopack field property ("don't include
197
	in netPack()/netUnpack()")  [requested by Ingmar Baumgart]
198
199
	* opp_msgc: for the record, supported properties are:
200
201
	class properties:
202
	- @customize(<bool>)
203
	- @omitGetVerb(<bool>)
204
205
	field properties:
206
	- @enum(<string>)
207
	- @nopack(<bool>)
208
	- @getter(<string>)
209
	- @setter(<string>)
210
	- @sizeGetter(<string>)
211
	- @sizeSetter(<string>)
212
	- @editable(<bool>)
213
214
	field properties recognized by Tkenv inspectors:
215
	- @label(<string>)
216
	- @group(<string>)
217
	- @hint(<string>)
218
219
	Note: by default, getter for a field named "isFoo" is going to be
220
	named "getIsFoo". To change this to "isFoo", specify @getter(isFoo)
221
	on the field.
222
223
2008-02-23  Andras Varga
224
225
	Summary of nedxml changes for omnetpp-4.0 (2006..2008):
226
227
	* major revision of the NED language. The most significant changes are:
228
	- changed to curly brace syntax
229
	- channels became first-class types
230
	- added module and channel interfaces, to formalize "like" relationships
231
	- added inheritance (may add/refine parametes, gates, submodules, connections)
232
	- added inner types (primarily to allow local channel definitions)
233
	- added Java-like package system and imports
234
	- split "numeric" parameter type to int and double
235
	- non-const parameters are now called volatile (const is no more)
236
	- expressions can now work with string and XML types as well
237
	- support for "like" submodule vectors where each module is of different
238
	  NED type (syntax: foo[5]: <> like IFoo; inifile: **.foo[*].typename = "Foo")  FIXME not implemented yet
239
	- added inout gates and bidirectional connections
240
	- the in/out "halves" of inout gates may connected independently
241
	- more flexible gate vectors (size can be set inside or outside the module type)
242
	- added conditional connection groups
243
	- added support for default display string (default icon, color etc) for module and channel types
244
	- added "properties" (@foo(value[s]) syntax; useful for various annotations)
245
	- display string turned into property (@display)
246
	- added handling of physical units and their conversion (@unit property)
247
	- added support for C++ namespaces (@namespace property)
248
	- added support for explicitly specifying C++ implementation class (@class property)
249
	- parameter prompt string became @prompt property
250
	- further usage of properties envisioned (gate labelling, statistics declaration, etc)
251
	- dropped feature: conditional parameters and gatesizes sections (?: can be used instead)
252
	- dropped feature: ancestor parameters (violates encapsulation principle)
253
	- dropped feature: ref keyword (parameters are now always taken by reference)
254
	- no more implicit conversion between bool and long/double
255
	- max NED function arg count is now 10
256
257
	The following changes were made to nedxml:
258
259
	* significant changes to ned2.dtd, which describes NED's XML binding
260
	and internal representation (AST).
261
262
	* there are now two parsers (ned1.y and ned2.y), for the old and the new
263
	syntax, and a heuristics decides which one to use. ned1.y produces the same
264
	(new) AST as ned2.y, so old NED files can be read and used without problems
265
266
	* there are two NED source generators as well (for NED1 and NED2), so
267
	it is possible to generate NED in the old syntax too (of course only
268
	a subset of the new NED language can be used, those compatible with the
269
	old syntax)
270
271
	* new classes: NEDResourceCache, NEDTypeInfo. They are used by the sim
272
	kernel's network builder as well.
273
274
	* nedtool convenience options for converting and reformatting (pretty-
275
	printing) NED source files: -k, -P, -Q
276
277
	* out-of-directory build, and other Makefile changes
278
279
	* not yet implemented: full NED validation (NEDCrossValidator); generating
280
	C++ code (_n.cc files) from NED files
281
282
2008-02-23  Andras Varga
283
284
	MERGED src/nedc ChangeLog in into this ChangeLog. The src/nedc source
285
	directory got deleted, after moving opp_msgc in here. (src/nedc used to
286
	contain the old nedc (aka jar), until it was removed in March 2005).
287
288
	Summary of opp_msgc changes for omnetpp-4.0 since 12/2007:
289
290
	* opp_msgc: fix: when msg file was given with full path, the #include
291
	in the generated _m.cc file also contained the full path
292
293
	* opp_msgc: eliminated "unused variable pp" warnings in generated code
294
295
	* opp_msgc: accepts wildcards as well as directories as arguments;
296
	directories will be interpreted as "<dir>/*.msg" (non-recursive)
297
298
	* opp_msgc: now accepts multiple files, and also does dependency
299
	check (does not overwrite _m.cc/h file if it's already up to date).
300
	The -A option to turns off timestamp check (ie will always overwrite
301
	the _m.cc/h files)
302
303
	* opp_msgc: added C++ namespace support (syntax: namespace foo;)
304
305
2006-12-14  Andras Varga
306
307
	* nedtool.cc moved to nedxml/
308
309
2006-11-06  Andras Varga
310
311
	* opp_msgc: alternative syntax for properties: @prop or @prop(value)
312
313
	* opp_msgc: class-level properties currently understood:
314
	  @customize (or: @customize(true))
315
	  @omitGetVerb (or: @omitGetVerb(true))
316
317
	* opp_msgc: field properties currently understood:
318
	  @enum(enumname);
319
	  @editable or @editable(true);
320
	  @getter(methodname),
321
	  @setter(methodname);
322
	  @sizeGetter(methodname),
323
	  @sizeSetter(methodname);
324
	  @label(some-text);
325
	  @hint(some-text)
326
327
	* see src/sim/sim_std.msg for an example usage of these properties
328
329
2006-10-22  Andras Varga
330
331
	* opp_msgc: added -Xnc, -Xnd, -Xns options, because we want to generate
332
	reflection info for simkernel built-in classes (see src/sim/sim_std.msg)
333
334
2006-10-13  Andras Varga
335
336
	* opp_msgc: generate covariant return types for dup(), replace
337
	findEnum() with cEnum::find().
338
339
2006-10-21  ------ omnetpp-3.3 released ------
340
341
2006-10-14  Andras Varga
342
343
	* opp_msgc: added version check into generated code
344
345
2006-10-04  Andras Varga
346
347
	* opp_msgc: don't accept reserved words as identifiers
348
349
2006-10-04  Andras Varga
350
351
	* ned.y: msg file syntax handling made more liberal: accept expressions
352
	as field initializers
353
354
2006-01-12  ------ omnetpp-3.2p1 released ------
355
356
2006-01-09  Andras Varga
357
358
	* nedtool, opp_msgc: return exit code 0 when called without args (just
359
	to print help)
360
361
2005-10-19  ------ omnetpp-3.2 released ------
362
363
2005-09-22  Andras Varga
364
365
	* nedtool.cc: reverted change on 2005-04-04, and implemented @listfile
366
	and @@listfile syntax:
367
	@listfile: listfile should contain one file per line (@ or @@ listfiles
368
	   also accepted). Files are interpreted as relative to the listfile.
369
	   @ listfiles can be invoked from anywhere, with the same effect.
370
	@@listfile: like @listfile, but contents is interpreted as relative to
371
	   the current working directory. @@ listfiles can be put anywhere,
372
	   including /tmp -- effect only depends on the working directory.
373
	@@listfile is primarily used by opp_neddoc.
374
375
2005-09-22  Andras Varga
376
377
	* nedbasicvalidator.cc: enabled parent module gates to get connected
378
	with "++". Parentmodgate++ connects the first unconnected gate, but
379
	it doesn't create new ones -- it is an error to exceed sizeof(gate).
380
381
2005-09-14  Andras Varga
382
383
	* opp_msgc: adapted to dup() return type change, see include/ChangeLog
384
385
2005-08-08  Andras Varga
386
387
	* cppgenerator.cc: assign submodule parameters, gatesizes etc
388
	in that submodule's context (use cContextSwitcher); same for network.
389
	This is mainly needed for ModNameParamResolver to work correctly
390
	($MODULE_NAME etc for XPath expressions are taken from the module
391
	in context).
392
393
2005-08-07  Andras Varga
394
395
	* cppgenerator.cc: don't look for module type if module vector size
396
	is zero.
397
398
2005-07-06 Andras Varga
399
400
	* ned.dtd, ned.y, etc: added support for message declarations in msg
401
	files (message-decl element, MessageDeclNode class)
402
403
2005-08-05  Andras Varga
404
405
	* opp_msgc: generate both const and non-const getter methods for
406
	fields of class or struct type.
407
408
	* opp_msgc: generate a protected and unimplemented operator==(),
409
	to prevent accidental usage of compiler-generated one
410
411
	* opp_msgc: added the possibility to set a base class field.
412
	E.g. kind=5 will generate the setKind(5) line into the constructor.
413
	Currently opp_msgc is not prepared to check if such field actually
414
	exists in the base class, so such errors may only be detected during
415
	C++ compilation.
416
417
2005-08-04  Andras Varga
418
419
	* opp_msgc: it is no longer required to write out "fields:" in an
420
	otherwise empty class definition
421
422
	* opp_msgc: added the possibility to declare generated classes to be
423
	dllexport/dllimport on Windows:
424
	   opp_msgc -P MY_EXPORT_DEFINE foo.msg
425
426
	* opp_msgc: generated C++ header now contains relevant part of the
427
	.msg files as Doxygen comment
428
429
2005-04-04  Andras Varga
430
431
	* nedtool.cc: fixed a bug introduced in 3.1: while it's true that
432
	name of an included list file should be understood as relative to
433
	location of list file which includes it, but names of NED files
434
	in them should be relative to current working directory.
435
436
2005-03-31  ------ omnetpp-3.1 released ------
437
438
2005-03-23  Andras Varga
439
440
	* main.cc renamed to nedtool.cc
441
442
2005-03-11  Andras Varga
443
444
	* opp_msgc: fix: with customize=true, opp_msgc generates a comment in
445
	the .h file containing the minimum code the user has to write -- dup()
446
	in that code was missing const modifier [reported by Kurtis Kredo]
447
448
2005-03-02  Andras Varga
449
450
	* nedc (old "jar") removed; replacement is NEDXML and nedtool
451
452
2005-01-10  Andras Varga
453
454
	* main.cc (nedtool): factored out platform dependencies to include/platdep
455
456
2004-12-29  ------ omnetpp-3.0 released ------
457
458
2004-12-06  Andras Varga
459
460
	* ned.y: negative int or real constants were parsed as -1*x, which
461
	caused problems for input() with negative default values
462
463
	* cppexprgenerator.cc/h: generate inline expression (not expression
464
	class) for const parameters
465
466
	* cppexprgenerator.cc/h: fixed handling of index, sizeof(), input()
467
468
2004-12-22  Andras Varga
469
470
	* opp_msgc: fix: in generated setArraySize(), avoid calling "new [0]"
471
	if size==0 is passed.
472
473
2004-12-19  Andras Varga
474
475
	* opp_msgc: fix: if a message was subclassed in another .msg file, base
476
	class fields were not visible in Tkenv [reported by Julien Cartigny]
477
478
2004-11-29  Andras Varga
479
480
	* ebnf.y: malloc.h changed to stdlib.h. Change needed for Mac OS/X
481
	[patch from Michael Tuexen]
482
483
2004-11-29  Andras Varga
484
485
	* ned.y: malloc.h changed to stdlib.h. Change needed for Mac OS/X
486
	[patch from Michael Tuexen]
487
488
2004-11-23  ------ omnetpp-3.0b1 released ------
489
490
2004-11-19  Andras Varga
491
492
        * main.cc (nedtool): implemented -h option [thanks Johnny]
493
494
2004-11-03  ------ omnetpp-3.0a9 released ------
495
496
2004-11-02  Andras Varga
497
498
	* Makefile.in/vc, nedgrammar.h: prefix ned parser symbols with "nedyy"
499
	(-p nedyy and -Pnedyy options to bison and flex) to avoid conflicts
500
	with parsers in other libraries. [Akaroa was reported by Ana Cristina
501
	Aguiar, TU Berlin]
502
503
2004-10-25  Andras Varga
504
505
	* cppgenerator.cc: updated for fullPath() signature change (see
506
	include/ChangeLog)
507
508
2004-10-04  ------ omnetpp-3.0a8 released ------
509
510
2004-09-25  Andras Varga
511
512
        * opp_msgc: added support for initializers in structs (generates
513
        constructor for structs now). Fields without initializer are
514
        initialized to zero.
515
516
        * opp_msgc: "message" keyword is also accepted in forward declarations
517
518
2004-09-24  ------ omnetpp-3.0a7 released ------
519
520
2004-09-13  Andras Varga
521
522
        * saxparser_libxml.cc: if document has DOCTYPE, validate document
523
        and complete attrs from DTD.
524
525
        * saxparser_expat.cc: error message if document has DOCTYPE declared,
526
        because we cannot validate it with Expat, nor complete default attrs
527
        from DTD
528
529
2004-09-24  Andras Varga
530
531
        * opp_msgc: adds some Doxygen comments to the generated classes
532
533
2004-07-27  Andras Varga
534
535
        * ned.lex: fixed "`yytext_ptr' undeclared" error with some flex
536
        versions
537
538
2004-07-22  ------ omnetpp-3.0a6 released ------
539
540
2004-07-20  Andras Varga
541
542
        * ned.dtd, ned.y: added source-code attribute to ned-file element,
543
        and code to fill it when parsing NED source
544
545
2004-06-24  Andras Varga
546
547
        * several files: added support for "xml" NED parameter type
548
549
2004-06-07  ------ omnetpp-3.0a5 released ------
550
551
2004-06-07  Andras Varga
552
553
        * cppgenerator.cc: wrong C++ code was generated for "const" parameters
554
        [reported by Julien Cartigny]
555
556
2004-05-27  Andras Varga
557
558
        * opp_msgc: generates netPack()/netUnpack() for parallel simulation
559
560
2004-05-26  Andras Varga
561
562
        * opp_msgc: prohibit using cObject fields in structs and non-cObject
563
        classes (ownership issues)
564
565
2004-05-16  Andras Varga
566
567
        * opp_msgc: fixed two bugs introduced since 2.3p1
568
569
2004-05-15  ------ omnetpp-3.0a4 released ------
570
571
2004-05-13  Andras Varga
572
573
        * ned.lex (nedxml): recognize hex numbers as INTCONSTANT
574
575
2004-03-22  ------ omnetpp-3.0a3 released ------
576
577
2004-03-06  Andras Varga
578
579
        * nedxml: added support for msg enum declarations <enum-decl>
580
581
2004-03-18  Andras Varga
582
583
        * opp_msgc: if a struct or class has operator<<, it is used for the
584
        getFieldAsString() function (and will be displayed in Tkenv)
585
586
2004-03-05  Andras Varga
587
588
        * opp_msgc: remove output files (_m.cc,_m.h) if translation fails
589
590
591
2004-03-03  ------ omnetpp-3.0a2 released ------
592
593
2004-03-03  Andras Varga
594
595
        * opp_msgc: uses cPolymorphic as default base class for classes.
596
        (There was no default base class before.) Using cPolymorphic for base
597
        class enables the class to be registered (Register_Class()), and
598
        doesn't cost anything because cPolymorphic has no data members only
599
        vptr, and opp_msgc-generated classes have vptr anyway (as some methods
600
        are virtual.)
601
602
2004-03-01  Andras Varga
603
604
        * opp_msgc: added omitGetVerb boolean property. If turned on, generates
605
        field getter methods without the "get" word, e.g. a field called
606
        destAddr can be read by method destAddr() and not getDestAddr().
607
        Example usage:
608
           class Foo {
609
               properties:
610
                   omitGetVerb=true;
611
               ...
612
           };
613
614
        * opp_msgc fixes:
615
        - added simtime_t to list of accepted types
616
        - accept symbolic constant for array size (before it could only be
617
          numeric constant)
618
        - enums can be predeclared (needed if they come from another msg file)
619
        - fields can have an enum type and an initializer at the same time
620
621
2004-02-20  Andras Varga
622
623
        * cppgenerator.cc: implemented cChannel && cChannelType; several
624
        refinements in generated code
625
626
        * ned.dtd, ebnf.y: added support for "mod.out++ --> in++" connection
627
        syntax, where "++" causes the first, yet unconnected gate to be used,
628
        and (with submodule gate vectors) it also expands the vector if
629
        necessary, so "gatesizes:" is not needed. Gate vectors of the parent
630
        module cannot be expanded further (because network is built and
631
        connected top-down.)
632
633
        * cppgenerator.cc, cppexprgenerator.cc: several bugfixes in the
634
        generated code
635
636
2004-02-24  Andras Varga
637
638
        * main.cc: nedtool didn't understand -I without space [reported by
639
        Andreas Koepke]
640
641
2004-02-09  Andras Varga
642
643
        * main.cc: improved list file handling
644
645
2004-02-11  Andras Varga
646
647
        * ned.y: didn't accept negative numbers and symbolic constants in
648
        msg files as field and enum values
649
650
2004-02-04  ------ omnetpp-3.0pre1 released ------
651
652
2004-01-22  Andras Varga
653
654
        * opp_msgc: fix: didn't handle files in other directories (wrong
655
        #ifndef symbol was generated for the header file) [reported by
656
        Andreas Koepke]
657
658
2004-01-04  Andras Varga
659
660
        * opp_msgc: updated for changed ownership management rules
661
662
2003-12-10  Andras Varga
663
664
        * opp_msgc: removed sEnumBuilder usage
665
666
2003-12-06  Andras Varga
667
668
        * jar.c: removed check for zero-size module vectors
669
670
        * jar_expr.c: fixed buffer overrun introduced last time
671
672
2003-11-13  Andras Varga
673
674
        * jar_expr.c: added typecast when taking address of <math.h> functions
675
        in generated code. Needed for MSVC 7.0 compiler (it overloads some
676
        of these functions which caused ambiguities).
677
678
2003-11-13  Andras Varga
679
680
        * Checked in parallel simulation code that was developed March-May 2003,
681
        during my stay at Monash University. Changes:
682
683
        2003-03-25  Andras Varga
684
        * jar_mod.c: removed "islocal" stuff from module creation
685
686
        2003-11-11  Andras Varga
687
        * nedc (jar): removed "machines" and "on" sections from NED grammar
688
689
2003-10-07  Andras Varga
690
691
        * ebnf.y: fixed nedc bug, it didn't handle user-defined functions
692
        with 4 parameters properly. [Reported by Andreas Koepke]
693
694
2003-10-07  Johnny Lai
695
696
        * jar.c : nedc added -h support for intel compiler on Linux
697
        (__INTEL_COMPILER && __linux__)
698
699
2003-09-30  Andras Varga
700
701
        * opp_msgc: with customize=true, adds a default dup() function to the
702
        generated _Base class that throws an exception and warns the user.
703
        Also made assignment operator protected, to force the user overwrite
704
        it with a fresh one in the customized class.
705
706
2003-08-12  Andras Varga
707
708
        * opp_msgc: implemented -h option, meaning identical to nedc
709
        [patch by Johnny Lai]
710
711
2003-07-27  Andras Varga
712
713
        * nedtool: implemented -t option (store source code), needed for
714
        documentation generation
715
716
2003-06-18  Andras Varga
717
718
        * TODO: should not generate set...ArraySize() methods for abstract
719
        arrays. Tkenv doesn't really need them and seems like
720
        they're in the way.
721
722
        * TODO: should *not* generate impl of copy ctor in .._Base class
723
724
2003-10-19  Andras Varga
725
726
        * nedelement.cc/h: added userdata field which makes it possible
727
        to attach additional data to NEDElement objects (needed for GNED)
728
729
2003-08-30  Andras Varga
730
731
        * ned.dtd: storing of "like" parameters changed (attribute @like-param
732
        introduced)
733
734
        * ned.dtd: const/@value made optional (because we cannot distinguish
735
        empty attribute ("") and missing attribute, and "" string constant
736
        caused validation error).
737
738
2003-07-31  Andras Varga
739
740
        * updated for current syntax of message declarations (dtd change)
741
742
2003-07-27  Andras Varga
743
744
        * ned.dtd: added source-code attribute to top-level elements; this
745
        is useful for documentation generation.
746
747
2003-06-16  ------ omnetpp-2.3 released ------
748
749
2003-06-16  Andras Varga
750
751
        * opp_msgc: messages (cMessage subclasses) now accept message kind
752
        as second, optional parameter to constructor.
753
754
2003-05-01  Andras Varga
755
756
        * opp_msgc fix: perl in RedHat 9 (rpm 5.8.0-88) is broken, it doesn't
757
        recognize the [^\s] construct in regexps. Workaround: replaced [^\s]
758
        with [^ \t\r\n].
759
760
2003-03-19  Andras Varga
761
762
        * opp_msgc: accept, but (since imports are not yet supported) ignore
763
        the -I flag
764
765
2003-03-15  ------ omnetpp-2.3b2 released ------
766
767
2003-02-15  ------ omnetpp-2.3b1 released ------
768
769
2003-02-14  Andras Varga
770
771
        * nedc: no limit on ned file line length
772
773
2003-01-30  Andras Varga
774
775
        * added handling of new MathFunc4Args
776
777
2003-01-22  Andras Varga
778
779
        * jar_expr.c: adopted to increased type safety of cFunctionType
780
781
2003-01-04  Andras Varga
782
783
        * opp_msgc: added support for cplusplus {{ ... }} syntax
784
785
        * opp_msgc: 'cobject <classname>' syntax changed to 'class <classname>',
786
        'noncobject <classname>' changed to 'class noncobject <classname>'.
787
788
2002-12-22  Andras Varga
789
790
        * jar.c: zero module vector size crashed network setup code. Temprarily,
791
        check_module_count() changed to make zero size an error. This will
792
        be fixed in nedtool: zero size should be allowed and properly handled.
793
794
2002-12-07  Andras Varga
795
796
        * msgc.pl was renamed opp_msgc, and now it gets copied to the bin/
797
        directory; an opp_msgc.cmd was also added for Windows' sake
798
799
        * files for opp_msgc should now have .msg suffix -- nedcwrapper.sh
800
        removed
801
802
        * msgtest.ned renamed to example.msg
803
804
2002-11-30  Andras Varga
805
806
        * development of NEDXML is under way. Until the code reaches a stable
807
        state, I use a local CVS repository on my home PC for convenience,
808
        and periodically update the main OMNeT++ CVS from the local CVS.
809
810
2002-11-23  Andras Varga
811
812
        * jar_expr.c: fixed bug which caused generated code to crash if
813
        user-supplied math function (i.e. its cFunctionType object)
814
        was not found
815
816
2002-11-04  Andras Varga
817
818
        * ebnf.y: changed right-recursion to left-recursion (large files caused
819
        stack overflow)
820
821
2002-10-19  Andras Varga
822
823
        * adopted to kernel changes around buildInside(), see include/ChangeLog
824
825
2002-10-07  Andras Varga
826
827
        * jar_mod.c: changed Interface macro names to ModuleInterface (see also
828
        include/ChangeLog)
829
830
2002-10-04  Andras Varga
831
832
        * nedc: changed opp_error() calls in generated code to throw new cException
833
834
2002-06-09  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
835
836
        * Makefile.in (nedtool): use EXPAT_LIB when linking
837
838
2002-06-08  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
839
840
        * Makefile.in: new targets nedtool, main.o
841
842
2002-07-07  Andras Varga
843
844
        * added main.cc and nedtool target to MSVC makefile; unix makefile
845
        to be done
846
847
2002-06-09  Ulrich Kaage <kaage@int.uni-karlsruhe.de>
848
849
        * ned.y (swapAttributes) (nedc): compile fix for gcc 3.x: Ambiguous
850
        implicit conversion for NEDString::NEDString(NEDString)
851
852
2002-06-08  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
853
854
        * Makefile.in: created from Makefile.vc
855
856
2002-06-07  Andras Varga
857
858
        * INITIAL REVISION OF NEDXML. NEDXML is going to replace nedc
859
        (formerly called "jar") when it's ready.
860
861
2002-05-16  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
862
863
        * jar_mod.c (do_simp_or_comp): fixed declaration of className()
864
        [resolves bug report #14 by jiake]
865
866
2002-05-04  ------ omnetpp-2.2 released ------
867
868
2002-04-06  Andras Varga
869
870
        * jar.c: made text of "version mismatch" #error in generated code
871
        more intuitive
872
873
        * jar.c: version number upped to 2.2
874
875
2002-04-05  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
876
877
        * msgc.pl (generateClass): fixed compiler warnings about
878
        signed/unsigned comparison
879
880
2002-03-07  Andras Varga
881
882
        * bugfix (id 0004 in the bugtracker): nedc-generated code crashed if
883
        parameter specified in a 'like' clause didn't exist
884
885
        * bugfix: generated code didn't compile if a user-defined function
886
        (see Define_Function() macro) was used inside a channel definition
887
888
2002-02-11  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
889
890
        * Makefile.in (nedc): use CXX instead of CC for linking (gcc-3 patch)
891
892
2002-01-23  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
893
894
        * msgc.pl (generateClass): Calls to setOwner() for cObjects and
895
        cObject arrays inside of constructors.
896
897
2002-01-22  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
898
899
        * msgc.pl (generateDescriptorClass): when generating
900
        getFieldStructPointer(): use getter function of message class,
901
        implies to get the pointer to the message class first.
902
903
2002-01-17  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
904
905
        * msgc.pl: added surrounding #ifndef/#define/#endif construct to
906
        _n.h file generation to avoid multiple inclusion. Therefore
907
        introduced new variable $hdef that holds the macro string
908
909
2002-01-16  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
910
911
        * nedcwrapper.sh: strip all command line arguments except the last
912
        one so that only the ned file name is left. Use this for running
913
        grep and perl.
914
915
2001-10-26 Andras Varga
916
917
        * ebnf.y, jar_expr.c, jar_lib.c, jar_func.h, jar_lib.h: implemented
918
        that an expression may refer to a submodule parameter. Syntax:
919
        submod.par or submod[index].par. Limitations: index may not be
920
        an expression itself (must be constant, for-variable or (submodule)
921
        parameter); the generated expression is of 'anytype' (no type-check).
922
923
2001-10-06 Andras Varga
924
925
        * msgc.pl msgtest.ned msgdoc.txt nedcwrapper.sh: checked in files for
926
        experimental message subclassing. Read msgdoc.txt for instructions on
927
        how to try it.
928
929
2001-07-11 Andras Varga
930
931
        * ebnf.y: Eric Wu's Tru64/MPI port. Tru64 needs extra #includes.
932
933
2001-03-10  Andras Varga
934
935
        * ------ omnetpp-2.1 released ------
936
937
        * Borland C++ support removed: I deleted the project files
938
        (*.ide). I added equivalent Makefile.bc files (generated from the
939
        BC IDE), but they are completely unsupported at the moment. If
940
        there's interest, it's possible that later I'll add makefiles for
941
        the free command-line bc5.5 compiler.
942
943
944
2001-01-16  Andras Varga
945
946
        * ------ omnetpp-2.0p1 released ------
947
948
        * ------ omnetpp-2.0 released ------
949
950
        * disabled heapcheck in jar_mem.c (this makes nedc a lot faster if
951
        compiled with Borland C++)
952
953
        * added version mismatch check to generated _n.cc files
954
955
2000-11-19  Andras Varga
956
957
        * ebnf.y updated from GNED (no effect on nedc)
958
959
2000-09-30  Andras Varga
960
961
        * improvement just for Cygwin: lexer now explicitly ignores '\r'
962
        (=CR) chars
963
964
2000-05-22  Andras Varga
965
966
        * ------ omnetpp-2.0b5 released ------
967
968
        * ------ omnetpp-2.0b4 released ------
969
970
        * const-correctness fix on get_expression() arg list [reported by
971
        Frank Paehlke]
972
973
2000-05-07  Andras Varga
974
975
        * Makefile.vc improvements [from Balazs Kelemen]
976
977
2000-04-13  Andras Varga
978
979
        * Changed operator precedence to bind ||,&& thighter than ?:
980
        [suggested by Niko]
981
982
2000-04-10  Andras Varga
983
984
        * TRUE/FALSE (defines) replaced by true/false (C++ keywords)
985
986
        * in printf() statements, all "%lf","%lg","%le" was replaced by
987
        "%f","%g","%e"
988
989
2000-04-05  Andras Varga
990
991
        * bugfix: nedc hung if last line was a comment and it was
992
        incomplete (without LF) [reported by Roland Bless]
993
994
2000-03-27  Andras Varga
995
996
        * bugfix: conditional (?:) operator caused parse error [reported
997
        by Niko]
998
999
2000-03-26  Andras Varga
1000
1001
        * 'char *' --> 'const char *' changes in generated code
1002
1003
2000-03-12  Andras Varga
1004
1005
        * added lines to generated code to disable compiler warnings about
1006
        unused vars under MSVC and Borland C++. I have no solution for gcc
1007
        (gcc doesn't seem to have #pragma or any other mechanism to
1008
        disable warnings from the source).
1009
1010
2000-03-07  Andras Varga
1011
1012
        * bugfix for distributed execution: corrected handling of machine
1013
        parameters at network level
1014
1015
        * changed test12.ned and test13.ned
1016
1017
2000-01-13  Andras Varga
1018
1019
        * ------ omnetpp-2.0b3 released ------
1020
1021
        * "-s" option (output file suffix) was added
1022
1023
2000-01-04  Andras Varga
1024
1025
        * corrected '*new cPar = (char *)something' lines in the generated
1026
        code to '*new cPar() = (char *)something', because in the first
1027
        case, the cPar(char *) constructor was called (wrongly) instead of
1028
        cPar() and operator=(char *).
1029
1030
1999-12-19  Andras Varga
1031
1032
        * changes in generated code due to cPar interface change (see
1033
        sim/ChangeLog)
1034
1035
1999-12-18  Andras Varga
1036
1037
        * changed isA() to className() in generated code (see
1038
        sim/ChangeLog)
1039
1040
        * macro names in module interface declarations (Interface...End)
1041
        changed to reduce chance of name clashes
1042
1043
1999-12-05  Andras Varga
1044
1045
        * Makefile.vc added
1046
1047
1999-12-05  Andras Varga
1048
1049
        * compiled with MSVC. enbf.h added.
1050
1051
        * added generated files enbf.tab.c and lex.yy.c to CVS to make it
1052
        possible to build GNED where flex/bison is not available
1053
1054
1999-08-15  Andras Varga
1055
1056
        * ------ omnetpp-2.0b2 released ------
1057
1058
        * bugfix: with "like", simulation crashed if the actual module
1059
        type didn't have all parameters. (Brent's bug)
1060
1061
1999-07-17  Andras Varga
1062
1063
        * help text changed
1064
1065
1999-07-10  Andras Varga
1066
1067
        * ebnf.y fixed, nedc works fine again.
1068
1069
1999-06-30  Andras Varga
1070
1071
        * ebnf.y ported back from GNED
1072
1073
        * added nedc.ide and b.bat
1074
1075
        * doesn't work yet!
1076
1077
1999-06-21  Andras Varga
1078
1079
        * all sources checked in under CVS
1080
1081
        * makefile.in modified for use with GNU Autoconf; also renamed to
1082
        Makefile.in
1083
1084
        * version.log renamed to ChangeLog
1085
1086
        * removed support for DOS with BC3.1
1087
1088
        * portability change: ebnf.y now includes malloc.h
1089
1090
1999-02-07  Andras Varga
1091
1092
        * updated for sim174
1093
1094
1999-01-25  Andras Varga
1095
1096
        * updated for sim172b: simulation.error() --> simError()
1097
1098
1998-12-27  Andras Varga
1099
1100
        * #include <malloc.h> changed to <stdlib.h>
1101
1102
        * makefile renamed to makefile.in
1103
1104
1998-08-17  Andras Varga
1105
1106
        * in the generated code, added check_error() to the 'if (isInput)
1107
        read' lines
1108
1109
1998-08-15  Andras Varga
1110
1111
        * error message format changed to Borland-like for easy
1112
        integration into the BC IDE ($CAP MSG(BORL2MSG) transfer macro can
1113
        be used)
1114
1115
1998-07-15  Andras Varga
1116
1117
        * small fixes
1118
1119
1998-07-02  Andras Varga
1120
1121
        * some error messages made more clear
1122
1123
1998-06-09  Andras Varga
1124
1125
        * upgraded for sim162
1126
1127
1998-06-05  Andras Varga
1128
1129
        * minor bug (with display strings) fixed
1130
1131
1998-05-11  Andras Varga
1132
1133
        * shared ebnf.y/ebnf.lex files updated from GNED package
1134
1135
        * minor grammar change: made a bit more tolerant with semicolons
1136
1137
        * new: synonyme for `include' keyword: `import'.  I feel that
1138
        'importing' is closer to what really happens (thanks Geza!)
1139
1140
1998-05-04  Andras Varga
1141
1142
        * ebnfcfg.h added, ebnf.lex/ebnf.y modified so that grammar source
1143
        can be shared with GNED
1144
1145
1998-04-14  Andras Varga
1146
1147
        * "display:" phrase added to NED language; it is to support
1148
        visualization/animation in Tkenv and other GUI simulation tools.
1149
        See SIM's version.log for info on setDisplayString(type).
1150
1151
1998-02-14  Andras Varga
1152
1153
        * "generate vs not generate code from include files" problem:
1154
        reverted back to pre-98 versions (98-103 were never released).
1155
1156
        * improved error msg format
1157
1158
        * JAR was renamed to NEDC.  This was necessary to reduce
1159
        confusion: ARJ software has an archiver called jar; on Sun, Java
1160
        archiver is also called jar; and JAR compiles NED files anyway.
1161
        So this version is NEDC104.
1162
1163
1998-02-10  Andras Varga
1164
1165
        * bugfixes on #102; output code cleaned up around 'if' sections
1166
1167
1998-02-08  Andras Varga
1168
1169
        * typed parameters and type checking added to NED language and Jar compiler.
1170
          Parameters can be declared: numeric, const numeric, string, bool, anytype.
1171
            Syntax:
1172
                   module Foo
1173
                      parameters:
1174
                        nn1,
1175
                        nn2: numeric,
1176
                        nn3: numeric const,
1177
                        bb: bool,
1178
                        ss: string,
1179
                        aa: anytype;
1180
                        ...
1181
1182
        Default type is numeric (as for nn1).  Anytype turns off type
1183
        checking for the parameter, it will be compatible with any other
1184
        type.  In computations, bool is treated as numeric.
1185
1186
        * C-style expressions completed with NEW bitwise operators:
1187
           & and, | or, # xor (Note that ^ is reserved for power!)
1188
           ~ complement, << >> shift
1189
1190
            Bitwise operators raised to one rank higher precedence than in C
1191
            (just above ==,!=,<,>,<=,>=). Conditional (?:) is also at higher
1192
            level than in C, just above &&,||,##.
1193
1194
        * notation of logical operators changed:
1195
           && and, || or, ## xor (does not exist in C), ! not
1196
1197
        * compatibility: requires sim154 or above
1198
1199
1998-02-05  Andras Varga
1200
1201
        * development version
1202
1203
1998-01-01  Andras Varga
1204
1205
        * initial version of typed parameters added; still bogus
1206
1207
        * testNN.ned files cleaned up a bit
1208
1209
1997-12-13  Andras Varga
1210
1211
        * check for unset submodule parameters have been disabled. Now all
1212
        parameters not explicitly set will be 'Input'.
1213
1214
        * known problem: if the same module gets included more than once
1215
        in a ned file, C++ compiler will report duplicated symbols. This
1216
        could be eliminated if Jar kept track what has been written out.
1217
1218
1997-12-13  Andras Varga
1219
1220
        * now generates code from include files too
1221
1222
        * uses Register_Module() macro
1223
1224
        * compatible with: sim150 and up
1225
1226
1997-10-02  Andras Varga
1227
1228
        * cleaned up & renamed several member functions; compatible with
1229
        sim147
1230
1231
1997-07-10  Andras Varga
1232
1233
        * changes to makefile; #ifdefs in source to get it compiled with
1234
        Cygnus gcc
1235
1236
1997-07-06  Andras Varga
1237
1238
        * handling of CONST parameters changed
1239
1240
        * support for consistency check of module interface declarations
1241
1242
1997-06-30  Andras Varga
1243
1244
        * INPUT now can be used without specifying default value
1245
1246
        * fixed bug with the NOT operator
1247
1248
1997-04-18  Andras Varga
1249
1250
        * bug with 'ancestor ref' parameters fixed
1251
1252
1997-04-12  Andras Varga
1253
1254
        * Change in generated source: 'value.cancelindirection()' placed
1255
        before each setting of 'value' (otherwise, ref parameters would
1256
        cause problems)
1257
1258
1997-04-06  Andras Varga
1259
1260
        * small changes to makefile
1261
1262
        * copyright msg changed; a typo corrected
1263
1264
1997-03-10  Andras Varga
1265
1266
        * bugfixes
1267
1268
1997-03-07  Andras Varga
1269
1270
        * new feature: submodule type can be parameter. Syntax:
1271
        modulename : parametername LIKE moduletype
1272
1273
1997-03-03  Andras Varga
1274
1275
        * updated for sim108: knows about genk_xxxx functions
1276
1277
1997-02-25  Andras Varga
1278
1279
        * bugfixes
1280
1281
        * after submodule parameters sections, "if (isinput()) read()"
1282
        added for each parameter
1283
1284
        * time units can be used as constants (e.g. 10ms, 1h 2m .001s)
1285
1286
1997-02-24  Andras Varga
1287
1288
        * makejar.bat added
1289
1290
1997-02-21  Andras Varga
1291
1292
        * internal expression handling totally rewritten; now it goes with
1293
        sim103
1294
1295
        * keyword 'system' changed to 'network'
1296
1297
        * small additional modifications
1298
1299
1997-02-15  Andras Varga
1300
1301
        * data rate support added
1302
1303
1997-01-16  Andras Varga
1304
1305
        * jar_mod.c: bug with "inline connection delay specification"
1306
        ('mm1.gg1 --> delay a --> mm2.gg2') fixed
1307
1308
1997-01-16  Andras Varga
1309
1310
        * jar.c: '-i' option corrected to '-I'
1311
1312
1997-01-10  Andras Varga
1313
1314
        * loop connection: 'start_index<=end_index' check removed from
1315
        generated code
1316
1317
1996-12-15  Andras Varga
1318
1319
        * added support for delay, error phrases in connections
1320
1321
        * made case-sensitive
1322
1323
1996-12-01  Andras Varga
1324
1325
        * modified makefile for use with yacc
1326
1327
1996-11-01  Andras Varga
1328
1329
        * added oparators: == != < <= > >= and or ..
1330
1331
        * now recognizes external C++ functions
1332
1333
        * `sizeof()' and `index' operators
1334
1335
        * support for <-- (not only -->)
1336
1337
        * implemented conditional sections, conditional connections
1338
1339
        * `nocheck' operator
1340
1341
        * changed the implementation of links
1342
1343
        * removed "Mapping:" section (that info was moved into omnet.ini)
1344
1345
        * bug fixes etc
1346
1347
1996-09-29  Andras Varga
1348
1349
        * changed global "Machines:" keyword to "Mapping:" and implemented
1350
        it
1351
1352
        * inserted adding of "default" machine to modules with no
1353
        "machines:" definition
1354
1355
        * added opt_semicolon to make compiler more tolerant
1356
1357
        * fixed small bugs
1358
1359
        * to do: implement the I/O interfaces
1360
1361
1996-05-01  Andras Varga
1362
1363
        * PVM, machine, on
1364
1365
        * to do: system module: host.domain, only the defined formal
1366
        machines can be used
1367
1368
1996-03-29  Andras Varga
1369
1370
        * increased buffer sizes....
1371
1372
1996-03-29  Andras Varga
1373
1374
        * under MSDOS, limit output filenames to 8+3 chars
1375
1376
        * stop processing if there's parse error in ANY file
1377
1378
1996-03-29  Andras Varga
1379
1380
        * totally rewritten parameter handling mechanism, for example
1381
        changed implementation of REF to parentmodpar() mechanism.
1382
1383
1996-03-29  Andras Varga
1384
1385
        * simplified the grammar: functionvalue eliminated, inputvalue
1386
        simplified
1387
1388
        * discovered that expressions cannot be nested (because code uses
1389
        global variables). This way, one cannot write "-uniform(0,1)^2"!!!
1390
1391
1996-03-29  Andras Varga (15-29)
1392
1393
        * finished rewriting the grammar. Now the simple modules can have
1394
        different gate vector sizes for each occurrence in the NED file;
1395
1396
        * deleted keywords `EndSubmodules', `EndConnections' etc;
1397
1398
        * added `GateSizes' section to compound module definition
1399
1400
        * added `sizeof(gate_vector_name)' phrase to NED
1401
1402
        * added several `check_xxx()' macros to generated code
1403
1404
        * changed the generated code for the `input' parameters
1405
1406
        * in the generated code, changed addgate()/addpar() calls to
1407
        setgatesize()/setpar() -- addgate()/addpar() was moved to cMod's
1408
        constructor
1409
1410
        * commented how expressions work
1411
1412
1996-03-15  Andras Varga
1413
1414
        * changed the grammar!!!  Not finished yet.
1415
1416
1996-03-15  Andras Varga
1417
1418
        * changed var names in generated code etc.
1419
1420
1996-03-15  Andras Varga
1421
1422
        * begun porting to DOS/Borland C++
1423
1424
        * moved global variable definitions from jar.h to jar.c
1425
1426
        * added function prototypes and changed empty funtion arg list
1427
        '()' to '(void)' to enable arg list checks in C
1428
1429
        * several small modifications to make source portable between
1430
        yacc/bison, lex/flex and between different platforms
1431
1432
        * reorganized header files and renamed jar.h to jar_func.h; added
1433
        several comments
1434
1435
        * added banners and comments to src files
1436
1437
        * added jar_yyrestart() function for compatibility with flex
1438
1439
        * added jar_mem.c to help debugging memory allocation problems
1440
1441
        * fixed a bug in jar_mod.c (pointer deallocated twice)
1442
1443
        * eliminated the source of several null pointer
1444
        assignments/segmentation faults by adding jar_strcpy(),
1445
        jar_strcat(), jar_strdup() etc.
1446
1447
        * begun tailoring generated code: changed format of channel
1448
        creation function in generated C++ src
1449
1450
        * JAR now compiles and works under DOS/Borland C++ 3.1, DOS/DJGPP
1451
        V1, Linux/Gnu C++
1452
1453
1995
1454
        Initial version of JAR (the NED-to-C++ compiler) was written by
1455
        Alex Paalvast, Jan Heijmans and Robert van der Leij, during summer 1995.