У статті досліджується проблема гнучкості граматик з фіксованим набором правил, що обмежує можливості інтеграції спеціалізованих синтаксичних конструкцій. Запро- поновано модель розширення таких граматик, яка дає змогу модульно доповнювати базову систему новими правилами без порушення її цілісності. Завдяки такому підходу синтаксична система набуває здатності адаптуватися до нових вимог, забезпечуючи автоматичне розширення формальних описів.
Розроблено механізм інтеграції нових синтаксичних конструкцій, які ґрунтуються на перевірці їх узгодженості за допомогою аналізу FIRST та FOLLOW множин. Крім того, застосовано методи усунення неоднозначностей із використанням поточного контексту розбору, що дає змогу автоматично визначати оптимальні правила для побудови абстрактного синтаксичного дерева. Такий підхід гарантує однозначність та коректність синтаксичного аналізу, адже навіть у випадках потенційних конфліктів система, враховуючи локальні семантичні та синтаксичні особливості, усуває неоднозначність.
Цей підхід демонструє високу адаптивність і модульність механізму розширення граматики, що має значне практичне значення для подальшої еволюції компіляційних систем та створення спеціалізованих діалектів. Запропонована методологія відкриває нові перспективи для розробки гнучких і масштабованих систем синтаксичного аналізу, здатних оперативно реагувати на зміни у вимогах сучасного програмування.
- Koskimies K., Räihä K.-J., Sarjakoski M. Compiler construction using attribute grammars. 1982. Doi: https://doi.org/10.1145/800230.806991.
- Aasa A. Precedences in specifications and implementations of programming languages. 1995. Doi: http://dx.doi.org/10.1016/0304-3975(95)90680-J.
- Noonan R. E. Compiler construction usingmodern tools. 1986. Doi: https://doi.org/10.1145/5600.5697.
- 4. Guilan D., Suqing Z., Jinlan T., Weidu J. A study of compiler techniques for multiple targets in compiler infrastructures. 2002. Doi: https://doi.org/10.1145/571727.571735
- Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools, 2nd edition, Addison Wesley, 2006.
- De Oliveira Guimarães, J. Learning compiler construction by examples. 2007. Doi: https://doi.org/10.1145/1345375.1345418.
- Demaille A., Levillain R., Perrot B. A set of tools to teach compiler construction. 2008. Doi: https://doi.org/10.1145/1384271.1384291.
- Grune D., van Reeuwijk K., Bal H. E., Jacobs C. J. H., Langendoen K. Modern Compiler Design. 2012. Doi: https://doi.org/10.1007/978-1-4614-4699-6.
- Li H., Hu C., Zhang P., Xie L. Modular SDN Compiler Design with Intermediate Representation. Proceedings of the 2016 Conference on ACM SIGCOMM 2016 Conference - SIGCOMM ’16. 2016. Doi: https://doi.org/10.1145/2934872.2959061.
- Chen H., Ching W.-M., Hendren L. An ELI-to-C compiler: design, implementation, and performance.
- 2017. Doi: https://doi.org/10.1145/3091966.3091969.