示例#1
0
        public static TrsTypeDefinitionTermBase Convert(this TrsTermBase termIn)
        {
            TrsAtom     atom     = termIn as TrsAtom;
            TrsVariable variable = termIn as TrsVariable;
            TrsTerm     term     = termIn as TrsTerm;
            TrsAcTerm   acTerm   = termIn as TrsAcTerm;

            if (atom != null)
            {
                return(atom.Convert());
            }
            else if (variable != null)
            {
                return(variable.Convert());
            }
            else if (term != null)
            {
                return(term.Convert());
            }
            else if (acTerm != null)
            {
                return(acTerm.Convert());
            }
            else
            {
                throw new Exception("Unexpected type: " + termIn.GetType().FullName);
            }
        }
示例#2
0
 public static TrsTypeDefinitionAcTerm Convert(this TrsAcTerm term)
 {
     return(new TrsTypeDefinitionAcTerm(term.Name,
                                        term.OnfArguments.Select(arg => new TrsTypeDefinitionOnfAcTermArgument
     {
         Cardinality = arg.Cardinality,
         Term = arg.Term.Convert()
     })));
 }