Index: JvInterpreter.pas
===================================================================
--- JvInterpreter.pas	(revision 10535)
+++ JvInterpreter.pas	(working copy)
@@ -5211,10 +5211,12 @@
   function Expression(const OpTyp: TTokenKind): Variant;
   var
     Tmp: Variant;
+    aPrevTTyp:integer;
   begin
     Result := Unassigned;
     if OpTyp <> ttUnknown then
       NextToken;
+    aPrevTTyp:=TTyp;
     while True do
     begin
       case TTyp of
@@ -5390,7 +5392,7 @@
             NextToken;
           end;
         ttRB:
-          if TVarData(Result).VType = varEmpty then
+          if (TVarData(Result).VType = varEmpty) and (aPrevTTyp<>ttIdentifier) then
             ErrorExpected(LoadStr2(irExpression))
           else
             Exit;
@@ -5403,12 +5405,12 @@
             NextToken;
           end;
         ttRS:
-          if TVarData(Result).VType = varEmpty then
+          if (TVarData(Result).VType = varEmpty) and (aPrevTTyp<>ttIdentifier) then
             ErrorExpected(LoadStr2(irExpression))
           else
             Exit;
       else
-        if TVarData(Result).VType = varEmpty then
+        if (TVarData(Result).VType = varEmpty) and (aPrevTTyp<>ttIdentifier) then
           ErrorExpected(LoadStr2(irExpression))
         else
           Exit;
