| Stack | Top Previous Next | 
| Scripts > Class elements and c++ instructions > Interpreted C++ instructions > Container > vector > Stack 
 There isn't a general stack container class of his own in the TextTransformer interpreter. Stacks can nevertheless be realized easily. 
 At first there are two special stacks for text-scopes and indentations. A stack also arises from productions called recursively automatically (see below). 
 In other cases a vector can be used as a stack. A new value can be pushed on the stack with push_back, then the value can be accessed by back and finally it can be removed again by pop_back. 
 vint v; 
 for(int i = 1; i <= 3; i++) v.push_back(i); 
 while(v.size()) { out << v.back(); v.pop_back(); } 
 // result: 321 
 
 E.g. a Stack arises automatically, when the text : "( ( ( 1 ) ) )", is parsed with the following start rule: 
 
 StackItem(int xi) 
 {{ int i = xi + 1; }} "(" StackItem[i] {{ out << i << endl; }} ")" | DIGIT 
 
 For every new instance of stack a local variables i is created: i is pushed on the stack. When the stack production is left, the variable is destoyed: i is popped from the stack. 
 
 
 | 
| This page belongs to the TextTransformer Documentation | Home Content German |