Phoenix - The Arabic Object-Oriented Programming Language

  IJCTT-book-cover
 
International Journal of Computer Trends and Technology (IJCTT)          
 
© 2019 by IJCTT Journal
Volume-67 Issue-2
Year of Publication : 2019
Authors : Youssef Bassil
DOI :  10.14445/22312803/IJCTT-V67I2P102

MLA

MLA Style: Youssef Bassil "Phoenix - The Arabic Object-Oriented Programming Language" International Journal of Computer Trends and Technology 67.2 (2019): 7-11.

APA Style:Youssef Bassil (2019). Phoenix - The Arabic Object-Oriented Programming Language. International Journal of Computer Trends and Technology, 67(2), 7-11.

Abstract
A computer program is a set of electronic instructions executed from within the computer’s memory by the computer`s central processing unit. Its purpose is to control the functionalities of the computer allowing it to perform various tasks. Basically, a computer program is written by humans using a programming language. A programming language is the set of grammatical rules and vocabulary that governs the correct writing of a computer program. In practice, the majority of the existing programming languages are written in English-speaking countries and thus they all use the English language to express their syntax and vocabulary. However, many other programming languages were written in non-English languages, for instance, the Chinese BASIC, the Chinese Python, the Russian Rapira, and the Arabic Loughaty. This paper discusses the design and implementation of a new programming language, called Phoenix. It is a General-Purpose, High-Level, Imperative, Object-Oriented, and Compiled Arabic programming language that uses the Arabic language as syntax and vocabulary. The core of Phoenix is a compiler system made up of six components, they are the Preprocessor, the scanner, the parser, the semantic analyzer, the code generator, and the linker. The experiments conducted have illustrated the several powerful features of the Phoenix language including functions, while-loop, and arithmetic operations. As future work, more advanced features are to be developed including inheritance, polymorphism, file processing, graphical user interface, and networking.

Reference
[1] Georges Ifrah, "The Universal History of Computing: From the Abacus to the Quantum Computer", New York: John Wiley & Sons, ISBN 9780471396710, 2001
[2] Arthur Burks, "Electronic Computing Circuits of the ENIAC", Proceedings of the I.R.E., vol. 35, no. 8, pp. 756–767, 1947
[3] Campbell-Kelly, Martin, "The Development of Computer Programming in Britain (1945 to 1955)", IEEE Annals of the History of Computing, vol. 4, no. 2, pp. 121–139, 1982
[4] John L. Hennessy, David A. Patterson, David Goldberg, "Computer architecture: a quantitative approach", Morgan Kaufmann, ISBN 9781558607248, 2003
[5] Brian W. Kernighan, Dennis M. Ritchie, "The C Programming Language", Prentice-Hall software series, ISBN13 9780131101630, 1978
[6] GOST 27975-88 Programming language ALGOL 68 extended, GOST, 1988. Retrieved November 15, 2008.
[7] Chinese BASIC Manual, http://www.cbflabs.com/academy /story/04.htm, Retrieved April 6, 2016
[8] EPL homepage, http://epl.eyuyan.com/, Retrieved Dec 14, 2018.
[9] ChinesePython homepage, http://www.chinesepython.org, Retrieved Dec 14, 2018.
[10] Linotte homepage, http://langagelinotte.free.fr/wordpress, Retrieved Dec 14, 2018.
[11] LSE (Language Symbolique d`Enseignement) implementation, http://nasium-lse.ogamita.com/, Retrieved Dec 14, 2018.
[12] Hindi programming language, SKT network, http://www.sktnetwork.com/portfolio/hindi-programming-language, Retrieved February 15, 2017.
[13] Mind, http://www.scripts-lab.co.jp/mind/whatsmind.html, Retrieved Dec 14, 2018.
[14] Latino GitHub, https://github.com/primitivorm/latino, Retrieved Dec 14, 2018.
[15] Description of Rapira, http://ershov-arc.iis.nsk.su/archive/ eaindex.asp?did=7653, Retrieved Dec 14, 2018.
[16] VisuAlg, http://www.apoioinformatica.inf.br/produtos/visualg, Retrieved Dec 14, 2018.
[17] Arabic Sakhr Basic (1987, MSX, Al Alamiah)
[18] ARLOGO project homepage, http://arlogo.sourceforge.net/, Retrieved February 15, 2017.
[19] Mansoor Al-A`Ali, Mohammed Hamid, "Design of an Arabic programming language (ARABLAN)", Journal Computer Languages, Volume 21, Issue 3-4, pp. 191-201, October, 1995.
[20] Essam Mohammad Arif, "Design of an Arabic object-oriented programming language and a help system for pedagogical purposes", Doctoral Dissertation, Illinois Institute of Technology Chicago, IL, USA, 1995
[21] AMORIA homepage, http://ammoria.sourceforge.net/, Retrieved Dec 14, 2018.
[22] Ebda3 homepage, http://ebda3lang.blogspot.com/, Retrieved Dec 14, 2018.
[23] Jeem homepage, http://www.jeemlang.com/, Retrieved Dec 14, 2018.
[24] Youssef Bassil, Aziz Barbar, "Loughaty/MyProLang – My Programming Language - A Template-Driven Automatic Natural Programming Language", Proceedings of the World Congress on Engineering and Computer Science, WCECS 2008, San Francisco, USA.
[25] Qlb GitHub, https://github.com/nasser/---, Retrieved Dec 14, 2018.
[26] Kalimat GitHub, https://github.com/lordadamson/kalimat, Retrieved February 15, 2017.
[27] Kenneth C. Louden, "Compiler Construction: Principles and Practice", PWS Publishing Company, 1997, ISBN 0534939724
[28] Hopcroft, John E., Motwani, Rajeev, Ullman, Jeffrey D., "Introduction to Automata Theory, Languages, and Computation (2 ed.)", Addison Wesley, 2001, ISBN 0201441241.
[29] Chomsky, Noam, "Three models for the description of language", Information Theory, IEEE Transactions, vol. 2, no. 3, pp. 113–124, 1956.

Keywords
Arabic Programming, Compiler Design, Object-Oriented, Programming Languages.