The shape grammar formalism has been discussed theoretically extensively. Recently there has been increased activity in implementing shape grammar interpreters, yet there is a lack of implementations that support parametric rules and emergence. Here the structure of a general parametric shape grammar interpreter is discussed in detail. The interpreter is based on graph grammars. It supports emergence, parametric rules, and numerous types of geometric objects. The shape grammar engine, an agent-based rule selection system and several implementations based on the engine are discussed.