public Expr GenerateZ3ExprFromToExpr(FExp expr, RankedAlphabetSort outputAlph, List<FastToken> children, int from, List<string> reachedStates, List<Def> queue, Dictionary<string, Def> defs, FastTransducerInstance fti, List<int>[] nextStatesL)
{
switch (expr.kind)
{
case (FExpKind.App):
return GenerateZ3ToExpr((AppExp)expr, outputAlph, children, from, reachedStates, queue, defs, fti, nextStatesL);
case (FExpKind.Value):
return GenerateZ3ToExpr((Value)expr, outputAlph);
case (FExpKind.Var):
return GenerateZ3ToExpr((Variable)expr, outputAlph, children);
}
return null;
}