Browse Source

Fixed ignoring conditional statements in inline assembly code

git-svn-id: https://svn-dept.inf.ethz.ch/svn/lecturers/a2/trunk@8725 8c9fc860-2736-0410-a75d-ab315db34111
negelef 6 năm trước cách đây
mục cha
commit
601afcaa1a
1 tập tin đã thay đổi với 5 bổ sung1 xóa
  1. 5 1
      source/FoxParser.Mod

+ 5 - 1
source/FoxParser.Mod

@@ -281,7 +281,11 @@ TYPE
 				ELSIF (conditional = Processing) OR (conditional = ProcessingElse) THEN
 				ELSIF (conditional = Processing) OR (conditional = ProcessingElse) THEN
 					RETURN TRUE;
 					RETURN TRUE;
 				ELSIF token.symbol = Scanner.Code THEN
 				ELSIF token.symbol = Scanner.Code THEN
-					REPEAT end := scanner.SkipToEndOfCode(startPos, endPos, token) UNTIL end # Scanner.Unequal;
+					end := scanner.SkipToEndOfCode(startPos, endPos, token);
+					WHILE end = Scanner.Unequal DO
+						REPEAT scanner.GetNextCharacter() UNTIL (scanner.ch # Scanner.LF) & (scanner.ch # 0X);
+						end := scanner.SkipToEndOfCode(startPos, endPos, token);
+					END;
 				END;
 				END;
 			END;
 			END;
 		END GetNextToken;
 		END GetNextToken;