A syntax-directed compiler/compiler emitting LR(1) object-oriented code