Hindawi Programming System - Programming in Hindi and other Indian languages

Hindawi Logo

Hindawi Programming System

Home  |  Download  |  About Us  |  Help            Language: 

 

FAQ

 

 

 

 

Sections
---------------------------------------------------     
FAQ
News
Awards
Developers
Translators
Community
Testimonials
License
Release notes
Project Docs
Support Hindawi

Learning Resources
---------------------------------------------------     
Hindawi Online
Videos
Papers
Manuals
Books
Students
Teachers
Schools
Authors
Specs
Fellowship

Related Projects
---------------------------------------------------     
IndSoftEx
IndSilicon
IndRobota
IndSuperComp
TransEg
Martian Desire
Talk Ease
Telemedicine
Legal DSS-ES

 

Frequently Asked Questions on Hindawi
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

What is Hindawi Programming System?

Who can benefit from it?

Which languages does it support?
Does Hindawi have any proprietary software competitors or open source counterparts?

How critical is the need that this project fulfils?

What is the need of the targeted customer that this project addresses?

How original/innovative is the project (is it a rehash of another or is it something unique)?

What is Romenagri Transliteration System?
What is CISR?
What is Swaadheen DOS?
What is FreeBot Angel?
What are the technical innovations in Hindawi?
Does Hindawi bridge some gaps in the "digital divide" to create others?
How can one support Hindawi and related projects?

How do I get Hindawi?

Which Operating systems does it support?
Basic System and memory requirements

How to install and run Hindawi@DOS?
How to install and run Hindawi@Linux?
How to uninstall Hindawi@Linux?
How to use the Hindawi IDE?

Can Hindawi be run on FreeDOS alone without using any proprietary / commercial software?         
What is meant by Hindawi is complete?
What support for Indic languages has been provided by Hindawi which did not exist in GCC?
Demonstration programs in Hindawi


What is Hindawi Programming System?

The word Hindawi is of Arabic origin, and means "from or belonging to India (Hind)"; i.e. "Indian". Hindawi Programming System is the first ever "complete" suite of open-source Indic programming languages. Simply put Hindawi lets you do programming in your mother tongue even if you are not English literate. And it is completely free.

The term Hindawi is often used to denote Hindawi Programming System along with its related projects - Romenagri, CISR, Swaadheen DOS and FreeBot Angel. Hindawi is also used as a generic term for other Indic compiler systems derived from it such as BangaBhasha (compiler system for Bangla programming languages).

Hindawi is the first such "successful" effort and has provided a proof of concept of the feasibility and validity of such systems. The programming languages landscape of the future will be free of human language based biases. Hindawi has also proven the possible co-existence of traditional and non-orthodox programming platforms on the same system.

The projects software development is hosted at http://sf.net/projects/hindawi

[Go to top]


Who can benefit from it?

A non-English medium literate person, that is anyone who has been educated in one’s mother tongue, is the intended audience. This accounts for 95% of India’s 65 crore literates; in effect more than 50 crore people (500 million people) as per 2001 census.

Hindawi offers a means of sociological movements in terms of unleashing untapped intellectual potentials from the backward areas of developing nations. A rough estimate of 600,000 villages in India implies 600,000 cottage industry level software production houses, which could be translated into the creation of 6 million ICT jobs.

Hindawi is an effort towards cultural preservation. With the porting of Hindawi to about-to-be-extinct languages such as Sharada a sense of self revival may be motivated in the original speakers of these languages

[Go to top]


Which languages does it support?

Hindi, Bangla, Gujrati. Technically it supports the International Phonetic Alphabet (IPA) and hence all human languages.

[Go to top]


Does Hindawi have any proprietary software competitors or open source counterparts?

Hindawi has no competitors, proprietary or open source, and it is the only tool for systems level programming languages in non-English languages. These tools could have been patented, but that would have defeated the original target. The other non-English programming languages being developed in India or globally do not provide the complete set of paradigms used to boot-strap programming languages. Ideally once you have assemblers, C compiler, scanner and parser generators in a language, all other programming languages can be constructed from these. Hindawi’s scalability to all human languages warrants that we now start porting it to different languages for the greater benefits that can accrue.

Hindawi aims at *localising* programming languages and not just at providing Indic support for I/O alone. If the concern was to provide a method by which Indic scripts could be read (input) or written (output), then the UNICODE support, possibly using wchar_t data type and related functions could suffice. The goal or target is to create *compilers* for *programming languages* in Indic languages.

