Finished conio, most of string library, changed

output and bytecode to textarea
This commit is contained in:
2015-04-22 00:14:46 -04:00
parent 10f5a43a17
commit eb1f48ad9c
5 changed files with 87 additions and 54 deletions

View File

@@ -80,33 +80,36 @@ exports.NATIVE_FILE_READLINE = 68
exports.NATIVE_IMAGE_CLONE = 69 exports.NATIVE_IMAGE_CLONE = 69
exports.NATIVE_IMAGE_CREATE = 70 exports.NATIVE_IMAGE_CREATE = 70
exports.NATIVE_IMAGE_DATA = 71 exports.NATIVE_IMAGE_DATA = 71
exports.NATIVE_IMAGE_DESTROY = 72 exports.NATIVE_IMAGE_HEIGHT = 72
exports.NATIVE_IMAGE_HEIGHT = 73 exports.NATIVE_IMAGE_LOAD = 73
exports.NATIVE_IMAGE_LOAD = 74 exports.NATIVE_IMAGE_SAVE = 74
exports.NATIVE_IMAGE_SAVE = 75 exports.NATIVE_IMAGE_SUBIMAGE = 75
exports.NATIVE_IMAGE_SUBIMAGE = 76 exports.NATIVE_IMAGE_WIDTH = 76
exports.NATIVE_IMAGE_WIDTH = 77
/* parse */ /* parse */
exports.NATIVE_PARSE_BOOL = 78 exports.NATIVE_INT_TOKENS = 77
exports.NATIVE_PARSE_INT = 79 exports.NATIVE_NUM_TOKENS = 78
exports.NATIVE_PARSE_BOOL = 79
exports.NATIVE_PARSE_INT = 80
exports.NATIVE_PARSE_INTS = 81
exports.NATIVE_PARSE_TOKENS = 82
/* string */ /* string */
exports.NATIVE_CHAR_CHR = 80 exports.NATIVE_CHAR_CHR = 83
exports.NATIVE_CHAR_ORD = 81 exports.NATIVE_CHAR_ORD = 84
exports.NATIVE_STRING_CHARAT = 82 exports.NATIVE_STRING_CHARAT = 85
exports.NATIVE_STRING_COMPARE = 83 exports.NATIVE_STRING_COMPARE = 86
exports.NATIVE_STRING_EQUAL = 84 exports.NATIVE_STRING_EQUAL = 87
exports.NATIVE_STRING_FROM_CHARARRAY = 85 exports.NATIVE_STRING_FROM_CHARARRAY = 88
exports.NATIVE_STRING_FROMBOOL = 86 exports.NATIVE_STRING_FROMBOOL = 89
exports.NATIVE_STRING_FROMCHAR = 87 exports.NATIVE_STRING_FROMCHAR = 90
exports.NATIVE_STRING_FROMINT = 88 exports.NATIVE_STRING_FROMINT = 91
exports.NATIVE_STRING_JOIN = 89 exports.NATIVE_STRING_JOIN = 92
exports.NATIVE_STRING_LENGTH = 90 exports.NATIVE_STRING_LENGTH = 93
exports.NATIVE_STRING_SUB = 91 exports.NATIVE_STRING_SUB = 94
exports.NATIVE_STRING_TERMINATED = 92 exports.NATIVE_STRING_TERMINATED = 95
exports.NATIVE_STRING_TO_CHARARRAY = 93 exports.NATIVE_STRING_TO_CHARARRAY = 96
exports.NATIVE_STRING_TOLOWER = 94 exports.NATIVE_STRING_TOLOWER = 97
callbacks = {}; callbacks = {};
callbacks[exports.NATIVE_STRING_LENGTH] = callbacks[exports.NATIVE_STRING_LENGTH] =
@@ -150,4 +153,14 @@ callbacks[exports.NATIVE_CHAR_ORD] =
return args[0]; return args[0];
}; };
callbacks[exports.NATIVE_STRING_COMPARE] = function(args) {
if (args[0] < args[1]) return -1;
if (args[0] > args[1]) return 1;
return 0;
}
callbacks[exports.NATIVE_STRING_EQUAL] = function(args) {
return args[0] === args[1];
}
exports.default_callbacks = callbacks; exports.default_callbacks = callbacks;

View File

@@ -525,6 +525,12 @@ function execute(file, callbacks, v) {
return run_vm(state); return run_vm(state);
} }
function push(v) {
console.log("Pretend I pushed " + v);
}
exports.execute = execute; exports.execute = execute;
exports.initialize_vm = initialize_vm; exports.initialize_vm = initialize_vm;
exports.run_vm = run_vm; exports.run_vm = run_vm;
exports.push = push;

View File

