0
私の割り当てにパーサーのルールを書き込もうとしています。代入では、 "変数宣言"の部分をいくつかの型で行う必要があります。私はすべてのタイプでうまくいった。例:ANTLR4 - パーサーのテストケースが機能していません
int i;
または:
ブールBC。
しかし、Array型では機能しません。例:
int a [5];ここで
私が書いたコードです:
vardecl: pritype id (COMMA id)* SEMI ;
pritype: INTTYPE | BOOLEANTYPE | FLOATTYPE | STRINGTYPE ;
id: ID | ID LSB INTLIT RSB ;
INTTYPE: 'int' ;
BOOLEANTYPE: 'boolean' ;
FLOATTYPE: 'float' ;
STRINGTYPE: 'string' ;
ID: [_a-zA-Z] [_a-zA-Z0-9]* ;
INTLIT: [0-9]+ -> type(INTTYPE) ;
LSB: '[' ;
RSB: ']' ;
COMMA: ',' ;
SEMI: ';' ;
あなたは私が配列型が動作するために間違っていたものを私に示すことができます。前もって感謝します!!
ありがとうございます@トム、あなたは正しいです。あなたのソリューションは非常に明確です。早く実現できることを願っています。 –
@DeenThatcher私のソリューションが役立つことを嬉しく思います!あなたはそれを報いる方法としてそれを受け入れ、他の人がそれを見つけるのを助けることができます。 [これを見てください](https://stackoverflow.com/help/someone-answers) – TomServo