Another point at hand is that Hindawi aims at having Indic support at all levels of a computer system, right from the BIOS/POST to programming languages. The internal representation of text needs to be 8-bit, unless we have UNICODE hardware support. Hindawi project has made it possible to even have BIOS/POST in Indic scripts. Along with this the assembly language used for coding the BIOS can also be an Indic equivalent (Hindawi Shaili Yantrik - the Hindi equivalent of traditional assembly language; currently supporting the I32 (x86) processor assembly).

[Go to top]


How critical is the need that this project fulfils? 

Let us think of our brothers and sisters who have not been privileged enough to go to English medium schools. Even they have a right to benefit from the ICT revolution. Software is certainly being written for them, but we could liken that to a Mercedes car without a steering wheel. What it means is that the non-English software available today is of wonderful quality, like a Mercedes in the world of automobiles, but it only allows a user to perform a predetermined function, hence no steering wheel. Say the user wants to do something of his own desire, how does he do it? Is a consumer the only access we want to provide our mother-tongue literate brothers and sisters with?

The answer lies in providing them with programming languages in their mother tongue. One in which even the highest levels of technical programs may be written, besides of course the simple ones. Hindawi is just that. It offers mother tongue BASIC for the children and beginners, and mother tongue C, C++, assembly, lex, yacc, Java etc. for the advanced and professionally inclined. The day one starts learning programming, he/she will start off with a topic in data structures, or algorithms etc., instead of a dictionary! Hindawi is such a solution, such an empowering tool. With this they can do any kind of programming, including even robotics and super computing. This software does not require any special hardware, and can also run on an old Pentium I or PII.

It is an accepted psychological fact that creativity is best expressed in the language that one learns first, and exceptions to this rule are rare.  Today if a person who is educated in his/her mother tongue (which is not English) wants to learn computer programming, one has to first *struggle* to pick up the chords of English and then try to acquire programming skills. On the other hand if one joins IT without learning English, he/she is restricted to only some document creation software or applications. The Indic applications being produced today are very good indeed (as good as a BMW or Mercedes; but without a steering wheel!) but they will only take you along a fixed road.

Hindawi has the capability to enhance the Joy of programming to Indic programmers. Using their own language in their own script to write full fledged programs is no longer an impossible task for Indic Programmers!

[Go to top]


What is the need of the targeted customer that this project addresses?  

There is no other comparable piece of software that supports systems level programming in Indian languages. The need for a non-English mother tongue based programming system is a generally accepted fact, however many, including the esteemed Indian Institute of Technology - Madras, had discounted the technical feasibility - something that Hindawi has made possible. Hindawi Programming System has shattered the technological myth that full fledged systems programming systems cannot be feasibly developed in non English languages. This is evident from the flurry of activity seen towards reproducing our results globally, and especially the interest of commercial entities in doing so.

Yes, localizations are going great way these days, and, as an end user one can find computer interfaces in his or her own Indic languages, and even IDEs (Integrated Development Environments) to create localized applications in some cases.  But when you talk about system/bios level console programming, prior to Hindawi, there was none available for Indic languages, and was thought to be impossible because none of the text console in either Linux or Windows[tm] fully support Indic language till today.

This project essentially is relevant to India since it targets Indian language based programming languages. The necessity of such languages is not felt as much in Europe since English is closer to their native tongue. However, in India the lack of knowledge of English becomes a severe obstacle to learn computers. Hindawi Programming System solves this problem.                                                     

[Go to top]


How original/innovative is the project (is it a rehash of another or is it something unique)?  

These Indic programming languages that the Hindawi has developed are a *new entity* altogether. They are not merely libraries or functions providing I/O support for Indic scripts. They are called Hindi C or Hindi assembly or Bangla C or Bangla assembly etc. only for the sake of common understanding. They even have different names; such as, the equivalent programming language of C in Indian languages is Shaili Guru, Indic C++ is Shaili Shraeni, Indic yacc is Shaili Vyaakaran and so on. However, these languages are syntax-compatible with their traditional English counterparts and can, therefore, utilise the existing libraries such as glibc etc. In a manner similar to the way C++ is syntax compatible to C and hence can use most of the C libraries.

