Microsoft.Fast.FastTransducerInstance.GenerateDefinitions C# (CSharp) Méthode

GenerateDefinitions() private static méthode

private static GenerateDefinitions ( Def>.Dictionary defs, FastTransducerInstance fti ) : bool
defs Def>.Dictionary
fti FastTransducerInstance
Résultat bool
        private static bool GenerateDefinitions(Dictionary<string, Def> defs, FastTransducerInstance fti)
        {
            foreach (var def in defs.Values)
            {
                if (def.kind == DefKind.Def)
                {
                    switch (((DefDef)def).ddkind)
                    {
                        case DefDefKind.Trans:
                            {
                                TransDefDef transDef = def as TransDefDef;
                                if (!(fti.treeDefinitions[transDef.domain.name.text].AddTransducer(transDef, fti, defs)))
                                    return false;
                                else
                                    fti.fastLog.WriteLog(LogLevel.Maximal,
                                        string.Format("transformation '{0}: {1} -> {2}' correctly added",
                                            transDef.func.name.text,
                                            transDef.domain.name.text,
                                            transDef.range.name.text)
                                        );
                                break;
                            }
                        case DefDefKind.Lang:
                            {
                                LangDefDef langDef = def as LangDefDef;
                                if (!(fti.treeDefinitions[langDef.domain.name.text].AddAcceptor(langDef, fti, defs)))
                                    return false;
                                else
                                    fti.fastLog.WriteLog(LogLevel.Maximal, string.Format("language '{0}:{1}' correctly added", langDef.func.name.text, langDef.domain.name.text));
                                break;
                            }
                        case DefDefKind.Tree:
                            {
                                TreeDef treeDef = def as TreeDef;
                                if (!fti.treeDefinitions[treeDef.domain.name.text].AddTree(treeDef, fti, defs))
                                    return false;
                                else
                                    fti.fastLog.WriteLog(LogLevel.Maximal, string.Format("tree '{0}:{1}' correctly added", treeDef.func.name.text, treeDef.domain.name.text));
                                break;
                            }
                    }
                }
            }
            return true;
        }