Revision 22278 trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/labeling/parse/LabelExpressionParser.jj
LabelExpressionParser.jj | ||
---|---|---|
2 | 2 |
options{ |
3 | 3 |
STATIC = false; |
4 | 4 |
LOOKAHEAD = 1; |
5 |
|
|
5 | 6 |
} |
6 | 7 |
PARSER_BEGIN(LabelExpressionParser) |
7 | 8 |
|
... | ... | |
234 | 235 |
|
235 | 236 |
} |
236 | 237 |
{ |
237 |
Expression() (<EOFIELD>Expression(){ |
|
238 |
Expression leftExpression = (Expression)stack.pop(); |
|
239 |
Expression rightExpression = (Expression)stack.pop(); |
|
238 |
|
|
239 |
Expression() ( |
|
240 |
|
|
241 |
LOOKAHEAD(2)<EOFIELD> Expression() { |
|
242 |
Expression leftExpression = (Expression)stack.pop(); |
|
243 |
Expression rightExpression = (Expression)stack.pop(); |
|
240 | 244 |
|
241 |
Expression labelExpr = new LabelExpressionOperator(); |
|
242 |
labelExpr.addArgument(0, rightExpression); |
|
243 |
labelExpr.addArgument(0, leftExpression); |
|
245 |
Expression labelExpr = new LabelExpressionOperator();
|
|
246 |
labelExpr.addArgument(0, rightExpression);
|
|
247 |
labelExpr.addArgument(0, leftExpression);
|
|
244 | 248 |
|
245 | 249 |
stack.push(labelExpr); |
246 |
} |
|
247 |
)* <EOEXPR> |
|
248 |
|
|
249 |
| <EOEXPR> |
|
250 |
|
|
251 |
} |
|
252 |
| Expression(){ |
|
253 |
Expression leftExpression2 = (Expression)stack.pop(); |
|
254 |
Expression rightExpression2 = (Expression)stack.pop(); |
|
255 |
|
|
256 |
Expression fieldExpr = new FieldExpressionOperator(); |
|
257 |
fieldExpr.addArgument(0, rightExpression2); |
|
258 |
fieldExpr.addArgument(0, leftExpression2); |
|
259 |
|
|
260 |
stack.push(fieldExpr); |
|
261 |
})* |
|
262 |
// <EOEXPR> |
|
263 |
|
|
264 |
//| <EOEXPR> |
|
265 |
|
|
250 | 266 |
} |
251 | 267 |
|
252 | 268 |
void Expression():{}{ |
Also available in: Unified diff