Что анализирует packrat?

Я недавно записал программу и с немецким языком и с поддержкой на английском языке. Я был удивлен узнать, что, если я просто назвал свои английские ресурсы LanguageResources.resx и свои немецкие ресурсы LanguageResources.de.resx, он автоматически выбрал корректный язык. ResXFileCodeGenerator заботился обо всем этом для меня.

Примечание, что поля в этих двух файлах не были тем же и любым еще, вошло, немецкие поля обнаружатся в приложении как английский язык как большинство не, определенный мудрый язык файла является файлом по умолчанию. При поиске строки это идет от самого определенного (исключая .de-DE.resx) к наименее определенному (напр. .resx).

Для достигания строк используют ResourceManager. GetString или ResourceManager. Вызовы GetObject. Приложение должно дать Вам ResourceManager бесплатно.

32
задан Sophie Alpert 14 September 2009 в 02:53
поделиться

1 ответ

Pyparsing - это библиотека синтаксического анализа на чистом Python, которая поддерживает синтаксический анализ packrat, так что вы можете увидеть, как это реализовано. Pyparsing использует технику запоминания, чтобы сохранить предыдущие попытки синтаксического анализа для определенного грамматического выражения в определенном месте входного текста. Если грамматика включает повторение того же выражения в этом месте, она пропускает дорогостоящую логику синтаксического анализа и просто возвращает результаты или исключение из мемоизирующего кеша.

1
ответ дан 27 November 2019 в 21:10
поделиться
Другие вопросы по тегам:

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