TOWARDS THE DESIGN AND IMPLEMENTATION OF A PROGRAMMING LANGUAGE (BEEX)

Authors

  • Fidelis Chete Department of Computer Science, University of Benin, Benin City
  • Obinna Ikeh Department of Computer Science, University of Benin, Benin City, Nigeria

DOI:

https://doi.org/10.15282/ijsecs.8.2.2022.6.0103

Keywords:

Software Engineers, Computer Scientists, Software Experts, BeeX, Programming Language

Abstract

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.

Published

2022-09-27

How to Cite

Fidelis Chete, & Ikeh, O. . (2022). TOWARDS THE DESIGN AND IMPLEMENTATION OF A PROGRAMMING LANGUAGE (BEEX). International Journal of Software Engineering and Computer Systems, 8(2), 51–66. https://doi.org/10.15282/ijsecs.8.2.2022.6.0103