In this paper, we present an object-oriented approach to compiler specification. Our method treats grammar symbols as templates which instantiate nodes of parse tree for object-oriented semantic analysis. To have better classification and inheritance for semantic description, it uses restricted CFG to specify grammar rules. The semantic specification is done based on a class hierarchy generated from the restricted CFG. Besides, that a path expression is booted to describe the possible receivers of a message releases the restriction on the specification of message 1992 propagations in attribute grammar methods.