umecob.jsにおけるオートマトン実装の履歴
// 初期状態
trans["START"] = function(c) {
switch (c) {
case "\n":
this.vals.linefeeds++;
return nextState.START.call(this, c);
default:
return nextState.START.call(this, c);
case lf1:
return "JS_PRE_START";
case "$":
return "PRE_SHORT_ECHO";
case '\\':
this.stack.push("START");
return "ESCAPE";
case '\0':
strToCode.call(this);
return null; // 終了
}
};
setDefault('START', function(c) {
this.buffer.add(c);
return "START";
});