Revision 44750 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/spi/AbstractLexicalAnalyzer.java
AbstractLexicalAnalyzer.java | ||
---|---|---|
194 | 194 |
|
195 | 195 |
@Override |
196 | 196 |
public Token look() { |
197 |
push_state();
|
|
197 |
save_state();
|
|
198 | 198 |
try { |
199 | 199 |
return getToken(); |
200 | 200 |
} finally { |
201 |
pop_state();
|
|
201 |
restore_state();
|
|
202 | 202 |
} |
203 | 203 |
} |
204 | 204 |
|
205 | 205 |
abstract protected Token getToken(); |
206 | 206 |
|
207 |
public void push_state() {
|
|
207 |
public void save_state() {
|
|
208 | 208 |
this.states.push(position); |
209 | 209 |
} |
210 | 210 |
|
211 |
public void pop_state() {
|
|
211 |
public void restore_state() {
|
|
212 | 212 |
position = this.states.pop(); |
213 | 213 |
} |
214 | 214 |
|
215 |
public void drop_state() { |
|
216 |
this.states.pop(); |
|
217 |
} |
|
218 |
|
|
215 | 219 |
@Override |
216 | 220 |
public int getPosition() { |
217 | 221 |
return position; |
Also available in: Unified diff