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