Affiliation:
1. The University of Alabama, USA
2. University of Maribor, Slovenia
Abstract
Unlike natural languages, programming languages are strictly stylized entities created to facilitate human communication with computers. In order to make programming languages recognizable by computers, one of the key challenges is to describe and implement language syntax and semantics such that the program can be translated into machine-readable code. This process is normally considered as the front-end of a compiler, which is mainly related to the programming language, but not the target machine. This article will address the most important aspects in building a compiler front-end; that is, syntax and semantic analysis, including related theories, technologies and tools, as well as existing problems and future trends. As the main focus, formal syntax and semantic specifications will be discussed in detail. The article provides the reader with a high-level overview of the language implementation process, as well as some commonly used terms and development practices.
Reference22 articles.
1. Aho, A. V., Lam, M. S., Sethi, R., & Ullman, J. D. (2007). Compilers: Principles, techniques, and tools (2nd ed.). Boston, MA: Addison-Wesley.
2. On certain formal properties of grammars
3. de Moor, O., Peyton-Jones, S., & Van Wyk, E. (2000). Aspect-oriented compilers. In Proceedings of Generative and Component-based Software Engineering (GCSE), (pp. 121-133).
4. Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design patterns, elements of reusable object-oriented software. Reading, MA: Addison-Wesley.
5. JastAdd—an aspect-oriented compiler construction system
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献