Hindawi is the first ever suite of complete systems programming languages in Indian languages. This has often been cited as an infeasible goal and was an immense technical challenge. This is attested by the fact that we have received many technical innovation awards and media coverage.

[Go to top]


 

What is Romenagri Transliteration System?

Romenagri is a GPL'd non-ambiguous invertible case and diacritic independent compiler acceptable transliteration system with the associated algorithms implemented using GCC for high portability. It may be used for developing Indic compilers, besides regular transliteration work. It is applicable to all languages using the Brahmi derived composite syllabic scripts; viz. Assomiya, Bangla, Devnagri, Gujrati, Oriya and Punjabi. Romenagri utilizes syllabic complements in Roman script for the symbols of the North Indian scripts. The process of converting Romenagri back to the Indian script representation is more complex and is achieved by using a recursive descent parser.

The only phonetic modifier used in Romenagri is the underscore '_' character, which generally forms a part of the input set of most compilers. This allows rule adherent transliteration for keywords written in Indian scripts. The underscore characters present in the original Indian script text are expanded to two underscore characters. Hence, the inversion parser treats every paired underscore as a character and every nascent underscore as a phonetic modifier. An instance of Romenagri transliteration with corresponding syllabic compliments is given below.

ka + ^ra + ^i + ya + ^aa = kriyaa

[Go to top]


What is CISR?

CISR (Code for Indian Script Representation) is a GPL'd set of representational semantics and associated algorithms implemented using GCC for compositional syllabic Indian scripts along with the corresponding set of graphemes for use with fixed width console (text-mode) applications. This is the 'only' FOSS / GPL'd software that provides this functionality, all other alternatives, such as CDAC's GIST, are commercial. The CISR uses a 9-grid format to extract the common features of the Brahmi derived Indian scripts. Each feature forms a specific grapheme. The 9-grid consists of three rows, viz. Urdha, Madhya and Nimna, and three columns, viz. Matrik, Lipik and Purak. The Indian script symbols are mapped to their constituent graphemes in one table, with the graphemes being mapped to the corresponding glyphs (character-codes) in another table. Hence, the process of conversion of codes such as ISCII to CISR is a two-step procedure. The first step (synthesis) consists of combining the grapheme maps of the different Indian symbols, which is algorithmically intensive, while the second step is a straight forward O (n) lookup procedure for obtaining the character values of the corresponding graphemes.

[Go to top]


What is Swaadheen DOS?

Swaadheen DOS is a free Indian languages' GPL'd DOS, currently based on the FreeDOS kernel. There is a lot of effort underway which aims at localizing other OS's but DOS seems to have been neglected. However, the fact that DOS can run on minimally configured systems makes it a feasible alternative for Indic computing. There has only been one localized version of DOS by IBM. However, it was a commercial product which utilised CDAC GIST for Indian script (Hindi only) display. GIST is also a commercial product and hence adds to the cost of procurement.

Swaadheen DOS utilises free GPL'd CISR for Indian script display. It provides its own command shell - Aadesh and an UNICODE enabled editor - Lekhak. This is perhaps the first flavor of DOS which directly supports UNICODE! Swaadheen DOS can also print text written in Indian scripts (drivers for HP printers are ready). Technologically, it relies on Romenagri transliteration. FreeDOS is also FOSS, allowing Swaadheen DOS to be free open source. The currently available versions include Hindi DOS and Bangla DOS, but other Indian languages' DOS will be released soon.

[Go to top]


What is FreeBot Angel?

FreeBot ANGEL (Autonomous Natural interfaced General purpose Events driven Learner) is an open source robotic platform with GPL'd software / firmware and public domain electronic / mechanical design. It is intended to be similar to robotics kits like Lego Mindstorms. Its control software is designed as per the NI2A2 (Natural Interfaced Intelligent Adaptive Agents) theory, a derivative of subsumption architecture. The electro-mechanical design tries to closely mimic vertebrate nervous system.

We have also enabled Indic programming languages to be used for Angel's systems design and have successfully developed an Indian languages' interface for it. This possibly makes ANGEL the first ever Indian Indic interfaced robot.


The features of the robot are given below.
Sensory inputs:
I. Stereo vision (Logitech Quickcam Express x 2)
II. Obstacle detection (ultrasonic sensor)
III. Audio input (FM microphone)

Outputs:
I. Translation (movement)
II. Rotation (steering)
III. Audio output

