implement at-substitution with Parser/Compiler model