PWCT 1.9 Art Documentation ( http://doublesvsoop.sourceforge.net ) 2006-2011, Mahmoud Fayed ( msfclipper@users.sourceforge.net ) _____________________________________________________________________________________
Hi
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 Where:- [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 ...data... follow CAVD Rule Where:- [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
Example: 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 sourceforge.net And i will do my best to help as much as i can.
Have Fun!!
|