/// <summary> /// Generate an acceptor rooted in def from a compound language definition and adds it to the list of acceptors /// </summary> public bool AddAcceptor(LangDefDef def, FastTransducerInstance fti, Dictionary<string, Def> defs) { var acceptor = OperationTranGen.getTreeAutomatonFromExpr(def.expr, fti, defs); acceptors.Add(def.func.name.text, acceptor); if (acceptor.IsEmpty) fti.fastLog.WriteLog(LogLevel.Normal, string.Format("the transducer '{0}' is empty", def.func.name.text)); return true; }
//Generate CSharp for a definition of type LangDefDef private static bool GenerateLanguageDefinition(LangDefDef def, StringBuilder sb) { sb.AppendLine("public bool " + def.func.name + "(){"); int x; GenerateDefExpr(def.expr, sb, "this", 0, out x); sb.AppendLine("}"); return true; }