+Item *
+Engraver::internal_make_item (SCM x, SCM cause,
+ char const *name,
+ char const *file, int line, char const *fun)
+{
+ Item *it = dynamic_cast<Item *> (internal_make_grob (x, cause, name, file, line, fun));
+ assert (it);
+ return it;
+}
+
+Paper_column *
+Engraver::internal_make_column (SCM x, char const *name,
+ char const *file, int line, char const *fun)
+{
+ return dynamic_cast<Paper_column *> (internal_make_grob (x, SCM_EOL, name, file, line, fun));
+}
+
+Spanner *
+Engraver::internal_make_spanner (SCM x, SCM cause, char const *name, char const *file, int line, char const *fun)
+{
+ Spanner *sp = dynamic_cast<Spanner *> (internal_make_grob (x, cause, name, file, line, fun));
+ assert (sp);
+ return sp;
+}
+
+#include "translator.icc"
+
+ADD_TRANSLATOR (Engraver,
+ /* doc */
+ "Base class for engravers. Does nothing, so it is not used.",
+
+ /* create */
+ "",
+
+ /* read */
+ "",