Understanding ANTLR Grammar FilesよりGrammar

header{
  package com.my.myPack;
  /* 
   * ヘッダー部
   * ANTLRが生成する全ファイルに共通するものを記述する。
   * package宣言や共通のimport宣言など
   */
}

{
  import java.util.ArrayList;
  import my.MyClass;
  /* 
   * アクション部
   * grammar毎に固有のものを記述する。
   * 個別のimport宣言など
   */
}
class CalcParser extends Parser;
  /* 
   * class宣言
   */
options {
  buildAST = true;
  /* 
   * オプション部
   * grammarに対するオプションを記述する。
   * k=2など
   */
}
tokens {
  STAR;
  INT;
  SEMI;
  PLUS;
  MINUS;
  /* 
   * トークン部
   * 『仮想』トークンを記述する。
   * つまりLexerで明示的に定義されないトークンで、TreeParserで使用
   */
}
{
  public void myMethod()
  {
    doSomething();
  }
  /* 
   * アクション部その2
   * クラス定義の内側のアクションを記述する。
   * クラスに固有のfieldやmethodなど
   */
}