Computer Interface:
I. Centronics parallel port (non-typical)
II. Parity checking on control word
III. Real-time response (parity error, busy and obstacle)
IV. Separate vision interface (dual USB port)

[Go to top]


 What are technical innovations in Hindawi?

Some technical details of Hindawi are as follows:

 

1. Most compiler systems accept only 7-bit ASCII. Hindawi, through Romenagri Transliteration, allows Hindi / Indic programming language source code to be processed by such compilers. There are very few compilers even today that support direct compilation of extended character sets or wide characters as required by Unicode. Hindawi, therefore, allows non-English programming languages to be constructed for all existing computing platforms, including resource constrained embedded systems.

 

2. Romenagri transliteration allows Indic script to be represented in Roman script without the need for any diacritics or case-dependence. Most high level compilers are case sensitive for Roman script and cannot process diacritics since these cannot be represented in 7-bit ASCII. Hence other transliteration methods could not have been used for the purpose of creating generic and highly portable non-English compilers.

 

3. Hindawi allows the translation of source code and documentation into English and hence allows global marketability of deliverables (executable programs) produced using Hindawi tool-chain.

 

4. Hindawi includes CISR, which is a mechanism for displaying variable width Indic scripts of the Brahmi family on fixed width text mode consoles. If you look at today's Indic platforms they can display Indic once the graphics mode has been started, say X-windows etc. However, true localisation requires Indic display at all levels of functionality such as at the BIOS levels. Especially, for stuff such as device drivers and systems programs it is irrelevant whether the code was written in Indic or traditional programming languages. In such cases it becomes imperative to have human language independence. CISR is also applicable for Indic interface LCDs in embedded systems, since it does not require special rasterisation hardware and performs Indic rendering in O(n) or real-time.

 

[Go to top]


Does Hindawi bridge some gaps in the "digital divide" to create others?

Hindawi (Hindi/Bangla C, C++ etc.) does 'not' create any further divide or gap between Indic developers and traditional (English) developers. Hindi / Bangla C, C++, Java, assembly etc. get 'readily' translated into their English equivalent. There is also provision for translation of variable names, which certainly is not a trivial task. The reverse, that is, translation of English programming languages and variable names to Indic programming languages and variable names also takes place 'readily'; (here readily implies without any extra programming effort). So there isn't any new gap that develops between traditional and Indic developers; only the old ones are bridged.

This has been a very basic consideration during the course of development of Hindawi. This also relates to another concern - that of the utility of Indic programming languages. Indic BASIC and LOGO are fine as pedagogical aids (teaching tools), supposed to be used in the classroom setting or by hobby programmers, (though Hindi/Bangla BASIC allows executable files to be created and C code to be embedded). However, the moment one talks of Indic C, C++, lex, yacc or say Indic Java, one has to consider the fact that learning these languages shall involve some effort (similar to learning English programming in English medium schools). This shall prove meaningless if the skills acquired cannot be used professionally (including international markets). As mentioned earlier, the ready conversion of programs written in Indic languages to their English counterparts, and vice-versa, solves this problem.

[Go to top]


How can one support Hindawi and related projects?

The authors are looking for support in terms of financial grants, besides developers who would like to join into the effort. A lot of support is required in terms of awareness generation. The authors would appreciate any form of financial support such as financial grant, fellowship, sponsorship, advertisements, co-branding offers, CD distribution offers, book publication offers etc.

Help us reach it to the people who need it. You need not pay us anything for this, yes it is truly free. If you know a Indic medium school, which you certainly do, tell them about it. If you have an old machine donate it to some school, college or social group where it can be used to teach Indic programming languages.

[Go to top]


How do I get Hindawi?

Do a wget to download it from the project site:

$ wget http://hindawi.in/hindawilinux.tgz

[Go to top]


Which Operating systems does it support?

Hindawi IDE has been developed for Linux, DOS and Windows[tm]. The compilers can be compiled for and used on all systems to which GNU GCC has been ported such as BSD, Solaris etc. Hindawi can also be compiled on most other computing platforms.

[Go to top]


Basic System and memory requirements

The system requirements depend on the configuration of the platform on which Hindawi is deployed. In other words, if you are able to run another compiler and IDE on your system, then you should be able to run Hindawi.

There may be platform specific dependencies for Hindawi.

