1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789
|
2000-09-30 Martin Baulig <baulig@suse.de>
* libIDL.pc.in: Provide pkg-config script.
* configure.in: Create libIDL.pc from libIDL.pc.in.
* Makefile.am (pkgconfig_DATA): Install the libIDL.pc
script in `$(libdir)/pkgconfig'.
2000-07-14 Michael Meeks <michael@helixcode.com>
* parser.y (positive_int_const): incr. ref count.
1999-10-17 Andrew T. Veliath <andrewtv@usa.net>
* Update version to 0.6.8.
1999-06-09 Andrew T. Veliath <andrewtv@usa.net>
* lexer.l:
* util.[ch]: Integrate Macintosh port changes from Netscape.
* IDL.h.new.in, parser.y, util.c: Deprecate noscript support.
* lexer.l (tokreturn): Remove deprecated ``noscript'' keyword.
1999-05-30 Andrew T. Veliath <andrewtv@usa.net>
* lexer.l: Use wildcard start condition extension, since we
require flex.
1999-05-05 Andrew T. Veliath <andrewtv@usa.net>
* lexer.l: Strip /* */ comments as well, to make life easier for
alternative input methods.
1999-04-24 Andrew T. Veliath <andrewtv@usa.net>
* util.c (IDL_parse_filename):
(IDL_parse_filename_with_input): Call __IDL_parser_reset after
parse.
* configure.in: Print a warning if flex isn't installed (one can
still compile the source distributed flex scanner, however).
* lexer.l (__IDL_lex_cleanup): Call YY_NEW_FILE. Because of this
we now require flex, this is not in standard lex.
* parser.y (__IDL_parser_reset): New function; call yyclearin.
1999-04-12 Andrew T. Veliath <andrewtv@usa.net>
* IDL.h.new.in (IDLF_INHIBIT_INCLUDES): New parse flag;
automatically inhibits included files.
* util.h (IDLFP_IN_INCLUDES): Internal flag checked when we are
inside an include file.
* parser.y (assign_declspec): Wrap assignment, and if we are
inside an include file check the inhibit include flag.
(IDL_file_set): Add detection of include files here.
1999-04-01 Andrew T. Veliath <andrewtv@usa.net>
* IDL.h.new.in (IDL_tree_remove_inhibits): Move prototype here
from util.h.
* util.c (IDL_tree_optimize): Skip inhibit removal if
the IDLF_INHIBIT_TAG_ONLY parse flag is specified.
1999-03-29 Andrew T. Veliath <andrewtv@usa.net>
* Update version to 0.6.6.
* util.c (load_inhibits): Don't recurse inhibited nodes.
1999-03-23 Andrew T. Veliath <andrewtv@usa.net>
* Update version to 0.6.4.
* lexer.l: Allow more whitespace in __declspec, and generate error
if we see a code fragment and the syntax isn't enabled.
* parser.y: Much improved error messages about illegal types in
attributes, operations and parameters. Also, explicit errors
added for struct, union and enum definitions with missing
identifiers.
* (IDLF_PROPERTIES): New syntax flag; properties can be used
independently of XPIDL.
* IDL.h.new.in, util.h: Use G_GNUC_PRINTF on warning and error
functions.
* util.c: Rework IDL_tree_to_IDL logic a bit to accept more node
types, even literals.
* IDL.h.new.in: Add a step variable to IDL_tree_func_data. This
is 0 in the first call, and increments for every call thereafter
(currently only from 0 to 1).
1999-03-22 Andrew T. Veliath <andrewtv@usa.net>
* util.c (IDL_tree_error):
(IDL_tree_warning): If node is NULL, omit file and line number
information gracefully.
* parser.y: Error out with better message if one tries to use a
void type in an attribute or parameter.
* util.c (IDL_tree_to_IDL*): If IDL_ns is NULL, output flag
IDLF_OUTPUT_NO_QUALIFY_IDENTS is enabled automatically.
* IDL.h.new.in: Added a flags and data field to the end of the
IDL_tree node type, for application use. The application can
assume these will be initialized to zero. Should be backward
compatible with apps that don't touch it.
* util.c (IDL_emit_IDL_type_pre): For sequences output proper
typespec.
* IDL.h.new.in, util.c (IDL_tree_to_IDL_string): New function;
just like IDL_tree_to_IDL but returns a GString instead of writing
to a file. Useful for IDL_tree_{error,warning}.
* IDL.h.new.in: Change functions that return glib heap strings to
return gchar instead of char.
* Makefile.am: Add stamp-parser to EXTRA_DIST so one isn't forced
to regenerate parser files. Tweak stamp rule to handle a time
change.
* lexer.l: Strip more whitespace from cpp status. Rework start
conditions to be compatible with standard lex (messier but
functionally equivalent). A flex generated scanner is the
preferred method, however.
1999-03-12 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
* Makefile.am: Make parser files generation work when using
AM_MAKEFLAGS=-j4.
1999-03-19 Raja R Harinath <harinath@cs.umn.edu>
* Makefile.am (IDL.h): Add rule to autoupdate IDL.h.
* acinclude.m4 (AC_UPDATE_IF_CHANGED): Don't remove intermediate
file. This prevents unnecessary rebuilding of IDL.h.new.
1999-03-18 Andrew T. Veliath <andrewtv@usa.net>
* lexer.l: Handle independent code fragments.
* IDL.h.new.in (IDLF_CODEFRAGS): New flag; code frags can be used
independently of XPIDL.
1999-03-09 Andrew T. Veliath <andrewtv@usa.net>
* Update version to 0.6.3.
* util.c (IDL_emit_IDL_type_dcl_pre):
(IDL_emit_IDL_type_pre):
(IDL_emit_IDL_native_pre): Emit props.
* parser.y: Add XPIDL properties for type declarations, native and
constructed types.
1999-03-08 Andrew T. Veliath <andrewtv@usa.net>
* Update version to 0.6.2.
* util.c (IDL_tree_process_forward_dcls): No longer remove
unresolved forward declaration nodes. If IDLF_PEDANTIC isn't
specified, unresolved forwards will be flagged as warnings instead
of errors.
* IDL.h.new.in: Improve hack for GINT64's conversion type until
glib gets smarter about this.
(IDLF_PEDANTIC): New parse flag; turns some warnings into errors.
1999-03-06 Andrew T. Veliath <andrewtv@usa.net>
* IDL.h.new.in: Change IDLF_RESOLVE_FORWARDS to
IDLF_IGNORE_FORWARDS. CORBA 2.2 requires that the interface
definition be listed in the file, so I would rather that the
default be stricter to the CORBA 2.2 standard. If you don't want
forward declaration resolution, use this flag.
1999-03-04 Andrew T. Veliath <andrewtv@usa.net>
* Update version to 0.6.1.
1999-03-03 Andrew T. Veliath <andrewtv@usa.net>
* util.c (IDL_tree_optimize): Understand
IDLF_RESOLVE_FORWARDS. libIDL will only resolve them if told now.
* IDL.h.new.in (IDLF_RESOLVE_FORWARDS): New flag.
1999-02-23 Andrew T. Veliath <andrewtv@usa.net>
* Update version to 0.6.0.
* Assign many node file and line locations to their identifier.
* parser.y: Improve module and interface identifier conflict error
message.
* IDL.h.new.in: Improved version codes.
* parser.y: Allow inhibits on codefrags, operations and
attributes.
1999-02-22 Andrew T. Veliath <andrewtv@usa.net>
* IDL_tree_func tree parameter changed to a structure, which
contains up paths of the traversal and the real up path (in the
case of identifiers referenced elsewhere after definition). The
original parameter is now in the tree member. IDL_tree_to_IDL
rewritten to automatically determine scoping using this
information, instead of the previous scope passing. This should
make any future additions require fewer source changes.
* Improvements to structure and union handling, IDL_tree_to_IDL,
and IDL_tree_walk.
1999-02-21 Andrew T. Veliath <andrewtv@usa.net>
* Fully convert to glib memory routines.
1999-02-19 Andrew T. Veliath <andrewtv@usa.net>
* parser.y: Properties for parameters moved before direction
keyword.
* Configuration and versioning system overhauled.
1999-02-18 Andrew T. Veliath <andrewtv@usa.net>
* Update version to 0.5.10.
* util.c (IDL_tree_properties_copy): New function.
(IDL_parse_filename_with_input): Mostly ignore
HAVE_CPP_PIPE_STDIN.
* parser.y: Make codefrags work inside interfaces (only at outer
level). Allow properties for operations and attributes, and change
all XPIDL node properties to reside on the ident node.
1999-02-12 Andrew T. Veliath <andrewtv@usa.net>
* parser.y: Allow forward decls to be suppressed as well.
* util.c (yyerrorl, yywarningl): Only call g_basename if we aren't
piping input from CPP.
1999-02-11 Andrew T. Veliath <andrewtv@usa.net>
* Update version to 0.5.9.
1999-02-09 Tom Tromey <tromey@cygnus.com>
* libIDL.texi: Use @pxref and not @xref in parentheses.
1999-02-06 Andrew T. Veliath <andrewtv@usa.net>
* parser.y: Detect recursive structure members.
* util.c (IDL_parse_filename_with_input): Assign filename hash
before first call to callback.
* parser.y: Allow const_dcl, type_dcl and except_dcl to also be
inhibited.
* util.c (load_inhibits): Allow any discriminator to be inhibited.
1999-01-02 Jeff Garzik <jgarzik@pobox.com>
* util.c:
s/sprintf/g_snprintf/
s/vsprintf/g_strdup_vprintf/
Spaced out some code for readability.
1999-01-02 Raffaele Sena <raff@aromatic.com> via Russell Nelson <nelson@crynwr.com>
* Fix to autogen.sh for build directory different from package
top directory.
1998-12-16 Andrew T. Veliath <andrewtv@usa.net>
* Update version to 0.5.8
* util.c (IDL_emit_IDL_ident): Use IDL_ns_scope_levels_from_here
and parent from callback to automatically determine the minimal
necessary scoping for the identifier; this should allow much more
IDL from IDL_tree_to_IDL to be fed back unchanged.
(IDL_tree_get_scope): New function.
(IDL_tree_to_IDL): Updated to also take an IDL_ns parameter. Use
G_GNUC_PRINTF for data output function. Add new functions to
handle XPIDL property output for IDL generation.
* IDL.h, ns.c (IDL_ns_scope_levels_from_here): New function,
determines the minimal level of scoping to prepend to a identifier
to qualify it properly, from a different scope.
* IDL_tree_func changed to include parent, which can differ from
the node parent link.
1998-12-15 Andrew T. Veliath <andrewtv@usa.net>
* (IDL_tree_to_IDL): New public function. Not yet fully
implemented, but most stuff will work. Add a call from tstidl.c.
(IDL_tree_walk): New public function; more generalized version of
IDL_tree_walk_in_order.
1998-12-05 Andrew T. Veliath <andrewtv@usa.net>
* tstidl.c: Add example of IDL_tree_error usage.
* IDL.h, ns.c, util.c: Move __IDL_filename_hash to IDL_ns
structure. Rename IDL_property... to IDL_tree_property... Make
IDL_tree_get_node_info public.
* Change private yyerrornv, yywarningnv to public IDL_tree_error
and IDL_tree_warning.
* tstidl.c, ns.c: Provide example of local parameter declaration
namespace lookup from parameter attribute property, and modify NS
assertions to make it more useful outside of parsing.
* IDL.h, parser.y, lexer.l, util.c, tstidl.c: Turn interface
properties into extended node properties for XPIDL (for any node).
IDL_interface_get_property -=> IDL_property_get. Add
IDL_property_set, IDL_property_remove. Add a potential property
list between the parameter attribute and the type. Allow
underscores in property keys.
1998-12-04 Andrew T. Veliath <andrewtv@usa.net>
* IDL.h (IDL_NODE_IS_TYPE): Add macro.
* lexer.l, IDL.h, util.c: Add IDL_CODEFRAG type, for XPIDL.
* parser.y, IDL.h, util.c: Integrate XPIDL varargs support into
parameter_dcls, and remove (now unneeded) VARARGS node type.
1998-12-03 Andrew T. Veliath <andrewtv@usa.net>
* parser.y: Add IDL_inhibit_push, IDL_inhibit_pop,
IDL_inhibit_get, IDL_file_set and IDL_file_get wrapper functions.
1998-12-01 Andrew T. Veliath <andrewtv@usa.net>
* parser.y, lexer.l, util.c, IDL.h: Allow boolean XPIDL
properties, which are inserted with an empty string. Add
recognition of "noscript" keyword when XPIDL syntax is enabled.
Add syntactical recognition for "native mytype (PRThread *)" in
XPIDL mode (i.e., where `PRThread *' can be anything).
1998-11-30 Andrew T. Veliath <andrewtv@usa.net>
* Interface infotag list turned into a case-insensitive property
hash table with improved parsing. If an IID is provided in the
property list, IDL_interface_get_property (interface, "IID")
should provide the IID, for instance (without the parens).
Properties can be any identifier (value) item, separated by commas
inside square brackets.
* Add per-filename state information.
* #pragma inhibit push/pop added. The push operation will
increment a counter, while the pop operation decrements it. If
the counter is greater than zero, any module or interface declared
during that time will be inhibited.
* Made XPIDL interface properties a list, and moved before the
interface keyword.
* Internal flag state added.
1998-11-29 Andrew T. Veliath <andrewtv@usa.net>
* util.c (IDL_tree_process_forward_dcls):
(IDL_tree_remove_inhibits):
(IDL_tree_remove_empty_modules): Listen to IDLF_VERBOSE.
* IDL.h: Add note to IDL_tree_type explaining how the enumerator
ordering is subject to change, and order should not be hardcoded
into programs (alternative is suggested). Separate parse flags
into general and syntax extension parse flags, with the latter
starting at bit sixteen. IDLF_VERBOSE: new parse flag.
1998-11-28 Andrew T. Veliath <andrewtv@usa.net>
* lexer.l, parser.y, util.c, IDL.h: Change iid_ident to
infotag_ident (TOK_IID_IDENT -> TOK_INFOTAG), which is more unique
in scanning, and slightly more general.
* util.c (IDL_tree_free): Update for interface iid, and varargs.
(IDL_tree_walk_in_order): Same.
(IDL_type_varargs_new): New function.
* Makefile.am: Add G_LOG_DOMAIN for libIDL.
* lexer.l: Add XPIDL conditional token scan for TOK_VARARGS
(...). Add token scan for iid_ident, which is an extended version
of a standard IDL identifier, for XPIDL IIDs.
* parser.y: Add XPIDL IID interface tagging
support. (interface_iid) New production, update (interface) to
handle it. Generate error if XPIDL syntax is not enabled and an
IID is provided. New token, TOK_IID_IDENT, iid_ident rule.
* lexer.l: Only recognize TypeCode when IDLF_TYPECODES syntax
flag is present.
* IDL.h (IDLF_TYPECODES): New flag; IDLF_TYPECODES. New type
IDLN_TYPE_VARARGS, eventually for use with XPIDL.
1998-11-27 Andrew T. Veliath <andrewtv@usa.net>
* libIDL.def: New file.
* util.h (alloca): Define if compiling for Win32.
* Makefile.am (MAINTAINERCLEANFILES): Change to maintainer clean
from dist clean for parser.c, lexer.c. It's nice to have the
generated parsers around from flex and bison, especially for
Win32.
* util.c (IDL_parse_filename): Don't use access under Win32.
IDL_EXPORT __IDL_check_type_casts.
* IDL.h (IDL_IMPORT): Add definitions required for Win32.
* Makefile.msc:
README.win32: New files.
* Makefile.am: Define YYERROR_VERBOSE for slightly better messages
in unhandled error situations.
1998-11-20 Andrew T. Veliath <andrewtv@usa.net>
* tstidl.c (print_ident_comments): Print out identifiers and any
comments.
* util.c (IDL_parse_filename): Init __IDL_new_ident_comments, then
free any remaining on return from parsing. Same for
IDL_parse_filename_with_input.
(IDL_tree_free_real): Free comments of identifier.
* parser.y (IDL_queue_new_ident_comment): New function.
ns_new_ident, cur_ns_new_or_prev_ident: Assign comments to the
newly created identifier if they exist. This function, called
from the input callback will queue comments to be assigned to the
next newly created identifier (queue order is maintained, and
stored in the comments list in the identifier node).
* IDL.h: Add comments list to IDL_IDENT.
1998-11-19 Andrew T. Veliath <andrewtv@usa.net>
* tstidl.c (my_input_cb): Provide example of alternate input method.
* lexer.l (YY_INPUT): Allow stream input from user defined
callback. (__IDL_lex_init): Set __IDL_inputcb to NULL.
* util.c, util.h: Add variables for input callback.
(IDL_parse_filename_with_input): New function.
* IDL.h: Add IDL_input_callback, IDL_input_reason, IDL_input_data.
(IDL_parse_filename_with_input): Add prototype.
* lexer.l: Add XPIDL inclusive start condition. Activate
condition when IDLF_XPIDL is specified in the parse flags before
scanning.
1998-11-16 Andrew T. Veliath <andrewtv@usa.net>
* lexer.l: Had b10_int and b10_uint reversed.
* tstidl.c (print_const_dcls): Update for IDL_LL.
* lexer.l: Use new IDL_LL constant.
(YY_INPUT): Use this now for testing. This will eventually be
used for cpp input override capability.
* IDL.h (IDLF_XPIDL): New parse flag, for eventual XPIDL support.
(IDL_LL): Replaces old IDL_*_FMT defines. Use this in place of
the conversion operator instead of the entire % construct. Rename
IDL_callback to IDL_msg_callback. Note: glib currently doesn't
tell me what conversion specifier to use for GINT64, so this may
currently be troublesome on some platforms (it had to be changed
since the hack that was in place no longer works).
* Makefile.am, configure.in: Bump version number to 0.5.3.
1998-10-25 Andrew Veliath <andrewtv@usa.net>
* Update version to 0.5.2
* ns.c (IDL_ns_load_idents_to_tables): Initialize
struct insert_heap_cb_data just before use.
1998-10-20 Andrew Veliath <andrewtv@usa.net>
* util.c (IDL_parse_filename): Try to make #includes behave more
rationally when source IDL file is not in the current directory.
1998-10-14 Andrew Veliath <andrewtv@usa.net>
* parser.y (IDL_resolve_const_exp): Allow return of enumerated
identifiers. Trying to use an enumeration in an arithmetic
expression is disallowed.
1998-10-09 Andrew Veliath <andrewtv@usa.net>
* parser.y: (positive_int_const) Improve errors and warnings for
nonsensical values.
1998-10-08 Andrew Veliath <andrewtv@usa.net>
* IDL.h (IDLF_NO_EVAL_CONST): New flag, obsoletes IDLF_EVAL_CONST,
which has been removed. The default behavior is now to evaluate
constant expressions.
* IDL.h, parser.y (IDL_resolve_const_exp): New function.
positive_int_const changed to attempt resolution of expression to
an integral value. primary_expr will attempt resolution of scoped
names, so constant evaluation is now much improved. An
IDL_NODE_IS_LITERAL is also now in IDL.h.
Thu Aug 27 10:52:41 1998 Andrew Veliath <andrewtv@usa.net>
* Update version to 0.5.0.
* Updates to libIDL.texi, and renable in Makefile.am.
* Integrate default maximum warning level into IDL_parse_filename.
Thu Aug 27 03:30:44 1998 Andrew Veliath <andrewtv@usa.net>
* parser.y: Generate error if one tries to inherit from the same
interface more than once. Also use IDL_ns_ident_to_qstring to
give more concise identifiers in error messages.
Thu Aug 27 01:08:56 1998 Andrew Veliath <andrewtv@usa.net>
* IDL.h: Removed IDL_TRUE and IDL_FALSE, so we can just use the
glib TRUE and FALSE. References switched...
* util.c (IDL_tree_walk_in_order): (...pre_order changed to the
more accurate ...in_order). Behavior change, return value is now
void, and returning TRUE from the IDL_tree_func means traverse
this node, and FALSE means don't traverse this node, instead of
the previous return FALSE and stop traversal all together. This
is much more useful for this context, I think.
Wed Aug 26 01:48:12 1998 Andrew Veliath <andrewtv@usa.net>
* util.c (IDL_tree_process_forward_dcls),
(IDL_tree_remove_inhibits),
(IDL_tree_remove_empty_modules): Remove debugging messages.
* util.c (IDL_parse_filename): Only run optimization if tree is
non-NULL, and improve useless file message.
* parser.y: Complete previous declaration context error messages.
1998-08-25 Andrew Veliath <andrewtv@usa.net>
* Update libIDL version to 0.4.0.
* Update font lock keywords in README, added support for
__declspec.
* Implementation of IDL_tree_free for IDLN_GENTREE hashes in
place.
* Makefile.am: Change libtool version to 3:2:3.
* parser.y, IDL.h: Changes for global ref counting.
* util.c (IDL_tree_free): Instead of ref counting only IDENTS,
ref count all nodes instead (updated __IDL_tree_free, added
IDL_tree_free_real). Update remove_list_node to reflect this
change.
* util.h: Remove __IDL_tree_free.
* util.c (__IDL_tree_free): Ref count IDLN_IDENTS.
Tue Aug 25 01:46:10 1998 Tom Tromey <tromey@cygnus.com>
* util.c (IDL_strcase_equal): Use g_strcasecmp.
(IDL_strcase_cmp): Likewise.
1998-08-24 Andrew Veliath <andrewtv@usa.net>
* Save inhibited nodes and free upon IDL_ns_free so that the full
trees are available to traverse from the namespace.
* 'nostubs' changed to 'inhibit'
1998-08-17 Andrew Veliath <andrewtv@usa.net>
* Update version to 0.3
* Create an IDLF_COMBINE_REOPENED_MODULES to have libIDL combine
all the module declarations into one tree, instead of separate
trees with the same ident node.
* Add __declspec support. First one implemented is for
interfaces, so that __declspec (nostubs) interface foo { ... };
won't generate tree node information. Had to revamp grammar
slightly to get a single lookahead.
* Change IDL_long_t to IDL_longlong_t (+ unsigned version).
1998-08-10 Andrew Veliath <andrewtv@usa.net>
* parser.y: Catch the interface Object construct, which isn't
legal, but is in some pseudo-IDL files.
* lexer.l: Bring back Object token recognition.
* ns.c (IDL_ns_ident_to_qstring): If given and IDLN_IDENT,
quietly call IDL_IDENT_TO_NS.
* util.[ch]: Change g_strcase_hash to IDL_strcase_hash (make
public). Add IDL_strcase_equal, IDL_strcase_cmp,
load_forward_dcls, resolve_forward_dcls,
print_unresolved_forward_dcls, IDL_tree_resolve_forward_dcls.
(IDL_parse_filename): Warn on unresolved forward declarations in
post-parse semantic checking. Remove __IDL_tree_print, add
IDL_tree_walk_pre_order.
* IDL.h: Add IDL_tree_walk_pre_order prototype and callback typedef.
1998-08-09 Andrew Veliath <andrewtv@usa.net>
* parser.y: enum_type: Don't generate a nested scope.
1998-08-06 Andrew Veliath <andrewtv@usa.net>
* Allow for redefinition of certain items in inheritance
(doesn't detect some invalid items, but still better than
before).
* Change the namespace data structure from a general tree using a
linked list to case-insensitive string hashes for each tree
level. Used g_str_hash from glib modified for
case-insensitivity (g_strcase_hash).
* Fix bug where some top-level redeclarations would cause a core
dump.
* Change references to strdup to g_strdup, and update
configure.in.
* Begin major cutting for libIDL 0.3, which will have new
namespace code. Move lots of stuff around.
1998-08-05 Andrew Veliath <andrewtv@usa.net>
* lexer.l: Change C-language warning level to warning level 2,
all other warnings to level 1
* parser.y (yywarning*): Add multiple warning levels
* IDL.h: Remove IDL_WARNING, add IDL_WARNING1-3 and IDL_WARNINGMAX
* IDL.h: Generate a CPP error if glib.h isn't included beforehand.
* IDL.h, parser.y: Integrate Sebastian Wilhelm's patch to add type
cast checking, with a number of style modifications of my own
(anything I broke is my fault ;-) for libIDL and add a warning
on casting a NULL pointer.
* lexer.l: Implement Dick's suggestion to warn or error on
underscores in identifiers with underscores or ones which begin
with an underscore.
1998-08-04 Andrew Veliath <andrewtv@usa.net>
* Preliminary inheritance checks
* Implement pragmas for prefix, ID and version
* First cut at Repository ID generation
1998-08-03 Andrew Veliath <andrewtv@usa.net>
* parser.y: Add many new error messages.
1998-07-28 Andrew Veliath <andrewtv@usa.net>
* acinclude.m4 (revive): Create AC_CPP_ACCEPT_IDL and
AC_CPP_PIPE_STDIN tests
* configure.in: Add AC_CPP_ACCEPT_IDL and AC_CPP_PIPE_STDIN in
configuration
* util.h, parser.y, lexer.l: If HAVE_CPP_PIPE_STDIN is defined,
then compile for piped CPP input, else use the more portable
symlink method. Also use getcwd instead of g_getcwd, since it has
been commented out in glib.
1998-07-27 Andrew Veliath <andrewtv@usa.net>
* parser.y (IDL_parse_filename): g_getcwd returns a static buffer
1998-07-25 Neil Vachharajani <nvachhar@pluto.njcc.com>
* parser.y: Add one more byte for / in the allocation of linkto in
IDL_parse_filename
1998-07-20 Andrew Veliath <andrewtv@usa.net>
* Most of inhertance is done. ChangeLog won't be updated much now
in preference to CVS logs.
1998-07-01 Andrew Veliath <andrewtv@usa.net>
* Fix spelling of "inheritance" :)
* Add use long long type if __GNUC__ defined
* Fix scoping rules (scope idents weren't being referenced
properly)
1998-06-29 Andrew Veliath <andrewtv@usa.net>
* Create skeleton texinfo file
* configure.in improved
* Wee, should now also work with standard lex with new renaming
rule
* Now works with standard yacc, but flex will be a requirement
1998-06-24 Andrew Veliath <andrewtv@usa.net>
* Warn if identifier appears in different case
* Most namespace collision detection added, except for inheritance
* Use YYDEBUG
* parser.y: Initial implementation of IDL_ns* stuff
1998-06-23 Andrew Veliath <andrewtv@usa.net>
* Implement constant evaluation
* Almost all tree generation stuff added
* Implement const_dcl and const_exp
* Implement type_dcl, interface and module non-terminals
1998-06-22 Andrew Veliath <andrewtv@usa.net>
* Start implementing tree generation code
* Add IDL_root_free, IDL_symtab_free
* Modify IDL_parse_filename to include callbacks,
return a symbol table
* Implmenent warning/error callback functionality
* Move idl.c code to parser.y, delete idl.c
1998-06-17 Andrew Veliath <andrewtv@usa.net>
* Implement IDL_parse_filename
* Implement supporting code for error and warning detection
* Create rename.h to rename yacc/lex stuff
* Add strdup definition to util.[ch] and autoconf
* Create util.c, util.h
* Create lexer.l, parser.l, idl.h, idl.c
* Create library structure, automake and autoconf files
|