Revision 22278 trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/labeling/parse/LabelExpressionParser.jj

View differences:

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