Thanks to everyone who responded.
I am trying to write a compliant 7185 compiler from 7185 compliant source.
The problem arose because my compiler produced an error on the construct
described when it compiled itself.
I think that ( b )^.Field1 is a compliant work around because the
expression will be treated as a variable access.
I am using the 7185 spec rather than 10206 because it is much smaller
and within a single person's scope. Also the compiler is intended for
embedded systems where there is less need for advanced features.
Using the 7185 spec as a base grammar will allow for grammar additions,
such a interrupt directives, to be added to a well specified grammar as
small tweaks.
As well, 7185 is specified as a single source file so there is no need
for a link editor to stitch together various pieces of object code to
produce an executable. Without need for a linker, the complier becomes
much more portable. There are many more embedded CPU chips than larger
scale CPUs with operating systems.
Regards,
Paul Isaacs