SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Software Engineering Economics
Software Engineering Economics
Efficient applicative data types
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Attribute grammars and data-flow languages
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
A single-pass syntax-directed front end for Ada
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
ICSE '90 Proceedings of the 12th international conference on Software engineering
Composable attribute grammars: support for modularity in translator design and implementation
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A framework for run-time systems and its visual programming language
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Incorporating multi-pass attribute grammars for the high-level synthesis of ASICs
SAC '98 Proceedings of the 1998 ACM symposium on Applied Computing
Journal of the ACM (JACM)
Hi-index | 0.00 |
This paper presents aspects of a compiler for a new hardware description language (VHDL) written using attribute grammar techniques. VHDL is introduced, along with the new compiler challenges brought by a language that extends an Ada subset for the purpose of describing hardware. Attribute grammar programming solutions are presented for some of the language challenges.The organization of the compiler and of the target virtual machine represented by the simulation kernel are discussed, and performance and code-size figures are presented.The paper concludes that attribute grammars can be used for large commercial compilers with excellent results in terms of rapid development time and enhanced maintainability, and without paying any substantial penalty in terms of either the complexity of the language that can be handled or the resulting compilation speed.