2016-08-08 4 views
1

を取得する特殊な関数にブール式を引数として渡すことができるXtext上の文法を作成しようとしていますブール型パラメータ(暗黙のうちにブール型)。例えばXtextの引数としてブール式を使用する

someFunction(...){ 
    foo(4>3, a==b) 
} 

foo(arg1,arg2) 
{ 
    //do something with arg1 and arg2 
} 

は、あなたがそれを行う方法を示して簡単な例を持っていますか?

ありがとうございます。

答えて

1

あなたの質問から、あなたの実際の問題が何であるかはっきりしません。

これは表現のための文法の構築についてである場合:

Expression: 
    OrExpression 
; 

OrExpression returns Expression: 
    AndExpression ({OrExpression.left=current} "||" right=AndExpression)* 
; 

AndExpression returns Expression: 
    ComparisonExpression ({AndExpression.left=current} "&&" right=ComparisonExpression)* 
; 

ComparisonExpression returns Expression: 
    PrimaryExpression ({ComparisonExpression.left=current} operator=("<"|"<="|"=="|">="|">") right=PrimaryExpression)* 
; 

PrimaryExpression returns Expression: 
    "(" Expression ")" 
    | Literal 
; 

Literal returns Expression: 
    {Literal} value="true" | "false" | INT 
; 

出発点としてこれを使用し、これは型システムの構築についてであれば、いくつかの洞察https://typefox.io/parsing-expressions-with-xtext

のために参照がhttp://xsemantics.sourceforge.net/

+0

を見てありがとうございました。おそらくXsemanticsを使わなければならないでしょう。 –

関連する問題