class BaseAutomata
{
}
///
/// Lexical analyzer
/// public abstract class A2 : BaseAutomata
{
protected string y = "s0";
public void A(int e)
{
switch (y)
{
case "s0":
if (e == 0) {z401(); y = "s1";}
break;
case "s1":
if (e == 1) {z200(); y = "s1";}
else if (e == 0) {z401(); y = "s1";}
break;
}
}
///
///
/// protected abstract void z200();
///
/// Initialize and return the first match
/// protected abstract void z401();
}
///
/// Syntactical analyzer
///
public abstract class A1 : BaseAutomata
{
protected string y = "s0";
public void A(int e)
{
switch (y)
{
case "s0":
if (true) {z200(); Call_A2(0); y = "s1";}
break;
case "s1":
if (x206()) { y = "s4";}
else if (x201()){z201(); z301(); y = "s1";}
else if (x202()){ y = "s2";}
else if (x203()){z203(); y = "s3";}
break;
case "s2":
if (x205()) { y = "s0";}
else if (x204())
{z202(); Call_A2(1); y = "s1";}
else if (true) { y = "s4";}
break;
case "s3":
if (x207()) {z204(); y = "s1";}
else if (true) { y = "s4";}
break;
case "s4":
if (true) {z205(); y = "s0";}
break;
}
}
///
/// Command in the top of the stack
///
/// Is condition correct
protected abstract bool x201();
/*Часть входных переменных и действий пропущено*/
}
}
Код программы