private static bool IsVarArg(SyUseVal syUseVal) { return(syUseVal == SyUseVal.SetVa || syUseVal == SyUseVal.RelVa || syUseVal == SyUseVal.RelAttVa || syUseVal == SyUseVal.StringVa || syUseVal == SyUseVal.NumberVa || syUseVal == SyUseVal.FloatVa || syUseVal == SyUseVal.ExAttVa || syUseVal == SyUseVal.ExTypeVa); }
public FunctionSignatur(SyUseVal returnSymbol, SyUseVal[] argumentTypes, SyUseVal[] predicateTypes, string allowedPredTokens) { PredicateTypes = predicateTypes; ReturnSymbol = returnSymbol; ArgumentTypes = argumentTypes; if (predicateTypes != null) { AllowedPredTokens = allowedPredTokens.Split(','); } }
private bool TypeUsageEnumMatches(Node node, SyUseVal symbolUsage) { if (node is CNumberNode && symbolUsage == SyUseVal.Number) { return(true); } if (node is CFloatNode && symbolUsage == SyUseVal.Float) { return(true); } if (node is CStringNode && symbolUsage == SyUseVal.String) { return(true); } if (node is ExAttNode && symbolUsage == SyUseVal.ExAtt) { return(true); } if (node is ExTypeNode && symbolUsage == SyUseVal.ExType) { return(true); } if (node is RelationNode && symbolUsage == SyUseVal.Rel) { return(true); } var node1 = node as SetNode; if (node1 != null) { //var literalNode = node1; //if (literalNode.Usage == SetNode.SymbolUsage.RelAtt && symbolUsage == SyUseVal.RelAtt) // return true; //if (literalNode.Usage == SetNode.SymbolUsage.Set && symbolUsage == SyUseVal.Set) // return true; } return(false); }
private SyUseVal MatchSyUseVarArg(SyUseVal syUseVal) { if (syUseVal == SyUseVal.NumberVa) { return(SyUseVal.Number); } if (syUseVal == SyUseVal.FloatVa) { return(SyUseVal.Float); } if (syUseVal == SyUseVal.StringVa) { return(SyUseVal.String); } if (syUseVal == SyUseVal.ExAttVa) { return(SyUseVal.ExAtt); } if (syUseVal == SyUseVal.ExTypeVa) { return(SyUseVal.ExType); } if (syUseVal == SyUseVal.RelVa) { return(SyUseVal.Rel); } if (syUseVal == SyUseVal.RelAttVa) { return(SyUseVal.RelAtt); } if (syUseVal == SyUseVal.SetVa) { return(SyUseVal.Set); } throw new InvalidOperationException(); }