本文整理汇总了C#中LNode.HasSimpleHead方法的典型用法代码示例。如果您正苦于以下问题:C# LNode.HasSimpleHead方法的具体用法?C# LNode.HasSimpleHead怎么用?C# LNode.HasSimpleHead使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LNode
的用法示例。
在下文中一共展示了LNode.HasSimpleHead方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsTargetDefinitionId
public static bool IsTargetDefinitionId(LNode id, bool allowDots)
{
return id.HasSimpleHead() || IsDefinitionId(id.Target, allowDots);
}
示例2: IsComplexId
// A complex identifier has the form Id, ComplexId.Id, or ComplexId!(ComplexId, ...)
// where Id is a simple identifier and ComplexId is a complex identifier. Also, the
// form X!Y!Z, i.e. #of(#of(...), ...) is not allowed. $Substitution is allowed.
public static bool IsComplexId(LNode id, bool allowOf = true)
{
if (id.IsCall) {
if (id.Name == S.Of) {
if (allowOf)
return (id.HasSimpleHead() || IsComplexId(id.Target, false)) && id.Args.All(a => IsComplexId(a));
return false;
} else if (id.Calls(S.Dot, 2)) {
return id.Args.Last.IsId && IsComplexId(id.Args[0]);
} else if (id.Calls(S.Substitute, 1)) {
return true;
} else
return false;
} else
return id.IsId;
}
示例3: HasSimpleHeadWPA
internal static bool HasSimpleHeadWPA(LNode self, Pedantics p)
{
return (p & Pedantics.IgnoreWeirdAttributes) != 0 ? self.HasSimpleHead() : self.HasSimpleHeadWithoutPAttrs();
}