اذا لم تجد ما تبحث عنه يمكنك استخدام كلمات أكثر دقة.
الإضافة إلى التحويل الأساسي من التمثيل الوسيط إلى تسلسل خطي لتعليمات الآلة، يحاول مولد الشفرة تحسين الشفرة التي تم إنشاؤها بطريقة ما.
المهام التي عادة ما تكون جزءًا من مرحلة "توليد الشفرة" تشمل :
يتم اختيار التعليمات من خلال الاستدعاء الذاتي العبور العكسي على شجرة بناء الجملة المجردة، ومطابقة تكوينات شجرة معينة مقابل القوالب ؛ على سبيل المثال، الشجرة
د يتم تحويلها إلى تسلسل خطي من التعليمات عن طريق توليد متواليات بشكل متكرر لـ و و ثم ابنعاث التعليمات .
في المترجم الذي يستخدم لغة وسيطة، قد يكون هناك مرحلتان لاختيار التعليمات— الأولى لتحويل شجرة التحليل إلى شفرة وسيطة، والمرحلة ثانية في وقت لاحق بكثير لتحويل الشفرة الوسيطة إلى تعليمات من مجموعة تعليمات الآلة المستهدفة.المرحلة الثانية لا تتطلب عبور الشجرة ؛يمكن القيام بها خطيا، وعادة ما ينطوي على استبدال بسيط لعمليات اللغة الوسيطة مع ما يقابلها من عمليات الشفرة(بالإنجليزية: opcodes).
إذا كان المترجم هو في الواقع مترجم لغوي, (على سبيل المثال التحويل من لغة Eiffel إلى C) عندئذ، قد تتضمن المرحلة الثانية لتوليد الشفرات بناء شجرة من الشفرة المتوسطة الخطية.