Vlanguage





Tech-details



The input data is fed into the Java interpreter using a shell based read function (in Unix like environment) or from a text file in Windows Environment. This program is also utilized for on line games like Foxy Bingo.

The V language employs a Java interpreter. It receives the data that is fed in and sends to the Artificial Intelligence algorithms (including V's own algorithms) written in AIML. Before this it utilizes a spell-check utility (like ispell in Unix shell) for corrections. Numerous algorithms are already available (say from Program D, E , N etc) and many more algorithms are added to make V perfect. Here developers can contribute by submitting more algorithms as that also will help in fixing the bugs.

The libraries of all languages will be incorporated into the standard libraries (which are used by Java interpreter, router etc.) of V .T here will be a parser (the complete form of the parser developed for Grogammer) that will interpret the functions and syntaxes of the new language to the respective libraries.

By default; if the AI algorithm (AIAs) finds that the problem defined is used for scientific computing it may select C or Python, if it looks like a web-based one AIAs will opt for HTML, XML or PHP (depending on the needs), while if it feels that the style looks like a general format one it will go for C or Java.

If a person is sure that the libraries of a particular language can handle the problem well, then he can just mention in the problem itself (say FORTAIN) in the saved file. If so, that language will be automatically selected.

AIAs contain a set of files that works for the dictionary mode operation (to find similar words), knowledge based operation etc. And finally converts the text into the V syntax which will be fed to the Grogammer like parser and will be converted to respective languages. And then it comes back to the interpreter.

The interpreter will send this file to the router with a header line which specifies the libraries of the language to be used for the process (based on the input it receives from the syntax) . The router reads the header and replace it by blank line and sends it to the correct libraries. The program will be executed there (if compilation is required the respective compiler will also be employed). Then the data (say for web based formats it will be fed in HTML file itself, and here we can get the info about the errors in the code also) or the text for input / result (say for a C program) will be send back to the interpreter. It will analyse the data and display the output (if it in a language like HTML) or will run the program (if it is in a language like C).

Further, V can suggest algorithm that is stored in a database. It looks for keywords when the user enter the data (say in Shell based one) and then it will immediately look up the database and give suggestion.


Codes (AIML) / Modes (Java):



Portion of the Modified AIML-V coding for AI module that recognizes the language

<category>
<pattern>I think “xxxxxxxxxxxxxxxxxxxxxxxxxxxx” language will be better for this.</pattern>
<template>
Use <get name="languagename"/> for solving.
</template>
</category>
<category>
<pattern>Look for mathematical operations</pattern>
<template>
Use C or Python for solving.
</template>
</category>

Portion of the Modified AIML-V  Code for Greeting (to impress the user)

<category>
<pattern>* BYE</pattern>

<template>
<srai>BYE</srai>
</template>
</category>

<category>
<pattern>ADIOS</pattern>

<template>
<srai>BYE</srai>
</template>
</category>

Portion of the Modified AIML-V  Code for replacements

<category>
<pattern>I * do this</pattern>
<template>
Use blank.
</template>
</category>

Portion of the Modified AIML-V  Code as dictonary (this is a very big file)

<category>
<pattern>DEFINE COULOMB</pattern>
<template>
The coulomb is the unit of measurement of electrical charge.
</template>
</category>

<category>
<pattern>DEFINE COUNTERFACTUAL</pattern>
<template>
A counterfactual is a question based on hypothetical conditions that did not, or could not, happen
in reality.
</template>
</category>

Modes (for JAVA - can be replaced by shell)


Receive and send functions / JNI-mode



Developers can contact me at post@aasisvinayak.com (pl mention V language some where in the subject line)