trik-studio
trik-studio copied to clipboard
Ev3 fails rbf-generation with variables like e1 e2
Программа не загружается на контроллер из-за наличия в лексемах сочетаний e1 или e2. https://drive.google.com/drive/folders/1-c0TO-mWDbRpq95Q3slDDm2STVa1EuSr?usp=sharing
Проблема с assembler.jar (с помощью него происходит генерация rbf из lms), который был взят тут
Есть он же, дизассемблированный вот тут
Хочется его пропатчить, т.к. проверка воспринимает переменные вида e1, eeee1000, e5e1 (и так далее) как числа, но потом преобразовать их в число не может, в логах можно видеть ошибку java.lang.NumberFormatException: For input string: \"e1\"\r\n
Предлагаю у нас ловить эту проблему, чтобы пользователи не мучились. Просто добавим для EV3 проверку, что такие имена переменных нельзя давать, и будем ругаться. Что-то типа "Please, rename this variable, '%1 cannot be used because of the known EV3 problem."
Есть новый переписанный lmsasm https://github.com/ev3dev/lmsasm, может быть, нам надо перейти на него, и коммитить в него фиксы, если будут проблемы.