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>