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)