[Go to top]


How to install and run Hindawi@DOS?

(Note: If you are using the version of Hindawi@DOS packaged for DOSBox for

Microsoft Windows[tm] please simply run setup.exe for installation.

Hindawi@Linux setup instructions are completely different and available

with the Hindawi@Linux distribution. You are, however, encouraged to

try out Hindawi@DOS using DOSBox under Linux and other OS. An online version

of Hindawi is also available if you do not want to install anything -

visit http://hindawi.in/online/)

 

   Hindawi installation is very simple indeed, provided you have a standard

PC or compatible with a respectable amount of RAM and hard-drive space. You

MUST follow these steps EXACTLY unless of course you know better. (In that

case do drop in a letter or mail with a few suggestions!)

 

i) Get to a TEXT-MODE DOS-PROMPT

 

   -How to do this depends on your OS

 

   -If you are using plain DOS (I feel nostalgic), you ARE in TEXT-MODE!

 

   -Windows users (Win9x(TM), Win2K(TM), WinXP(TM), etc.) go to command

    prompt

 

   -DOSBox / DOSEmu: Install as under plain DOS

 

ii) Now from the directory where you have place the Hindawi installation files

   type SETUP.(You must at least have setup.exe and hindawi3.zip)

 

   -Press any key on the opening screen to move on to the next screen

 

   -Here you have to enter the name of the directory where you wish to install

   the files for Hindawi. Simply pressing Enter will install in the default

   location; i.e. C:\hindawi\

 

   -Next Enter the location for DJGPPv2. If you already have DJGPPv2 you may

   enter NO for the location which will prevent the installation of DJGPPv2

   (However, note that Hindawi requires a GNU-GCC backend for supporting

   Hindi versions of C, C++, lex and yacc. You may use some other distribution

   of GCC such as MinGW, CygWin etc. but then you'll also need to download and

   install Allegro graphics library.)

 

   -You need a Java(TM) compiler if you plan to compile Shaili Kritrim

    programs.

 

   -If everything has gone right, you are ready to experience the revolution

   in mother tongue computing

 

**NOTE: If setup.exe fails then manually unzip the hindawi and djgpp files

to a directory of your choice, and set up these THREE environment variables:

 

HINHOME=directory of Hindawi

HOME=directory of DJGPP

DJGPP=%HOME%\DJGPP.ENV

[Go to top]


How to install and run Hindawi@Linux?

  1. Install a GNU/Linux distribution supporting Indian localisations and keyboard layouts. The check here would be to verify how your editor renders Hindi Unicode.
  2. Enable Indian keyboard layout. One way to do this is to add the keyboard-indicator to your top-panel by right clicking on it and selecting add to panel. Choose the keyboard-indicator from the displayed list. You will now see USA displayed on the panel. Right-click on it and select keyboard preferences. In the dialog box displayed go to the layout tab and add the India layout. This step may vary based on your GNU/Linux distribution and specific configuration. Once you have done this successfully half the war is won.
  3. If you do not have the Hindawi tarball then do a wget to download it from the project site.

$ wget http://hindawi.in/hindawilinux.tgz

  1. Extract the contents of the tarball using either an archive manager or the tar utility.

$ tar -xvzf hindawilinux.tgz

  1. Open a terminal following the menu item Applications->Accesories->Terminal or  Applications->System Tools->Terminal if you have performed the above steps in GUI.
  2. Become a super-user by giving the command su. Some configuration may require sudo su. This will ask you for your password. If you have done this successfully your $ prompt should change to a # prompt.

$ su or $ sudo su

  1. Change your current directory to the extracted Hindawi@Linux folder. You may need to escape the @ using a backslash.

# cd Hindawi@Linux

  1. Execute the preinstallation script. Replace Fedora in the following command with the name of the distribution you are using. Please ensure that you have the latest tarball. Older tarballs do not contain these scripts. You must have a distribution DVD or internet connection available for this step to succeed as the script will attempt to fix the dependencies by obtaining them from an available repository. If a preinstall script for your distribution does not exist then use a matching one; e.g. if your distribution is based on Debian or uses apt and Synaptic Package Manager then use the preinstall_ubuntu.sh script. The time required for this step depends on the packages needed to be downloaded. Please do not forget the ./ (dot-slash) prefix.

