Prog-Art-Lang
Artifical Langual
by Ruslan Alikberov
HTML
<body onload='main()'>
<pre></pre>
<var style=display:none>
E--- O--- A--- U--- I---
YE-- YO-- YA-- YU-- _---
---E ---O ---A ---U ---I
-PN- -_-- -PL- -PR- -PS- -P--
---- ---- -BL- -BR- ---- -B--
-MN- -MV- -ML- -MR- ---- -M--
---- ---- -NL- -NR- ---- -N--
-DN- -DV- -DL- -DR- ---- -D--
-TN- -TV- -TL- -TR- ---- -T--
-VN- ---- -VL- -VR- -VS- -V--
---- ---- -FL- -FR- ---- -F--
---- -CV- -CL- -CR- ---- -C--
-SN- -SV- -SL- -SR- ---- -S--
-ZN- -ZV- -ZL- -ZR- ---- -Z--
-GN- -GV- -GL- -GR- ---- -G--
-KN- -KV- -KL- -KR- -KS- -K--
-HN- -HV- -HL- -HR- ---- -H--
-QE -QO -QA -_- -QI
-XE -XO -XA -XU -XI
</var>
</body>
JavaScript
function main() {
var pattern = document.getElementsByTagName("var")[0].innerHTML.split(/\r?\n|\s+/);
var logs = [];
var i, m, n;
var s;
var slabs_count = 51;
var prefix_count;
var postfix_count;
var Prefix = [];
var Pastfix = [];
var _xx_ = [];
var x___ = [];
var __x_ = [];
var _x_ = [];
var _x = [];
pattern.forEach(
function(str) {
switch(str.length) {
case 4:
if(str.charAt(3) != "-")
__x_.push(str.charAt(3));
else
if(str.charAt(2) != "-")
_xx_.push(str.substr(1, 2));
else
if(str.charAt(1) != "-")
if(str.charAt(0) == "-")
_xx_.push(str.charAt(1));
else
x___.push(str.substr(0, 2));
else
if(str.charAt(0) != "-")
x___.push(str.charAt(0));
break;
case 3:
_x.push(str.replace(/-/g, ""));
break;
}
});
x___.forEach(
function(a) {
_xx_.forEach(
function(b) {
if(b != "_")
__x_.forEach(
function(c) {
Prefix.push(a.replace("_", "") + b + c);
});
else
Prefix.push(a);
});
});
prefix_count = Math.floor(Math.sqrt(Prefix.length));
i = 0;
for(n = 0; n < prefix_count; ++ n) {
s = [];
for(m = 0; m < prefix_count; ++ m) {
if(i < Prefix.length)
s.push(Prefix[i ++] + "-");
}
logs.push(s.join("\t"));
}
prefix_count = Prefix.length;
n = 0x7FFFFFFF, i = 0;
n = (n / prefix_count) & 0x7FFFFFFF;
n *= 2;
while(n >= slabs_count)
n = (n / (i ? slabs_count - 1 : slabs_count)) & 0x7FFFFFFF,
i ++;
logs.push("prefixes:" + prefix_count);
logs.push("slabs%" + slabs_count + ":" + i);
logs.push("modes:" + n);
document.getElementsByTagName("pre")[0].innerHTML = logs.join("<br />");
}