<div class="csl-bib-body">
<div class="csl-entry">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.), <i>Proceedings of the 22nd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences</i> (pp. 29–41). https://doi.org/10.1145/3624007.3624052</div>
</div>
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/190603
-
dc.description.abstract
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
dc.description.sponsorship
HUAWEI Technologies CO, Ltd.
-
dc.description.sponsorship
HUAWEI Technologies CO, Ltd.
-
dc.language.iso
en
-
dc.rights.uri
http://creativecommons.org/licenses/by/4.0/
-
dc.subject
architecture description language
en
dc.subject
pattern-based macros
en
dc.subject
higher-order macros
en
dc.subject
macro system
en
dc.subject
generative programming
en
dc.title
A pred-LL(*) parsable typed higher-order macro system for architecture description languages