private static GenerateDefinitions ( Def>.Dictionary |
||
defs | Def>.Dictionary | |
fti | ||
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;
}