配列と構造体を宣言できるDslを作成します。私はこの文法でそれを行うことができます:Xtext、配列と構造体の型宣言
Set:
'SET' '(' attribute=ID ',' value=AttributeValue ')';
SimpleValue:
INT | STRING;
Structure:
'{' ID ':' AttributeValue (',' ID ':' AttributeValue)* '}';
Array:
'[' AttributeValue (',' AttributeValue)* ']' ;
AttributeValue:
SimpleValue |
Structure |
Array
;
しかし、私の通訳では、私は自分の変数の種類を理解することができません。私はこの文法を試してみました
if(s.value instanceof Array) {val Array array = s.value}
:ような何かを行うことはできません
SimpleValue:
{SimpleValue}
INT | STRING
;
Structure:
'{' ID ':' var0=SimpleValue (',' ID ':' var1=SimpleValue)* '}'
;
Array:
'[' var0=SimpleValue(',' var1=SimpleValue)* ']'
;
AttributeValue :
SimpleValue |
Structure |
Array
;
は、それが動作しません。
if(s.value instanceof Array) {val Array array = s.value}
s.value
ラインでType mismatch: cannot convert from AttributeValue to Array"
エラー