📄 changelog
字号:
* 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 generation1998-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 buffer1998-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 requirement1998-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* stuff1998-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.c1998-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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -