2014-05-18 210 views
1

我使用XTEXT來生成一個大學分配的Java代碼,我的問題是,我需要一個計數器,同時生成代碼,所以我這樣做:xtext代碼生成,如何避免代碼生成一行?

«var i = 0» 
     «fc.function.name» («FOR a: fc.arguments SEPARATOR ','» 
           «IF (a instanceof InputExpression || a instanceof OutputExpression) && symbolTable.get(fc.function.name).get(fc.function.parameters.get(i).name).equals("int")» 
            parseInt(«generateExpression(a)») 
           «ELSE» 
            «generateExpression(a)» 
           «ENDIF» 
           «i=i+1» 
          «ENDFOR») 

但每次到達線路«i=i+1»,它會產生我的價值,我該如何避免這一行代碼中的代?

回答

1

請嘗試«{i=i+1; null}»。空值不會被打印,但賦值的值就是賦值本身。通過顯式使用null,可以避免這種情況。

+0

這工作得很好謝謝 –