ユーザーからのSTRINGを期待するルールがあります。現在、文法で定義したキーワードをユーザーが指定すると、パーサーはセグメンテーション エラーを返します。
例:
sampleClause: calc! strName {##->setType(SAMPLE_CLAUSE);};
strName : STRING;
calc: "CALC" | "calc";
ユーザーが strName として calc/CALC を入力すると、パーサーは Seg Fault をスローします。これを回避する方法がわかりません。
編集:パーサーがセグメンテーション違反を発生させないようにする方法も知りたいです。これにより、望ましくないアプリケーションがクラッシュします。これらの状況では、セグ フォールトではなく正常に終了したいと考えています。
PS: 依存関係があるため、ANTLR 2 のソリューションが必要です。