Имя переменной, начинающееся с "else"

Опубликовано в Ошибки QPILE

Очень неожиданная и потому неприятная ошибка.

PORTFOLIO_EX test;
DESCRIPTION test;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST FIRMID;

PROGRAM
elsewhere = 1
END_PROGRAM


PARAMETER SECTION;
PARAMETER_TITLE Section;
PARAMETER_DESCRIPTION Section;
PARAMETER_TYPE STRING(25);
END

Портфель не исполняется. Выдаётся неверная диагностика. Подозреваю, есть и иные совпадения, на которые среагирует интерпретатор.

Ошибка была найдена случайно - во время тестирования обфускатора QPILE.  

Дополнение.

То же самое касается как минимум переменных, начинающихся на continue и break. 

 

UPD:

 

04.07.2012 - Пришел репорт из ARQA Technologies, что в версии 6.3 ошибку исправили.

 

Комментарии   

# Петров 23.04.2012 18:21
Похоже, это относится со всем идентификаторам , которые начинаются с ключевых слов. Например, оператор

return_code = 0

вызывает немедленное исполнение оператора return.
# mike 26.07.2012 11:48
У меня в коде была переменная len Все работало нормально .Потом добавил в код
USE_CASE_SENSITIVE_CONSTANTS
переменная len просто перестала обновляться
и никаких ошибок
С названиями функций тоже надо быть аккуратным!!!

Недостаточно прав для комментирования