Add generator

Signed-off-by: Kohei Takahashi <flast@flast.jp>