# ./preinstall_fedora.sh

  1. Now you are ready to install Hindawi. Do this by simply executing the install script in you Hindawi@Linux directory. This will compile Hindawi for your system and finalise the installation. And Lo!... you will soon be writing control programs for a Mars robotic mission's super-computers in Indic.

# ./install

  1. Verify your installation by executing the Hindawi launcher via Application->Accesories ->Swatantra Applications
  2. You may now launch Hindawi, Romenagri mail and Romenagri transliteration by clicking on the appropriate icons.
  3. Hindawi also installs a number of command line tools described later. You may also wish to execute Hindawi directly from a terminal command line using these tools and utilities.

[Go to top]


How to uninstall Hindawi@Linux?

While it may be interesting to have Hindawi installed on your system, if only to show off to your friends, we do understand that there may be valid reasons for uninstalling it. To uninstall Hindawi execute the uninstall script from the Hindawi@Linux directory as a super-user.

# ./uninstall

[Go to top]


How to use the Hindawi IDE?

Hindawi port to GNU/Linux comes with a small but handy IDE - Laghu. It is not as elaborate as the Lekhak IDE for Hindawi@DOS, but provides the necessary IDE functionalities. Figure 1 shows the main elements on this form based IDE.

1.        Program editor: You can edit your Indic source files in this text box. The final sources may be saved, and programs saved earlier may be loaded. It supports standard editing keys.                 Writing programs - A program written in Hindawi implies a program written in any Shaili. These use a common filename extension of ".hin" (without the quotes). There are two methods for compiling a source code in any Shaili - first, the Shaili-specific compiler may be used, and second, a call can be made to "hind", the common compiler-driver for Hindawi. When compiled with a call to hind, the first line of the source code must specify the Shaili in the form <shailee guru> for Shaili Guru, <shailee yaan_trika> for Shaili Yantrik and so on. (Note: "shailee" and "yaan_trika" are the Romenagri appropriate transliterations.)

2.        Filename: The filename with path prefix that will be used to save and restore is entered into this text box.

3.        File combo: This allows you to graphically select the filename and path prefix. Selecting a filename using the file combo neither loads nor saves the filename selected. You will have to click on the desired button to save or load after selecting the filename.

4.        Compile: Compiles the active program.

5.        Test: Test runs the last compilation result in the IDE. The inputs are recieved from the input box and the outputs are sent to the output box.

6.        Launch: Launches the last compilation result in an external console.

7.        Compiler results: The compiler messages appear here.

8.        Output: Text box for listing the output from programs tested in the IDE.

9.        Input: Text box for listing the inputs required by programs tested in the IDE.

10.     Help: Invokes the online help system. This currently only displays the manual.

11.     Exit: Closes the IDE.

12.     New: Clears the contents and states of all IDE components, so that a new program may be entered from scratch.

13.     Save: Saves the program currently being edited to a file named in the filename box.

14.     Open: Opens a previously saved file for editing.

 

[Go to top]


Can Hindawi be run on FreeDOS alone without using any proprietary / commercial software?

Certainly Hindawi runs on 'vanilla' FreeDOS, and runs under Windows only under DOS mode or in a text-mode DOS box. Hindawi is intended to use Linux and FreeDOS as its primary basis. The floppy distribution of Swaadheen DOS, which is a bootable floppy (FreeDOS based) and has Hindawi shell (aadesh) as a replacement for command.com, resulting in an Indic DOS.

Hindawi runs on 'stock' versions of FreeDOS and does not require any proprietary components. This is perhaps the 'only' Indic software which does so; leave alone any Indic programming language. (There are no other 'successful' implementations Indic programming languages which support 'true' programming in every paradigm besides Hindawi, as yet!)

[Go to top]


What is meant by Hindawi is complete?

Hindawi is "complete" because even lex and yacc have been "implemented" or "originally localized" to Indic languages. So we can now have any programming language written in Indian languages (Hindi, Bangla, Gujrati, Tamil, Kannada, etc.) This method can also be extended to every other human language.

[Go to top]


What support for Indic languages has been provided by Hindawi which did not exist in GCC?

