Understanding ANTLR Grammar FilesよりRule

expr                 //ルール名の定義
[int a]              //引数の定義
returns [int c]      //返り値を保持する変数の定義
                     // int cを定義すると共に
                     // 最後にreturn c;することを定義
throws MyException   //このルールが投げる例外
options{defaultErrorHandler=false;}
                     //このルールだけに適用するオプション
{                    //初期化部
  c=0;               // ANTLRの生成するコードより
}                    // 先に実行される部分
  : mexpr (PLUS^ mexpr)* SEMI!
                     //実際のルール
  ;
exception
catch[MyException e] //「実際のルール」部で投げられる例外
{                    // ↑の例外の取り扱い
  e.printStackTrace();
}