|
@@ -1282,10 +1282,16 @@ unit raatt;
|
|
|
while (actasmtoken=AS_DOT) do
|
|
|
begin
|
|
|
Consume(AS_DOT);
|
|
|
- if actasmtoken=AS_ID then
|
|
|
- s:=s+'.'+actasmpattern;
|
|
|
- if not Consume(AS_ID) then
|
|
|
+
|
|
|
+ { a record field could have the same name as a register }
|
|
|
+ if actasmtoken in [AS_ID,AS_REGISTER] then
|
|
|
+ begin
|
|
|
+ s:=s+'.'+actasmpattern;
|
|
|
+ consume(actasmtoken)
|
|
|
+ end
|
|
|
+ else
|
|
|
begin
|
|
|
+ Consume(AS_ID);
|
|
|
RecoverConsume(true);
|
|
|
break;
|
|
|
end;
|