Раздел: Программирование > XPlusPlus
../Extends/Object
Описание
ScannerClass осуществляет ЛексическийРазбор ~X++
При его помощи можно выполнять следующие задачи:
удалить все комментарии из кода
найти все употребления ключегого слова
поискать что-нибудь в строках
и т.д.
См. Также
Использование
Передайте X++ код в виде параметра конструктору класса
подключите ../Макрос/
TokenTypes с переченем видов токенов
вызовите firstSymbol для получение первого токена
вызывайте nextSymbol для последующей обработки пока он не вернет 0
создайте собственного наследника
ScannerClass если вы хотите обрабатывать комментарии (перекройте методы comment и lineComment)
Пример
#TokenTypes
ScannerClass s=new ScannerClass(
"void /*test*/new(){int a=1.23;return \"my string\";}");
int token;
;
token=s.firstSymbol();
while(token)
{
info(strFmt("%1, %2: '%3', %4",
s.line(),s.col(),
s.string(), token==#DBL_SYM?s.realValue():0.0));
token=s.nextSymbol();
}
test_scannerclass.zip более продвинутый пример