Я переношу старую грамматику в лимон, и у меня есть все символы терминалов, уже определенные в файле заголовка; Я хотел бы использовать их с этими значениями вместо тех, которые сгенерированы в parser.h лимоном: возможно ли это?
Overwriting parser.h полностью бесполезен, потому что это просто зеркало того, что происходит внутри, согласованные значения будут оставаться одинаковыми.
(С лимонных акциями много кода с Bison Я думаю, что решение зубров бы решить проблему лимона тоже)Использование анализатора Lemon с пользовательскими значениями токена
ответ
С зубрами, вы можете вручную присвоить значение лексем, объявляя их в %token
директиве (%token TOK 263
, например). Однако этот вариант недоступен в лимоне (насколько я знаю).
В любом случае вышеуказанное не соответствует вашему запросу, поскольку оно не позволяет вам считывать значения токена из внешнего файла заголовка. Это не было бы тривиальным требованием для генератора парсера. Чтобы построить таблицы синтаксического анализа, генератор синтаксического анализатора, будь то бизон или лимон, должен действительно знать значение, связанное с каждым токеном, и задача анализа заголовка для извлечения этой информации выходит за рамки сложности генератора парсера; для этого потребуется встроенный анализатор C.
Я бы рекомендовал просто дать генератору синтаксического анализа генерировать заголовочный файл, а затем использовать его вместо определений в существующем файле заголовка. Единственная стоимость (afaics) заключается в том, что вам нужно перекомпилировать любые части проекта, которые ссылаются на значения токена, которые обычно ограничиваются лексером.
- 1. Создание JavaScript-анализатора SQL для SQLite3 (с Lemon? ANTLR3?)
- 2. DatePickerDialog с пользовательскими значениями
- 3. Сохраните данные на Facebook с пользовательскими значениями
- 4. Использование HTML-анализатора с SGML
- 5. Перечисление (с пользовательскими значениями) в строке/Текст
- 6. Поле MySQL с пользовательскими значениями, заданными пользователем
- 7. Загрузка файлов Javascript с пользовательскими значениями заголовков
- 8. Objective-C - UIDatePicker с пользовательскими значениями
- 9. Как начать работу с пользовательскими значениями
- 10. Перечисления в Delphi с пользовательскими значениями
- 11. использование памяти вероятностного анализатора
- 12. Использование превью-анализатора Facebook
- 13. SonataMediaBundle Использование с пользовательскими объектами
- 14. использование isDefaultPrevented() с пользовательскими событиями
- 15. Использование 'is_authenticated' с пользовательскими пользовательскими моделями Django 1.5
- 16. Flex и Lemon Parser
- 17. Практическое использование анализатора ключевых слов
- 18. Использование анализатора Grok в Fluentd
- 19. Как поделиться пользовательскими значениями свойств ресурса
- 20. mybatis - resultmap - nullvalues для замены пользовательскими значениями
- 21. Python с использованием exec с пользовательскими глобальными значениями
- 22. Смешанное использование анализатора последовательности и анализатора ожидающих результатов
- 23. Использование токена доступа Twitter
- 24. Использование токена обновления/обновления
- 25. Использование токена Google Auth
- 26. Использование мягкого токена RSA
- 27. Использование правил смежности в Lemon для интерпретации выражения «let»
- 28. Использование STL контейнер для инициализации графа в Lemon Graph Library
- 29. Как сделать работу @ManyToOne с Spring Lemon?
- 30. Построение анализатора анализатора журнала