Динамическое обновление правил во время выполнения

StackOverflow https://stackoverflow.com/questions/1838030

  •  11-09-2019
  •  | 
  •  

Вопрос

При отправке AT-команды она обычно завершается , но, по сути, это действительно две "регистровые переменные" S3 и S4.

По умолчанию S3==' ' и S4==' ', но пользователь может изменить их во время выполнения с помощью команды ATSx=

Как я могу справиться с этим в моем Antlr lexer / parser?

Каждая команда имеет форму В [параметрах] S3S4, как я могу справиться с этим, если пользователь изменит значение S3 или S4?

Заранее спасибо за любую помощь...

Это было полезно?

Решение

Нет, такой опции для динамического изменения правил лексера или синтаксического анализа AFAIK не существует.Конечно, возможны обходные пути, такие как повторное создание лексера / синтаксического анализатора при изменении регистровых переменных, но, я думаю, это будет некрасиво...


Редактировать

мауг написал

воссоздание lexr & poarser (ну, только lexer, я полагаю) - не могли бы вы рассказать об этом подробнее?

Переписываем исходный файл грамматики (только правила лексеринга, как вы правильно упомянули) и перекомпилируем его "на лету".Видишь: http://java.sun.com/javase/6/docs/api/javax/tools/JavaCompiler.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top