Hochrainer, C., & Krall, A. (2023). A pred-LL(*) parsable typed higher-order macro system for architecture description languages. In C. De Roover, B. Rumpe, & A. Shaikhha (Eds.), Proceedings of the 22nd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (pp. 29–41). https://doi.org/10.1145/3624007.3624052
Macro systems are powerful language extension tools for Architecture Description Languages (ADLs). Their generative power in combination with the simplicity of specification languages allows for a substantial reduction of repetitive specification sections. This paper explores how the introduction of function- and record types in a template-based macro system impacts the specification of ADLs. We present design and implementation of a pattern-based syntax macro system for the Vienna Architecture Description Language (VADL). The macro system is directly integrated into the language and is analyzed at parse time using a context-sensitive pred-LL(*) parser. The usefulness of the macro system is illustrated by some typical macro application design patterns. The effectiveness is shown by a detailed evaluation of the Instruction Set Architecture (ISA) specification of five different processor architectures. The observed specification reduction can be up to 90 times, leading to improved maintainability, readability and runtime performance of the specifications.
en
Projekttitel:
Processor Description Language and Compiler Optimizations: YBTC20190866NDA (HUAWEI Technologies CO, Ltd.) Processor Description Language and Compiler Optimizations - 2: TC20220519027 (HUAWEI Technologies CO, Ltd.)