These are *new* programming languages, so how are they intended to be compiled with a classical GCC package, and if they could be then what was the need for project Hindawi! Hindawi is a *suite* of *programming languages* (new ones!), i.e. a compiler collection just as gcc is, for programming languages which use Indian languages as a basis, instead of being based on English. Currently we are using gcc (and yes, *classical* gcc) as the back-end compiler, but any other back end could be used, that is to say that Hindawi and all its sub-projects (shaili guru etc.) could use any other compiler system instead of gcc as a backend. Hindawi is based on the *completely new* and independently developed technologies of Romenagri and CISR, which we could have patented, but decided to make them FreeSoftware. Hindawi is quite like P2C, the pascal to C converter, for now. Remember how C++ was intially made available as the CFront compiler. Key-board input, console output, and everything else is supported, but more than that the ability to compile source code with keywords and variable names in Indic scripts while maintaining compatibility with existing libraries is its uniqueness.

[Go to top]


Demonstration programs in Hindawi

Hello World (or Namaste Duniya / Namaskar Jagat)
programs for Hindi / Bangla C and BASIC below.

C and BASIC are called Shaili Guru and Shaili Prathmik in Hindi and
Bangla. These have been transliterated using the Romenagri method. The code
in Unicode (UTF-8) is appended later.


------------- Hello world in Hindi C (Hindi Shaili Guru) ----------

<shailee guru>
/* Hello world in Hindi C - Hindi Shaili Guru*/
#samaawaesha <maanakapana.sa>
#samaawaesha "basstub.c"

poor_nnaa_mka guroo_mukhya(poor_nnaa_mka _tarka_sa, _akxara *_tarka_wa[ ] )
{
     likhoa("namas_tae _duniyaa");
}

-------------------------------------------------------------------

-------- Hello world in Hindi BASIC (Hindi Shaili Prathmik) -------

10 tippa_nnee Hello world program in Hindi BASIC - Hindi Shaili Prathmik
20 likhoa ("namas_tae _duniyaa")
30 _i_ti

-------------------------------------------------------------------

------------- Hello world in Bangla C (Bangla Shaili Guru) ----------

<shailee guru>
/* Hello world program in Bangla C - Bangla Shaili Guru */
#samaawaesha <maanakapana.sa>
#samaawaesha "basstub.c"

poor_nnaa_mka guroo_mukh_yya(poor_nnaa_mka _tarka_sa, _akxara *_tarka_wa[ ] )
{
    laekhoa("namaskara jaga_t");
}

-------------------------------------------------------------------

-------- Hello world in Bangla BASIC (Bangla Shaili Prathmik) -------

10 tippa_nnee Hello world program in Bangla C - Bangla Shaili Guru
20 laekhoa ("namaskara jaga_t")
30 _i_ti

-------------------------------------------------------------------

Now the same code in UNICODE (UTF-8) so you can see the original!

------------- Hello world in Hindi C (Hindi Shaili Guru) ----------

<
शैली गुरू>
/* Hello world in Hindi C - Hindi Shaili Guru*/
#
समावेश <मानकपन.स>
#
समावेश "प्राथमिक.स"

पूर्णांक गुरू_मुख्य(पूर
पूर्णांक तर्क_, अक्षर *तर्क_व[ ] )
{
     लिखो("नमस्ते दुनिया");
}

-------------------------------------------------------------------

-------- Hello world in Hindi BASIC (Hindi Shaili Prathmik) -------

10
टिप्पणी Hello world program in Hindi BASIC Hindi Shaili Prathmik
20
लिखो ("नमस्ते दुनिया")
30
इति

-------------------------------------------------------------------

------------- Hello world in Bangla C (Bangla Shaili Guru) ----------

<
শৈলী গুরু>
/* Hello world program in Bangla C - Bangla Shaili Guru */
#
সমাবেশ <মানকপন.>
#
সমাবেশ "basstub.c"

পূর্ণাংক গুরূ_মুখ্য়(পূর পূর্ণাংক তর্ক_, অক্ষর *তর্ক_[ ] )
{
      লেখো("নমস্কার জগত্");
}

-------------------------------------------------------------------

-------- Hello world in Bangla BASIC (Bangla Shaili Prathmik) -------

10
টিপ্পণী Hello world program in Bangla C Bangla Shaili Prathmik
20
লেখো ("নমস্কার জগত্")
30
ইতি

[Go to top]


Note: All trademarks and copyrights acknowledged as belonging to their respective owners.

 

 

 

 

 

(C)Copyright Dr. Sweta Choudhary 2008  |  Legal notices   |  Contact us
Visitors 35293