Automat
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
<run id="5c7ff2003af1f">
function q1 (rest){
if(rest.length == 0) return false;
if(rest[0] == “0” || rest[0] == “1”)
return q2 (rest.slice(1));
if(rest[0] == “2”)
return q6 (rest.slice(1));
return false;
}
function q2 (rest){
if(rest.length == 0) return false;
if(rest[0] == “0” || rest[0] == “1” || rest[0] == “2” ||
rest[0] == “3” || rest[0] == “4” || rest[0] == “5” ||
rest[0] == “6” || rest[0] == “7” || rest[0] == “8” ||
rest[0] == “9”)
return q3 (rest.slice(1));
return false;
}
function q3 (rest){
if(rest.length == 0) return false;
if(rest[0] == “:”)
return q4 (rest.slice(1));
return false;
}
function q4 (rest){
if(rest.length == 0) return false;
if(rest[0] == “0” || rest[0] == “1” || rest[0] == “2” ||
rest[0] == “3” || rest[0] == “4” || rest[0] == “5”)
return q5 (rest.slice(1));
return false;
}
function q5 (rest){
if(rest.length == 0) return false;
if(rest[0] == “0” || rest[0] == “1” || rest[0] == “2” ||
rest[0] == “3” || rest[0] == “4” || rest[0] == “5” ||
rest[0] == “6” || rest[0] == “7” || rest[0] == “8” ||
rest[0] == “9”)
return q8 (rest.slice(1));
return false;
}
function q6 (rest){
if(rest.length == 0) return false;
if(rest[0] == “0” || rest[0] == “1” || rest[0] == “2” ||
rest[0] == “3”)
return q7 (rest.slice(1));
return false;
}
function q7 (rest){
if(rest.length == 0) return false;
if(rest[0] == “:”)
return q4 (rest.slice(1));
return false;
}
function q8 (rest){
if(rest.length == 0) return true;
return false;
}
// Start des Automaten mit q1 und dem Eingabewort
// liefert true, wenn das Eingabewort zur Sprache gehört
q1([“2”,”3”,”:”,”1”,”5”]);
</run>