Третьего дня наткнулся на неожиданность.
В одном из моих компонентов реализован поиск слова IMPORT в тексте исходника.
Ищу это слово с помощью TextMappers.Scanner, опираясь на получаемые при сканировании значения поля .string. При этом, в 90% случаев поиск проходит успешно, а вот недавно я обнаружил, что в строке мне приходит совсем не то, что могло бы быть словом "IMPORT".
Тестовый модуль
Код:
MODULE PrivMappers;
IMPORT
Views, Files, TextMappers, TextViews, Log;
PROCEDURE Do*;
VAR v: Views.View; sc: TextMappers.Scanner;
BEGIN
v:=Views.OldView(Files.dir.This(''), 'Spouts.odc');
ASSERT(v#NIL, 40);
WITH v: TextViews.View DO
sc.ConnectTo(v.ThisModel());
REPEAT
sc.Scan;
IF sc.type=TextMappers.string THEN
Log.String(sc.string)
END;
UNTIL sc.rider.eot;
ELSE END;
END Do;
BEGIN
END PrivMappers.
PrivMappers.Do
при натравливании его на файл из аттача выдаёт вокруг слова IMPORT какие-то безумные строки.
Цитата:
kia
0DX 09X issues 09X =
0DX **) 0DX 0DX 09X IMPORT 0DX 09X 09X kiaLog, StdLog; 0DX 0DX 09X TYPE 0DX 09X 09X (* вывод в стандартный лог *) 0DX 09X 09X StdLogSpout* = RECORD 0DX 09X 09X 09X on*: BOOLEAN 0DX 09X 09X END; 0DX 0DX 09X (* 05.10.2011 16:35:53
PROCEDURE
VAR
Ну и понятно, никакого слова IMPORT найти не выходит.
Кто-нибудь с подобным сталкивался?