Project

General

Profile

Statistics
| Branch: | Revision:

root / src / nedxml / ChangeLog @ 79bb12dc

History | View | Annotate | Download (44 KB)

1
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.
1456