本文整理匯總了Java中org.antlr.runtime.tree.CommonTreeNodeStream.push方法的典型用法代碼示例。如果您正苦於以下問題:Java CommonTreeNodeStream.push方法的具體用法?Java CommonTreeNodeStream.push怎麽用?Java CommonTreeNodeStream.push使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.antlr.runtime.tree.CommonTreeNodeStream
的用法示例。
在下文中一共展示了CommonTreeNodeStream.push方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: testStackStretch
import org.antlr.runtime.tree.CommonTreeNodeStream; //導入方法依賴的package包/類
public void testStackStretch() throws Exception {
// make more than INITIAL_CALL_STACK_SIZE pushes
Tree r0 = new CommonTree(new CommonToken(101));
CommonTreeNodeStream stream = new CommonTreeNodeStream(r0);
// go 1 over initial size
for (int i=1; i<=CommonTreeNodeStream.INITIAL_CALL_STACK_SIZE+1; i++) {
stream.push(i);
}
assertEquals(10, stream.pop());
assertEquals(9, stream.pop());
}
示例2: testPushPop
import org.antlr.runtime.tree.CommonTreeNodeStream; //導入方法依賴的package包/類
public void testPushPop() throws Exception {
// ^(101 ^(102 103) ^(104 105) ^(106 107) 108 109)
// stream has 9 real + 8 nav nodes
// Sequence of types: 101 DN 102 DN 103 UP 104 DN 105 UP 106 DN 107 UP 108 109 UP
Tree r0 = new CommonTree(new CommonToken(101));
Tree r1 = new CommonTree(new CommonToken(102));
r1.addChild(new CommonTree(new CommonToken(103)));
r0.addChild(r1);
Tree r2 = new CommonTree(new CommonToken(104));
r2.addChild(new CommonTree(new CommonToken(105)));
r0.addChild(r2);
Tree r3 = new CommonTree(new CommonToken(106));
r3.addChild(new CommonTree(new CommonToken(107)));
r0.addChild(r3);
r0.addChild(new CommonTree(new CommonToken(108)));
r0.addChild(new CommonTree(new CommonToken(109)));
CommonTreeNodeStream stream = new CommonTreeNodeStream(r0);
String expecting = " 101 2 102 2 103 3 104 2 105 3 106 2 107 3 108 109 3";
String found = stream.toString();
assertEquals(expecting, found);
// Assume we want to hit node 107 and then "call 102" then return
int indexOf102 = 2;
int indexOf107 = 12;
for (int k=1; k<=indexOf107; k++) { // consume til 107 node
stream.consume();
}
// CALL 102
assertEquals(107, ((Tree)stream.LT(1)).getType());
stream.push(indexOf102);
assertEquals(102, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume 102
assertEquals(Token.DOWN, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume DN
assertEquals(103, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume 103
assertEquals(Token.UP, ((Tree)stream.LT(1)).getType());
// RETURN
stream.pop();
assertEquals(107, ((Tree)stream.LT(1)).getType());
}
示例3: testNestedPushPop
import org.antlr.runtime.tree.CommonTreeNodeStream; //導入方法依賴的package包/類
public void testNestedPushPop() throws Exception {
// ^(101 ^(102 103) ^(104 105) ^(106 107) 108 109)
// stream has 9 real + 8 nav nodes
// Sequence of types: 101 DN 102 DN 103 UP 104 DN 105 UP 106 DN 107 UP 108 109 UP
Tree r0 = new CommonTree(new CommonToken(101));
Tree r1 = new CommonTree(new CommonToken(102));
r1.addChild(new CommonTree(new CommonToken(103)));
r0.addChild(r1);
Tree r2 = new CommonTree(new CommonToken(104));
r2.addChild(new CommonTree(new CommonToken(105)));
r0.addChild(r2);
Tree r3 = new CommonTree(new CommonToken(106));
r3.addChild(new CommonTree(new CommonToken(107)));
r0.addChild(r3);
r0.addChild(new CommonTree(new CommonToken(108)));
r0.addChild(new CommonTree(new CommonToken(109)));
CommonTreeNodeStream stream = new CommonTreeNodeStream(r0);
// Assume we want to hit node 107 and then "call 102", which
// calls 104, then return
int indexOf102 = 2;
int indexOf107 = 12;
for (int k=1; k<=indexOf107; k++) { // consume til 107 node
stream.consume();
}
assertEquals(107, ((Tree)stream.LT(1)).getType());
// CALL 102
stream.push(indexOf102);
assertEquals(102, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume 102
assertEquals(Token.DOWN, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume DN
assertEquals(103, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume 103
// CALL 104
int indexOf104 = 6;
stream.push(indexOf104);
assertEquals(104, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume 102
assertEquals(Token.DOWN, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume DN
assertEquals(105, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume 103
assertEquals(Token.UP, ((Tree)stream.LT(1)).getType());
// RETURN (to UP node in 102 subtree)
stream.pop();
assertEquals(Token.UP, ((Tree)stream.LT(1)).getType());
// RETURN (to empty stack)
stream.pop();
assertEquals(107, ((Tree)stream.LT(1)).getType());
}
示例4: testPushPopFromEOF
import org.antlr.runtime.tree.CommonTreeNodeStream; //導入方法依賴的package包/類
public void testPushPopFromEOF() throws Exception {
// ^(101 ^(102 103) ^(104 105) ^(106 107) 108 109)
// stream has 9 real + 8 nav nodes
// Sequence of types: 101 DN 102 DN 103 UP 104 DN 105 UP 106 DN 107 UP 108 109 UP
Tree r0 = new CommonTree(new CommonToken(101));
Tree r1 = new CommonTree(new CommonToken(102));
r1.addChild(new CommonTree(new CommonToken(103)));
r0.addChild(r1);
Tree r2 = new CommonTree(new CommonToken(104));
r2.addChild(new CommonTree(new CommonToken(105)));
r0.addChild(r2);
Tree r3 = new CommonTree(new CommonToken(106));
r3.addChild(new CommonTree(new CommonToken(107)));
r0.addChild(r3);
r0.addChild(new CommonTree(new CommonToken(108)));
r0.addChild(new CommonTree(new CommonToken(109)));
CommonTreeNodeStream stream = new CommonTreeNodeStream(r0);
while ( stream.LA(1)!=Token.EOF ) {
stream.consume();
}
int indexOf102 = 2;
int indexOf104 = 6;
assertEquals(Token.EOF, ((Tree)stream.LT(1)).getType());
// CALL 102
stream.push(indexOf102);
assertEquals(102, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume 102
assertEquals(Token.DOWN, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume DN
assertEquals(103, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume 103
assertEquals(Token.UP, ((Tree)stream.LT(1)).getType());
// RETURN (to empty stack)
stream.pop();
assertEquals(Token.EOF, ((Tree)stream.LT(1)).getType());
// CALL 104
stream.push(indexOf104);
assertEquals(104, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume 102
assertEquals(Token.DOWN, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume DN
assertEquals(105, ((Tree)stream.LT(1)).getType());
stream.consume(); // consume 103
assertEquals(Token.UP, ((Tree)stream.LT(1)).getType());
// RETURN (to empty stack)
stream.pop();
assertEquals(Token.EOF, ((Tree)stream.LT(1)).getType());
}