Как я могу проанализировать код REXX в Java?

Думаю, я понял это. База данных была настроена так, чтобы не допускать одно и то же имя и поле адреса 1, и мои данные имели некоторые дубликаты для адреса 1, но различия в адресе 2. Необходимо внести некоторые изменения в базу данных, а затем повторить попытку. Я собираюсь оставить свой вопрос, чтобы помочь другим, которые могут столкнуться с подобными проблемами.

5
задан brabster 28 March 2009 в 22:37
поделиться

3 ответа

Если у Вас есть BNF Rexx грамматика, то javacc может помочь Вам создать AST (Абстрактное синтаксическое дерево) представление того кода Rexx.

Более точно javacc создаст классы Java, которые будут:

  • проанализируйте код Rexx и
  • на самом деле создает AST.

Все еще была бы "загрузка кода", но Вы не будете, чтобы быть тем, делающим записи классов для того синтаксического анализатора кода Rexx. Только его поколение.

5
ответ дан 18 December 2019 в 13:19
поделиться

Взгляните на ANTLR, он действительно делает хорошую работу создания AST, преобразовывая его и т.д... Это имеет хорошего редактора (ANTLRWorks), основано на Java и может отладить Ваш синтаксический анализатор / древовидные ходоки, в то время как они работают в Вашем приложении. Действительно стоящий исследования для любого вида парсинга задания.

1
ответ дан 18 December 2019 в 13:19
поделиться

REXX - не простой язык для разбора с распространенными инструментами, особенно с теми, которые ожидают грамматику BNF. В отличие от большинства языков, разработанных людьми, подверженными C, в REXX нет зарезервированных слов, что несколько усложняет задачу. Каждый термин, который выглядит как зарезервированное слово, на самом деле разрешается только в его специфическом контексте (например, "PULL" зарезервирован только как первое слово инструкции PULL или второе слово инструкции PARSE PULL - у вас также может быть переменная с именем PULL ("PULL = 1 + 2"))). Плюс есть некоторые очень удивительные эффекты от комментариев. Но ANSI REXX стандарт имеет полный синтаксис и все правила.

.
8
ответ дан 18 December 2019 в 13:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: