JSFiddle - React, Tailwind, and code Playground
by XTREME104
JavaScript
/*
var name:type = value, name:type, name = value, name
function name (name:type = value, name:type, name = value, name):type {...}
name (value, value)
*/
/*
name = value
name += value
name -= value
name *= value
name /= value
name %= value
name &= value
name |= value
name ^= value
name <<= value
name >>= value
*/
/*
TODO
Converting to ASM
Arrays of types
Assignment of different types
Nested Functions with Parameters and Returns
value + value - value * value / value % value << value >> value & value | value ^ value
value+value-value*value/value%value<<value>>value&value|value^value
if (condition) {...}
while (condition) {...}
for (before; condition; each) {...}
do {...} while (condition)
*/
/*
SUPPORTED
Tokenizing
Variables of type, with value
var name:type = value, name:type, name = value, name
Functions with Arguments and Return Types
function name
function name:type
function name (name:type = value, name:type, name = value, name)
function name (name:type = value, name:type, name = value, name):type
function name {...}
function name:type {...}
function name (name:type = value, name:type, name = value, name) {...}
function name (name:type = value, name:type, name = value, name):type {...}
Function Calling
name(value, value)
Assignment
name = name
name = value
-Variables of types [byte/word/dword/qword]
-Assignment of same types (a = b)->(mov type [a], [b])
-Assignment of constant (a = value)->(mov type [a], value)
Top Level User Defined Functions without Parameters or Returns
Function Calling
-Mnemonics as Functions with Parameters
-ASM Blocks
*/
var variables = [];
var functions = [];
function trace (text) {
console.log(text);
}
function Var () {
this.name = "";
this.type = "";
this.value = "";
this.namespace = "";
}
function Argument () {
this.name = "";
this.type = "";
this.value = "";
}
function...