@@ -38,11 +38,11 @@ callbacks[c0ffi.NATIVE_PRINTBOOL] = function(args) {
callbacks[c0ffi.NATIVE_PRINTCHAR] = function(args) { callbacks[c0ffi.NATIVE_PRINTCHAR] = function(args) {
print(String.fromCharCode(args[0])); print(String.fromCharCode(args[0]));
} }
callbacks[c0ffi.NATIVE_READLINE] = function(args) {
return prompt("","");
}
callbacks[c0ffi.NATIVE_PRINTINT] = function(args) { callbacks[c0ffi.NATIVE_PRINTINT] = function(args) {
print(args[0]); print(args[0]);
return 0;
} }
console.log(callbacks); console.log(callbacks);

View File

@@ -240,33 +240,36 @@ exports.NATIVE_FILE_READLINE = 68
exports.NATIVE_IMAGE_CLONE = 69 exports.NATIVE_IMAGE_CLONE = 69
exports.NATIVE_IMAGE_CREATE = 70 exports.NATIVE_IMAGE_CREATE = 70
exports.NATIVE_IMAGE_DATA = 71 exports.NATIVE_IMAGE_DATA = 71
exports.NATIVE_IMAGE_DESTROY = 72 exports.NATIVE_IMAGE_HEIGHT = 72
exports.NATIVE_IMAGE_HEIGHT = 73 exports.NATIVE_IMAGE_LOAD = 73
exports.NATIVE_IMAGE_LOAD = 74 exports.NATIVE_IMAGE_SAVE = 74
exports.NATIVE_IMAGE_SAVE = 75 exports.NATIVE_IMAGE_SUBIMAGE = 75
exports.NATIVE_IMAGE_SUBIMAGE = 76 exports.NATIVE_IMAGE_WIDTH = 76
exports.NATIVE_IMAGE_WIDTH = 77
/* parse */ /* parse */
exports.NATIVE_PARSE_BOOL = 78 exports.NATIVE_INT_TOKENS = 77
exports.NATIVE_PARSE_INT = 79 exports.NATIVE_NUM_TOKENS = 78
exports.NATIVE_PARSE_BOOL = 79
exports.NATIVE_PARSE_INT = 80
exports.NATIVE_PARSE_INTS = 81
exports.NATIVE_PARSE_TOKENS = 82
/* string */ /* string */
exports.NATIVE_CHAR_CHR = 80 exports.NATIVE_CHAR_CHR = 83
exports.NATIVE_CHAR_ORD = 81 exports.NATIVE_CHAR_ORD = 84
exports.NATIVE_STRING_CHARAT = 82 exports.NATIVE_STRING_CHARAT = 85
exports.NATIVE_STRING_COMPARE = 83 exports.NATIVE_STRING_COMPARE = 86
exports.NATIVE_STRING_EQUAL = 84 exports.NATIVE_STRING_EQUAL = 87
exports.NATIVE_STRING_FROM_CHARARRAY = 85 exports.NATIVE_STRING_FROM_CHARARRAY = 88
exports.NATIVE_STRING_FROMBOOL = 86 exports.NATIVE_STRING_FROMBOOL = 89
exports.NATIVE_STRING_FROMCHAR = 87 exports.NATIVE_STRING_FROMCHAR = 90
exports.NATIVE_STRING_FROMINT = 88 exports.NATIVE_STRING_FROMINT = 91
exports.NATIVE_STRING_JOIN = 89 exports.NATIVE_STRING_JOIN = 92
exports.NATIVE_STRING_LENGTH = 90 exports.NATIVE_STRING_LENGTH = 93
exports.NATIVE_STRING_SUB = 91 exports.NATIVE_STRING_SUB = 94
exports.NATIVE_STRING_TERMINATED = 92 exports.NATIVE_STRING_TERMINATED = 95
exports.NATIVE_STRING_TO_CHARARRAY = 93 exports.NATIVE_STRING_TO_CHARARRAY = 96
exports.NATIVE_STRING_TOLOWER = 94 exports.NATIVE_STRING_TOLOWER = 97
callbacks = {}; callbacks = {};
callbacks[exports.NATIVE_STRING_LENGTH] = callbacks[exports.NATIVE_STRING_LENGTH] =
@@ -310,6 +313,12 @@ callbacks[exports.NATIVE_CHAR_ORD] =
return args[0]; return args[0];
}; };
callbacks[exports.NATIVE_STRING_COMPARE] = function(args) {
if (args[0] < args[1]) return -1;
if (args[0] > args[1]) return 1;
return 0;
}
exports.default_callbacks = callbacks; exports.default_callbacks = callbacks;
},{}],4:[function(require,module,exports){ },{}],4:[function(require,module,exports){
@@ -840,9 +849,15 @@ function execute(file, callbacks, v) {
return run_vm(state); return run_vm(state);
} }
function push(v) {
console.log("Pretend I pushed " + v);
}
exports.execute = execute; exports.execute = execute;
exports.initialize_vm = initialize_vm; exports.initialize_vm = initialize_vm;
exports.run_vm = run_vm; exports.run_vm = run_vm;
exports.push = push;
},{"./opcodes":6}],5:[function(require,module,exports){ },{"./opcodes":6}],5:[function(require,module,exports){
parser = require("./bytecode-parser"); parser = require("./bytecode-parser");
@@ -885,12 +900,11 @@ callbacks[c0ffi.NATIVE_PRINTBOOL] = function(args) {
callbacks[c0ffi.NATIVE_PRINTCHAR] = function(args) { callbacks[c0ffi.NATIVE_PRINTCHAR] = function(args) {
print(String.fromCharCode(args[0])); print(String.fromCharCode(args[0]));
} }
callbacks[c0ffi.NATIVE_READLINE] = function(args) {
return prompt("","");
}
callbacks[c0ffi.NATIVE_PRINTINT] = function(args) { callbacks[c0ffi.NATIVE_PRINTINT] = function(args) {
print(args[0]); print(args[0]);
return 0;
} }
console.log(callbacks); console.log(callbacks);

View File

@@ -23,7 +23,7 @@ block body
.col-md-6 .col-md-6
p.lbl. p.lbl.
Bytecode Bytecode
textarea#bytecode.panel.panel-default.code.sh_c. textarea.code.formControl.sh_c(rows="12" id="bytecode")
&nbsp; &nbsp;
.row .row
.col-md-12 .col-md-12