本文整理汇总了Java中org.eclipse.jdt.internal.compiler.parser.Parser.tAction方法的典型用法代码示例。如果您正苦于以下问题:Java Parser.tAction方法的具体用法?Java Parser.tAction怎么用?Java Parser.tAction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eclipse.jdt.internal.compiler.parser.Parser
的用法示例。
在下文中一共展示了Parser.tAction方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getNtermIndex
import org.eclipse.jdt.internal.compiler.parser.Parser; //导入方法依赖的package包/类
private int getNtermIndex(int start, int sym, int buffer_position) {
int highest_symbol = sym - NT_OFFSET,
tok = this.lexStream.kind(this.buffer[buffer_position]);
this.lexStream.reset(this.buffer[buffer_position + 1]);
//
// Initialize stack index of temp_stack and initialize maximum
// position of state stack that is still useful.
//
this.tempStackTop = 0;
this.tempStack[this.tempStackTop] = start;
int act = Parser.ntAction(start, highest_symbol);
if (act > NUM_RULES) { // goto action?
this.tempStack[this.tempStackTop + 1] = act;
act = Parser.tAction(act, tok);
}
while(act <= NUM_RULES) {
//
// Process all goto-reduce actions following reduction,
// until a goto action is computed ...
//
do {
this.tempStackTop -= (Parser.rhs[act]-1);
if (this.tempStackTop < 0)
return Parser.non_terminal_index[highest_symbol];
if (this.tempStackTop == 0)
highest_symbol = Parser.lhs[act];
act = Parser.ntAction(this.tempStack[this.tempStackTop], Parser.lhs[act]);
} while(act <= NUM_RULES);
this.tempStack[this.tempStackTop + 1] = act;
act = Parser.tAction(act, tok);
}
return Parser.non_terminal_index[highest_symbol];
}