Simple integer expressions + - * / | & ~ ()
Make user-defined types more powerful. Some ideas: bitmask fields (for app_flags), choice fields (for app_version), conditional constructs.
Attributes, so you can also use rdef scripts to add attributes to your files instead of (or in addition to) resources.
In "auto names" mode, the decompiler currently does not use the enum symbol table. So if two resources have the same name and that name is a valid C/C++ identifier, the decompiler will add two conflicting symbols to the enum statement. This can also happen when multiple input files have conflicting resource IDs.
Support for the built-in types point, rect, and rgb_color is hardcoded into the decompiler. The other built-in types--app_flags, mini_icon, etc--are not supported at all. It would be better to use the type symbol table for this as well. Then the decompiler can also support user-defined types (although these type definitions must be provided to the decompiler somehow.)
Right now, archives are treated as messages. Maybe we should give them their own type, B_ARCHIVED_OBJECT (type code 'ARCV').