Abstract
Compilers form the backbone of the field of computing nowadays. Computation has diversified from the initially acclaimed fields of research, to a tool for entertainment and application development. As computers gained popularity, users demanded more from it, and consequently, they began to develop applications that suited their needs on their own. For this, programming languages were developed. But as needs diversified, people needed more features, which led to more and more languages, stressing on the usability and friendliness. But in all this rapid development, languages began to branch out, with less common features and overlapping. So, it became difficult to integrate and incorporate features between languages. This resulted in development od cross-language interfaces. Also, with the diversification of operating systems, target languages began to vary, and interfaces found it difficult to cope with changes in platform. So, the search was on to find a technology that can solve the language and platform barrier, ultimately making applications robust, user-friendly and powerful. Here, we examine one possible solution for this. We stress upon the intermediate code which is the result of partial compilation. If we can make this code language and platform independent, we can easily solve the issue. This is particularly useful in incremental compilers, which face the challenge of patching up executable code modules.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aho, A., Sethi, R., Lam, Ullmann, J.: Compilers - Principles, Techniques and Tools, pp. 15–67. Pearson Education, London (2008)
Deshpande, S., Khedker, U.P.: Incremental Machine Description for GCC, pp. 1–5. Department of Computer Science, Indian Institute of Technology, Bombay (2007)
Louden, K.C.: Compiler Construction Principles and Practice, pp. 45–61. Prentice Hall, Englewood Cliffs (2006)
Taff, L.M., Sporrel, F.: An Incremental Compiler for Data Acquisition. IEEE Transactions for Nuclear Science NS-26(4), 19–26 (1979)
Costa, F., Frasconi, P., Lombardo, V., Sturt, P., Soda, G.: Ambiguity Resolution analysis in incremental parsing of Natural Language. IEEE Transactions on Neural Networks 16(4), 24–32 (2005); Department of Information Systems, Universit’a di Firenze, Italy,
de Lamadrid, J.G., Zimmerman, J.: IncH: an Incremental Compiler for a Functional Language, pp. 1–5. Bowie State University and Goucher College, Maryland (2007)
Cook, P., Welsh, J., Hayes, I.J.: Building a flexible incremental compiler back-end. Technical Report SSE-2005-02, Division of Systems and Software Engineering Research, School of Information Technology and Electrical Engineering, The University of Queensland, pp. 1-8 (May 2005)
Gaffer, N.M.: Parallel Incremental Compilation. Technical Report 349, Department of Computer Science, University of Rochester, pp. 45–96 (June 1990)
GCC-XML: GCC-XML, An Introduction, http://www.gccxml.org/HTML/Index.htmlgccxml (2010)
Power, J.F., Malloy, B.A.: Program Annotation in XML: A parse-tree based approach. In: Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE 2002), pp. 1–9 (2002)
ByteCodes: ”Java Bytecodes” Compilation, JavaWorld (2010), http://www.javaworld.com/jw-09-1996/jw-09-bytecodes.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mahalingam, P.R., Unnikrishnan, C. (2011). Portability in Incremental Compilers. In: Abraham, A., Mauri, J.L., Buford, J.F., Suzuki, J., Thampi, S.M. (eds) Advances in Computing and Communications. ACC 2011. Communications in Computer and Information Science, vol 192. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22720-2_59
Download citation
DOI: https://doi.org/10.1007/978-3-642-22720-2_59
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-22719-6
Online ISBN: 978-3-642-22720-2
eBook Packages: Computer ScienceComputer Science (R0)