Design of an African Native Language-based Programming Language


  • journal manager


Programming languages, Lexicons, Yoruba language,, BNF, Token recognizer


Ezekiel K. Olatunji

John. B. Oladosu

Odetunji A. Odejobi

Stephen O. Olabiyisi

Department of Computer Science and Engineering,

Ladoke Akintola University of Technology, Ogbomoso, Nigeria

Department of Computer Science and Engineering, Obafemi Awolowo University, Ile-ife, Nigeria


There is scarcity of research information on programming languages developed with the lexicons of an African indigenous language unlike those with the lexicons of European and Asian languages. This study explored the design of an African native language-based programming language using Yoruba as case study. Yoruba is the first language of over 30 million people in the south-west of Nigeria, Africa; and is spoken by over one hundred million people world-wide. It is opined, as confirmed by research studies, that making computer programming possible in one’s mother tongue will enhance computer-based problem-solving processes by indigenous learners and teachers. Furthermore, such a feat will empower those only literate in their mother tongue to program or learn programming of the computer in their mother tongue. In addition, successful implementation and adoption of such a programming language will increase the functional load of the base language, thus reducing the chances of its natural extinction as has been predicted for most African languages. The character set and reserved words of the programming language were respectively formed from the basic Yoruba alphabets and standard Yoruba words. The lexical items of the programming language were specified by defining necessary regular grammars while appropriate context-free grammars were defined, using Backus-Naur Form (BNF) notations, to specify the syntactic structure of a valid program and program elements. As a prelude to implementation of the designed programming language a mini scanner was developed using QBASIC within QB64 integrated development environment (IDE). A subset of the syntactic definitions of the programming language was produced as the primary output. In addition, a token recognizer for the designed programming language has been produced. The output produced by the developed token recognizer showed its functional correctness