Abaddon_ire Wrote:The same religion as Nina.I don't think that's a fair description. To argue for veganism, you don't need to deny science. Slaughterhouse footage isn't science denial. Neither is saying that animal-derived food, on average, contains more carcinogens and more saturated fat and trans-fat than plant-derived foods. Saying that rise in diabetes was caused by us supposedly eating less and less meat, what Nina claims, well, that's denying science and common sense.
Abaddon_ire Wrote:That is not a compiler in any way shape or form.Why wouldn't it be? It can compile some programs written in my own programming language (called AEC), like, for example, this one. In that case it produces Assembly that's a few times slower than what GCC produces for the equivalent C code, but it translates from my own programming language into Assembly, so it is, indeed, a compiler.
Abaddon_ire Wrote:At best, FA has used some development tools that give results on an abstraction layer that is so far removed so as to be uselessWell, yes, most of my compiler is written is JavaScript. But why would choosing to work in that language (which I happen to know the best) make that not real programming?
The compiling code is written by myself, here is a snippet of it:
Code:
function fasinp() //-||- arkus sinus (po formuli arctan(sin(x)/sqrt(1-sin(x)*sin(x))))
{
asm("fstp dword [result]");
asm("fld dword [result]");
asm("fld1");
asm("fld dword [result]")
asm("fld dword [result]");
fmulp();
fsubp();
fsqrt();
fdivp();
fatanp();
}
function facosp() // -||- arkus kosinus (po formuli pi/2-arcsin(x))
{
asm("fstp dword [result]");
asm("fldpi");
asm("fld1");
asm("fld1");
faddp();
fdivp();
asm("fld dword [result]");
fasinp();
fsubp();
}
Code:
for (var i = 0; i < arth.length; i++)
if ((arth[i].text == "pow(" || arth[i].text == "atan2(" || arth[i].text=="mod(") && !arth[i].operands.length)
{
var c = 1;
var j = 0;
while (c)
{
j++;
if (i + j >= arth.length)
{
alerted = 1;
alert("Parser error: Expected a ',' to divide the arguments of a binary function.");
return arth[0];
}
if (arth[i + j].text == ',')
c--;
else if (arth[i + j].text == "pow(" || arth[i + j].text == "atan2(" || arth[i + j].text == "mod(")
c++;
}
var tmp = [];
for (var k = 1; k < j; k++)
tmp.push(arth[i + k].text);
arth[i].operands.push(parseArth(tmp));
var k = 0;
c = 1;
while (c)
{
k++;
if (i + j + k >= arth.length)
{
alerted = 1;
alert("Parser error: Expected a ')' to mark the end of the second argument of a binary function.");
return arth[0];
}
if (arth[i + j + k].text == ')')
c--;
else if (arth[i + j + k].text.charAt(arth[i + j + k].text.length - 1) == '(')
c++;
}
tmp = [];
for (var l = 1; l < k; l++)
tmp.push(arth[i + j + l].text);
arth[i].operands.push(parseArth(tmp));
arth.splice(i + 1, j + k);
if (arth[i].text == "atan2(")
{
var tmp = Token("*");
tmp.operands.push(Token(180 / Math.PI + ""));
tmp.operands.push(arth[i]);
arth[i] = tmp;
}
}
Code:
if (ret[i].charAt(0) >= '0' && ret[i].charAt(0) <= '9')
{
var decimal = 0;
for (var j = 0; j < ret[i].length; j++)
{
if (decimal && ret[i].charAt(j) == '.' || (ret[i].charAt(j) < '0' || ret[i].charAt(j) > '9') && ret[i].charAt(j) != '.')
{
alert("Tokenizer error: Can't assign the type to the token \'" + ret[i] + "\'.");
alerted = 1;
return ret;
} else if (!decimal && ret[i].charAt(j) == '.')
decimal = 1;
}
And so is the code used for translating the while-loops, arrays and if-branches to assembly. Here is how "while" is translated to Assembly:
Code:
if (/^While/.test(str))
{
var arth=str.substr("While ".length);
var label1="l"+(Math.floor(Math.random()*1000000));
stack.push(label1);
asm(label1+":");
parseArth(tokenizeArth(arth)).compile();
var label2="l"+(Math.floor(Math.random()*1000000));
asm("fistp dword [result]");
asm("mov eax,[result]");
asm("test eax,eax");
asm("je "+label2);
stack.push(label2);
}
else if (/^EndWhile/.test(str))
{
var endWhileLabel=stack.pop();
var whileLabel=stack.pop();
asm("jmp "+whileLabel);
asm(endWhileLabel+':');
}
Abaddon_ire Wrote:To this day, I continue to write encryption routines in assembler and in machine code.Well, isn't that very unwise? It's important that the encryption software doesn't have many bugs, and programs written in Assembly and machine code (if there are such programs today) tend to be very buggy.