fjsc: change prompt to be "( scratchpad )".
parent
539d34fd23
commit
363ca60191
|
|
@ -1,99 +1,99 @@
|
||||||
/* Copyright (C) 2007 Chris Double. All Rights Reserved.
|
/* Copyright (C) 2007 Chris Double. All Rights Reserved.
|
||||||
See http://factorcode.org/license.txt for BSD license. */
|
See http://factorcode.org/license.txt for BSD license. */
|
||||||
|
|
||||||
var fjsc_repl = false;
|
var fjsc_repl = false;
|
||||||
|
|
||||||
function fjsc_repl_handler() {
|
function fjsc_repl_handler() {
|
||||||
var my_term = this;
|
var my_term = this;
|
||||||
this.newLine();
|
this.newLine();
|
||||||
if(this.lineBuffer != '') {
|
if(this.lineBuffer != '') {
|
||||||
factor.server_eval(
|
factor.server_eval(
|
||||||
this.lineBuffer,
|
this.lineBuffer,
|
||||||
function(text, result) {
|
function(text, result) {
|
||||||
document.getElementById("compiled").value = result;
|
document.getElementById("compiled").value = result;
|
||||||
display_datastack();
|
display_datastack();
|
||||||
},
|
},
|
||||||
function() { my_term.prompt(); });
|
function() { my_term.prompt(); });
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
my_term.prompt();
|
my_term.prompt();
|
||||||
}
|
}
|
||||||
|
|
||||||
function fjsc_init_handler() {
|
function fjsc_init_handler() {
|
||||||
this.write(
|
this.write(
|
||||||
[
|
[
|
||||||
TermGlobals.center('********************************************************'),
|
TermGlobals.center('********************************************************'),
|
||||||
TermGlobals.center('* *'),
|
TermGlobals.center('* *'),
|
||||||
TermGlobals.center('* Factor to Javascript Compiler Example *'),
|
TermGlobals.center('* Factor to Javascript Compiler Example *'),
|
||||||
TermGlobals.center('* *'),
|
TermGlobals.center('* *'),
|
||||||
TermGlobals.center('********************************************************')
|
TermGlobals.center('********************************************************')
|
||||||
]);
|
]);
|
||||||
|
|
||||||
this.prompt();
|
this.prompt();
|
||||||
}
|
}
|
||||||
|
|
||||||
function startup() {
|
function startup() {
|
||||||
var conf = {
|
var conf = {
|
||||||
x: 0,
|
x: 0,
|
||||||
y: 0,
|
y: 0,
|
||||||
cols: 64,
|
cols: 64,
|
||||||
rows: 18,
|
rows: 18,
|
||||||
termDiv: "repl",
|
termDiv: "repl",
|
||||||
crsrBlinkMode: true,
|
crsrBlinkMode: true,
|
||||||
ps: "scratchpad ",
|
ps: "( scratchpad )",
|
||||||
initHandler: fjsc_init_handler,
|
initHandler: fjsc_init_handler,
|
||||||
handler: fjsc_repl_handler
|
handler: fjsc_repl_handler
|
||||||
};
|
};
|
||||||
fjsc_repl = new Terminal(conf);
|
fjsc_repl = new Terminal(conf);
|
||||||
fjsc_repl.open();
|
fjsc_repl.open();
|
||||||
}
|
}
|
||||||
|
|
||||||
function display_datastack() {
|
function display_datastack() {
|
||||||
var html=[];
|
var html=[];
|
||||||
html.push("<table border='1'>")
|
html.push("<table border='1'>")
|
||||||
for(var i = 0; i < factor.cont.data_stack.length; ++i) {
|
for(var i = 0; i < factor.cont.data_stack.length; ++i) {
|
||||||
html.push("<tr><td>")
|
html.push("<tr><td>")
|
||||||
html.push(factor.cont.data_stack[i])
|
html.push(factor.cont.data_stack[i])
|
||||||
html.push("</td></tr>")
|
html.push("</td></tr>")
|
||||||
}
|
}
|
||||||
html.push("</table>")
|
html.push("</table>")
|
||||||
document.getElementById('stack').innerHTML=html.join("");
|
document.getElementById('stack').innerHTML=html.join("");
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery(function() {
|
jQuery(function() {
|
||||||
startup();
|
startup();
|
||||||
display_datastack();
|
display_datastack();
|
||||||
});
|
});
|
||||||
|
|
||||||
factor.add_word("kernel", ".s", "primitive", function(next) {
|
factor.add_word("kernel", ".s", "primitive", function(next) {
|
||||||
var stack = factor.cont.data_stack;
|
var stack = factor.cont.data_stack;
|
||||||
var term = fjsc_repl;
|
var term = fjsc_repl;
|
||||||
for(var i=0; i<stack.length; ++i) {
|
for(var i=0; i<stack.length; ++i) {
|
||||||
term.type(""+stack[i]);
|
term.type(""+stack[i]);
|
||||||
term.newLine();
|
term.newLine();
|
||||||
}
|
}
|
||||||
factor.call_next(next);
|
factor.call_next(next);
|
||||||
});
|
});
|
||||||
|
|
||||||
factor.add_word("io", "print", "primitive", function(next) {
|
factor.add_word("io", "print", "primitive", function(next) {
|
||||||
var stack = factor.cont.data_stack;
|
var stack = factor.cont.data_stack;
|
||||||
var term = fjsc_repl;
|
var term = fjsc_repl;
|
||||||
term.type(""+stack.pop());
|
term.type(""+stack.pop());
|
||||||
term.newLine();
|
term.newLine();
|
||||||
factor.call_next(next);
|
factor.call_next(next);
|
||||||
});
|
});
|
||||||
|
|
||||||
factor.add_word("io", "write", "primitive", function(next) {
|
factor.add_word("io", "write", "primitive", function(next) {
|
||||||
var stack = factor.cont.data_stack;
|
var stack = factor.cont.data_stack;
|
||||||
var term = fjsc_repl;
|
var term = fjsc_repl;
|
||||||
term.type(""+stack.pop());
|
term.type(""+stack.pop());
|
||||||
factor.call_next(next);
|
factor.call_next(next);
|
||||||
});
|
});
|
||||||
|
|
||||||
factor.add_word("io", ".", "primitive", function(next) {
|
factor.add_word("io", ".", "primitive", function(next) {
|
||||||
var stack = factor.cont.data_stack;
|
var stack = factor.cont.data_stack;
|
||||||
var term = fjsc_repl;
|
var term = fjsc_repl;
|
||||||
term.type(""+stack.pop());
|
term.type(""+stack.pop());
|
||||||
term.newLine();
|
term.newLine();
|
||||||
factor.call_next(next);
|
factor.call_next(next);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue