PWCT 1.9 Art Documentation ( )

2006-2011, Mahmoud Fayed ( )






My name is Mahmoud Fayed and I live in Egypt.


I am the Creator of Supernova programming language and I am

Interested in Compiler implementation using AI Techniques and

Supernova is a result of my researches in this topic.


Supernova is a language tends to be more near to our human language

Where we do Programming With Fiction Description (PWFD) using subset of

Pure human language


The human language is VERY big and contains many words so we use

A subset of it to **Reduce the Complexity** of the problem and

To **Get Acceptable Performance** as much as we can


Unlike other programming languages which is based on statements

Supernova is based on Paragraphs which contains many statements

packed together using ignored words like (the, and,...etc)


For example the two commands:-

          (1) I want window

          (2) Window title is hello.

          May be connected together to form another big statement

          I want window and the window title is hello.

          And a collection of big statements form a paragraph

          And a collection of paragraphs form a program.


Unlike other programming languages most of supernova programming

Language statements has a rule describe its structure and help

Users to use and remember the statement in the future.


For example the rule: PVC used to control the structure of the statement I Want Window

                   Rule: PVC

                   [P] = Pronoun

                   [V] = Verb

                   [C] = Class

                   i.e. PVC  = Pronoun Verb   Class                

                   Statement =    I Want Window follow PVC Rule


                   [I] = Pronoun

                   [Want] = Verb

                   [Window] = Class

                   Easy to remember and use!!


          Another rule as example: CAVD used to control the structure

                                       Of the statement (Window Title is  ...Data...)

                   Rule: CAVD

                   [C] = Class

                   [A] = Attribute

                   [V] = Verb

                   [D] = Data

                   I.e. CAVD = Class Attribute Verb Data

                   Statement = Window Title is follow CAVD Rule


                   [Window] = Class

                   [Title] = Attribute

                   [Is] = Verb

                   [..Data...] = Data

                   Easy to remember and use!!


Supernova is a Multi-language where the source code may be written

Using (Arabic, English, Mixed...etc) code


For example The English program

                   I want window and the window title is wow.

              Can be rewritten in Arabic language

                   .انا اريد نافذة والنافذة تحت عنوان هو واو


Many other subsets of human languages can be added in the future to

Help peoples from different countries and cultures to learn the art

Of computer programming at a small age without the need to learn a

Another human language (English for example) to use a programming language


With respect to the design of the language and unlike other

Programming languages which uses Context-Free Grammar, Supernova

Use a Context-Sensitive Grammar to get a language more near to

Our human language as much as we can



         Let us test the power of Context-Sensitive Grammar of the

         Supernova programming language


I want window and the window title is I want window.


          The first (I want window) is a command but the second (I want window) is a data


        Example Implementation:


                   1 – Create new text document






 2 – Write the code



3 – Execute nova.exe





Supernova uses AI to understand what you want to write using the language grammar

It's not important if you write using UPPER case or lower case, also you can use spaces

Between words and/or **between the same word letters too** and not only spaces allowed

But also (Tabs) & (End Line) characters is allowed


Now let us test this feature which let us fell that the language has two eyes and uses them to

Look to our code.


                   1 – Create new text document

2 – Write the code



3 – Execute nova.exe and select the file, you will get the same result without problems.


Finally Supernova is a Simple Scripting programming language

And released as a Freeware product for MS-Windows

So if you like it. You can help by distributing it to your friends.


Any useful feedback are welcome and if you have a question

Please put it in the project forum in

And i will do my best to help as much as i can.


Have Fun!!