TOWARDS THE DESIGN AND IMPLEMENTATION OF A PROGRAMMING LANGUAGE (BEEX)
DOI:
https://doi.org/10.15282/ijsecs.8.2.2022.6.0103Keywords:
Software Engineers, Computer Scientists, Software Experts, BeeX, Programming LanguageAbstract
Software Engineers, Computer Scientists, and Software Experts alike are faced to decide which programming language is best suited for a certain purpose as the use of programming languages grows. When we consider the various types of programming languages available today, such as Domain Specific Languages (DSL), General Purpose Languages (GPL), Functional Programming Languages (FPL), Imperative Programming Languages (IPL), amongst others, this becomes complicated. In this study, we introduce BeeX, an interpreted language, with the aim of showing the process and principles involved in language design and consider various choices faced by language designers of various programming languages. BeeX was created with simplicity in mind, thus the study focused on architectural design options. We look at the implementation standpoint and try to figure out what the basic building parts of most programming languages are, such as lexical analysis, syntax analysis, and evaluation phase. To achieve this, we created an interactive command interface that evaluated various BeeX language constructs (conditional logic statements, arithmetic expressions, loop constructs etc.) which allowed students to easily experiment with the proposed language. The results of the tests showed that students and programmers alike can use the BeeX programming language to create a variety of code structures that are simple to use.
References
A. Demaille, “Making Compiler Construction Projects Relevant to Core Curriculums,” In proceeding of: Proceedings of the
th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, ITiCSE 2005, Caparica,
Portugal, ACM SIGCSE Bulletin, 37(3):266-270, June 27-29, 2005, doi:10.1145/1151954.1067518.
F. Wu, H. Narang and M. Cabral , “Design and Implementation of an Interpreter Using Software Engineering Concepts”,
International Journal of Advanced Computer Science and Applications (IJACSA), (5) 7, 2014, doi:
14569/IJACSA.2014.050726.
C. Xing. “How Interpreters Work: An Overlooked Topic in Undergraduate Computer Science Education,” Proc. In CCSC
Southern Eastern Conference, JCSC , (25), 2. December 2009, doi:10.5555/1629036.1629062.
P.T. Vaikunta , A. J. Devi and P. S. Aithal, “A Systematic Literature Review of Lexical Analyzer Implementation Techniques
in Compiler Design”, International Journal of Applied Engineering and Management Letters (IJAEML), 4(2), 285-301, 2020,
ISSN: 2581-7000, doi:10.5281/zenodo.4454632.
O. Apte, S. Agre, R. Adepu and M. Ganjapurkar, “C To Python Programming Language Translator”, Journal of Emerging
Technologies and Innovative Research (JETIR) , 8, 5, 2021, doi:10.1729/Journal.26932.
W. Müller and U. Kortenkamp , “Learning Programming With Ruby”. Conference: Proceedings of the IFIP Workshop "New
developments in ICT and Informatics education” , 2010, Online [Available]: https://www.researchgate.net/publication
L. Welling and L. Thomson, “PHP and MySQL Web Development. 5th Edition”, Addison Wesley, Indianapolis, USA, 2017.
M. Hills and P. Klint , "PHP AiR: Analyzing PHP Systems with Rascal," IEEE Conference on Software Maintenance,
Reengineering, and Reverse Engineering (CSMR-WCRE) pp. 454- 457, 2014, doi:10.1109/CSMR-WCRE.2014.6747217.
T. Ratschiller and T. Gerken ,“Web Application Development with PHP 4.0”, New Riders Publishing, Indianapolis, Indiana,
USA, 2000.
M. Xie, D. Li , M. Cheng, S. Li and Y. Luo “Design and implementation of an efficient program interpreter for industrial
robot”, Journal of Physics: Conference Series, Volume 1884, 2021 International Conference on Intelligent Manufacturing and
Industrial Automation (CIMIA 2021) 26-28 March 2021, Guilin, China. doi:10.1088/1742-6596/1884/1/012018.
O. Banyasad and P. T. Cox , “Design and implementation of an editor/interpreter for a visual logic programming language” ,
International Journal of Software Engineering and Knowledge Engineering, (23), 6, 801-838, 2013,
doi:10.1142/S0218194013500216.
A. Kiani, H. Ebadi, F. F. Ahmadi and S. Masoumi , “Design and implementation of an expert interpreter system for intelligent
acquisition of spatial data from aerial or remotely sensed images”, Measurement, (47), 676-685, January 2014,
doi:10.1016/j.measurement.2013.09.038.
X. Xiao and Y. Xu, "The Design and Implementation of C-like Language Interpreter," 2nd International Symposium on
Intelligence Information Processing and Trusted Computing, 2011, IEEE Conference Publication. pp. 104-107, doi:
1109/IPTC.2011.33.
A. Y. Aho, M.S. Lam, R, Sethi and J.D. Ullman , “Compilers: Principles, Techniques, and Tools”, 2ed. Addison Wesley,
Reading, MA, 2006.
A. Ralston, D. D. McCracken and E. D. Reilly , “Backus-Naur form (BNF). Encyclopedia of Computer Science”, 129-131,
, do:10.5555/1074100.1074155.
L. Z. Eng and R. Rischpater, “Application Development with Qt Creator - Third Edition”, Packt Publishing Limited,
Birmingham, UK, 2020.
J. Kalb and G. Ažman, “C++ Today: The Beast Is Back”. O’Reilly books and Media, Inc, Sebastopol, CA, United States of
America, 2015.
M. Auer, S. Biffl and T. Tschurtsche , “A Flyweight UML Modeling Tool for Software Development in Heterogeneous
Environments”, Proceedings of the 29th Conference on EUROMICRO, 2003, Online:
[Available]:https://www.researchgate.net/publication/4034715.
R. Stallman, R. Pesch , S. Shebs, E. Suvasa and M. Lee , “Debugging with GDB: The GNU source-level debugger”, Amazon
Inc, GNU Press, 2011.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2022 Fidelis Chete, Obinna Ikeh
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.