Abstract
Compilers translate abstract code containing high-level language instructions to low-level form. Meta-compilers are specialized compilers used to compile source code containing statements from multiple programming languages. Data structures in different languages can be used in a single language known as metalanguage. In this paper, optimization techniques on string objects for a metalanguage developed using C++ and Java are presented. It offers a flexible programming environment for users. String objects in Java take more memory and access time since it contains information about the globally shared array, length, and offset of currently executing strings. Most of the time the shared character array is not completely used and the garbage collection becomes difficult. Meta-compiler uses array representation for all string operations allowed in Java and C++. A virtual machine backend is designed for the meta-framework and bytecodes are rewritten for string operations in C++ and Java using arrays. It shows considerable improvement in the execution performance of meta-programs using strings compared to C++ and Java.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Beevi, S. N., Chitraprasad, D., & Chandra, V. S. S. (2012). Enhancing flexibility and portability of Execution Preserving Language Transformation using metaprogramming. In Proceedings of International Conference on Power, Signals, Controls and Computation, Epsicon12 (pp. 1–4). IEEE.
Beevi, S. N., Chitraprasad, D., & Chandra, V. S. S. (2013). Wrapping C++ and Java using a meta framework. International Journal of Simulation, Systems, Science and Technology, 13(1), 35–41.
Beevi, S. N., Chitraprasad, D., & Chandra, V. S. S. (2014). MetaJC++: A flexible and automatic program transformation technique using Meta frame-work. Central European Journal of Engineering, 4(3), 316–325. Springer.
Beevi, S. N., Chitraprasad, D., Chandra, V. S. S. (2013). Performance enhancement of metaframeworks through metagrammars. In ERCICA-2013, Proceedings of Elsevier (2013).
Boldi, P., & Vigna, S. (2005). Mutable strings in Java: Design, implementation and lightweight text-search algorithms. Science of Computer Programming, 54(1), 3–23.
Wagner, G., Gal, A., & Franz, M. (2011). Slimming a Java virtual machine by way of cold code removal and optimistic partial program loading. Science of Computer Programming, 76(11), 1037–1053.
Tian, Y. H. (2006). String concatenation optimization on Java bytecode. In Proceedings of the Conference on Programming Languages and Compilers, CSREA (pp. 945–951).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Nadera Beevi, S. (2020). Compressing Metaclass Files Through String Optimization. In: Sharma, H., Govindan, K., Poonia, R., Kumar, S., El-Medany, W. (eds) Advances in Computing and Intelligent Systems. Algorithms for Intelligent Systems. Springer, Singapore. https://doi.org/10.1007/978-981-15-0222-4_6
Download citation
DOI: https://doi.org/10.1007/978-981-15-0222-4_6
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-15-0221-7
Online ISBN: 978-981-15-0222-4
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)