Efficient Compiler Design for a Geometric Shape Domain-Specific Language: Emphasizing Abstraction and Optimization Techniques
DOI:
https://doi.org/10.4108/eetsis.4346Keywords:
Domain Specific Language, Compiler, Geometric Shapes, Machine Code, Optimization techniques, Loop unrollingAbstract
The research paper represents a novel approach to the design and optimization of a compiler for a domain-specific language (DSL) focused on geometric shape creation and manipulation. The primary objective is to develop a compiler capable of generating efficient machine code while offering users a high level of abstraction. The paper begins with an overview of DSLs and compilers, emphasizing their importance in software development. Next, it outlines the specific requirements of the geometric shape DSL and proposes a compiler design that addresses them. This innovative approach considers DSL's unique features, such as shape creation and manipulation, and aims to generate high-quality machine code. The paper also discusses optimization techniques to enhance the generated code's quality and performance, including loop unrolling and instruction scheduling. These optimizations are particularly suited to the DSL, which focuses on geometric shape creation and manipulation and are integral to achieving efficient machine code generation. In conclusion, the paper emphasizes the novelty of this approach to DSL compiler design and anticipates exciting results from testing the compiler developed for the geometric shape DSL.
References
Aho, A. V., Lam, M. S., Sethi, R., & Ullman, J. D.: Compilers: Principles, Techniques, and Tools. Pearson Education (2006).
Domain-specific language in Wikipedia the Free Encyclopaedia, https://en.wikipedia.org/wiki/Domain-specific_language, last accessed 2023/05/05.
Aho, A. V., & Ullman, J. D.: Principles of Compiler Design. Addison-Wesley (1977).
Aho, A. V., Lam, M. S., Sethi, R., & Ullman, J. D.: Compilers: Principles, Techniques, and Tools. 2nd edn. Pearson Education (2006).
Aho, A. V., Lam, M. S., Sethi, R., & Ullman, J. D.: Compilers: Principles, techniques, and tools. Pearson Education (2007).
Allen, F. E., & Kennedy, K.: Optimizing Compilers for Modern Architectures: A Dependence based Approach. Morgan Kaufmann (2001).
Appel, A. W.: Modern Compiler Implementation in Java. 2nd edn. Cambridge University Press (1997).
Fowler, M.: Domain-specific languages. Pearson Education (2010).
Clements, P., & Northrop, L.: Software Product Lines: Practices and Patterns. AddisonWesley Professional (2002).
Cooper, K. D., & Torczon, L.: Engineering a Compiler. 2nd edn. Morgan Kaufmann (2012).
Van Deursen, A., & Klint, P.: Domain-specific language design requires feature descriptions. Journal of computing and information technology, 10(1), 1-17 (2002).
Moglan, M., Mazur, D., Balan, V., Osmătescu, A., & Astifeni, M.: Domain Specific Language for geometric figures and bodies representation. In Conferinţa tehnico-ştiinţifică a studenţilor, masteranzilor şi doctoranzilor, vol. 1, pp. 238-241 (2021).
López-Fernández, J. J., Garmendia, A., Guerra, E., & de Lara, J.: An example is worth a thousand words: Creating graphical modeling environments by example. Software & Systems Modeling, 18, 961-993 (2019).
Kalechman, M.: Practical MATLAB basics for engineers. Crc Press (2018).
Hong, S., Chafi, H., Sedlar, E., & Olukotun, K.: Green-Marl: a DSL for easy and efficient graph analysis. In Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems pp. 349-362 (2012, March).
Horvath, J. & Cameron, R.: Make: Geometry: Learn by Coding, 3D Printing and Building. O'Reilly Media, Incorporated (2021).
Bui, N. B., Zhu, L., Gorton, I., & Liu, Y.: Benchmark generation using domain specific modeling. In 2007 Australian Software Engineering Conference ASWEC'07, pp. 169-180, IEEE (2007, April).
Xu, X. (eds.): Integrating Advanced Computer-Aided Design, Manufacturing, and Numerical Control: Principles and Implementations: Principles and Implementations. IGI Global (2009).
L. Xu, S. Zhang, and X. Ma.: A Domain-Specific Language for Geometric Computing. In: Proceedings of the 9th International Conference on Software Engineering and Service Science, pp. 139-142. doi: 10.1145/3241733.3241791 (2018).
Muchnick, S.: Advanced compiler design implementation. Morgan Kaufmann (1997).
Vince, J.: Geometric algebra for computer graphics. Springer Science & Business Media (2008).
Mernik, M., Heering, J., & Sloane, A. M.: When and how to develop domain-specific languages. ACM Computing Surveys (CSUR), 37(4), 316-344 (2005).
Muchnick, S. S.: Advanced compiler design and implementation. Morgan Kaufmann (1997).
Markus Voelter: Domain Specific Languages. 1st edn. Addison-Wesley Professional (2010).
Selig, J. M.: Geometric fundamentals of robotics. vol. 128. Springer, New York (2005). 10
Van Deursen, A.: Domain-specific languages: An annotated bibliography. ACM SIGPLAN Notices, 35(6), 26-36 (2000)
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2023 Priya Gupta, Terala ManiKiran, Mailapalli Purushotham, L Jeya Suriya, Rasamsetty Naga Venkata, Sambhudutta Nanda
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
This is an open access article distributed under the terms of the CC BY-NC-SA 4.0, which permits copying, redistributing, remixing, transformation, and building upon the material in any medium so long as the original work is properly cited.