本文整理汇总了C#中ITokenStream.GetText方法的典型用法代码示例。如果您正苦于以下问题:C# ITokenStream.GetText方法的具体用法?C# ITokenStream.GetText怎么用?C# ITokenStream.GetText使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITokenStream
的用法示例。
在下文中一共展示了ITokenStream.GetText方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: dot
/**
"If an operator has whitespace on the right side only, it is treated as a
postfix unary operator. As an example, the ++ operator in a++ b is treated
as a postfix unary operator."
"If an operator has no whitespace on the left but is followed immediately
by a dot (.), it is treated as a postfix unary operator. As an example,
the ++ operator in a++.b is treated as a postfix unary operator (a++ .b
rather than a ++ .b)."
*/
public static boolean isPostfixOp(ITokenStream tokens) {
int stop = getLastOpTokenIndex(tokens);
if (stop == -1) return false;
int start = tokens.Index;
var prevToken = tokens.get(start - 1); // includes hidden-channel tokens
var nextToken = tokens.get(stop + 1);
var prevIsWS = isLeftOperatorWS(prevToken);
var nextIsWS = isRightOperatorWS(nextToken);
var result =
!prevIsWS && nextIsWS ||
!prevIsWS && nextToken.getType() == SwiftParser.DOT;
var text = tokens.GetText(Interval.Of(start, stop));
//System.out.println("isPostfixOp: '"+prevToken+"','"+text+"','"+nextToken+"' is "+result);
return result;
}
示例2: isOperator
public static boolean isOperator(ITokenStream tokens, String op) {
var stop = getLastOpTokenIndex(tokens);
if (stop == -1) return false;
var start = tokens.Index;
var text = tokens.GetText(Interval.Of(start, stop));
return text.Equals(op);
}
示例3: isOpNext
public static boolean isOpNext(ITokenStream tokens) {
var start = tokens.Index;
var lt = tokens.Get(start);
var stop = getLastOpTokenIndex(tokens);
if (stop == -1) return false;
Console.WriteLine("isOpNext: i={0} t='{1}'", start, lt.getText());
Console.WriteLine(", op='{0}'\n", tokens.GetText(Interval.Of(start, stop)));
return true;
}