fjsc: add forget
parent
7615f09e48
commit
3df86a4658
|
@ -84,6 +84,15 @@ Factor.prototype.add_word = function(vocab,name, source, func) {
|
|||
}
|
||||
v[name] = new Word(vocab,name,source,func);
|
||||
}
|
||||
|
||||
Factor.prototype.remove_word = function(vocab,name) {
|
||||
var v = factor.vocabs[vocab];
|
||||
if(!v) {
|
||||
v = { };
|
||||
factor.vocabs[vocab] = v;
|
||||
}
|
||||
delete v[name];
|
||||
}
|
||||
|
||||
Factor.prototype.define_word = function(name, source, func, next) {
|
||||
factor.vocabs[factor.in_vocab][name] = new Word(factor.in_vocab, name, source, function(next) {
|
||||
|
@ -304,6 +313,13 @@ factor.add_word("kernel", "current-using", "primitive", function(next) {
|
|||
factor.call_next(next);
|
||||
});
|
||||
|
||||
factor.add_word("kernel", "forget", "primitive", function(next) {
|
||||
var stack = factor.cont.data_stack;
|
||||
var word = stack.pop();
|
||||
factor.remove_word(word.vocab, word.name);
|
||||
factor.call_next(next);
|
||||
});
|
||||
|
||||
/* Math vocabulary */
|
||||
factor.add_word("math", "*", "primitive", function(next) {
|
||||
var stack = factor.cont.data_stack;
|
||||
|
|
Loading…
Reference in New Issue