写完了语义扩展的基类,其他的写了一些小函数