الترميز التكراري النموذجي  الترميز التكراري النموذجي ترميز من أعلى لأسفل، تمت صياغته من مجموعة من الخطوات ثنائية-التكرار (أو ما يعادلها من الخطوات غير المتكررة). حيث عادة ما يقوم كل إجراء من هذه الإجراءات بتطبيق إحدى القواعد الإنتاجية للقواعد النحوية. وعلى هذا يكون شكل البرنامج الناتج قريب الشبه جدا من القواعد النحوية التي يتعرف عليها. الترميز الخطي عبارة عن ترميز تكراري نموذجي لا يتطلب تراجع. والترميز الخطي ممكن فقط للترميز من أعلى لأسفل للنصوص التي تخلو من القواعد النحوية بمعنى أنها نصوص لا تتضمن قواعد نحوية والتي لابد لها من بعض الأرقام الموجبة k والتي تسمح للترميز التكراري النموذجي بتحديد الناتج الذي يستخدمه وذلك بفحص رموز الأرقام الموجبة k التالية للمدخلات. (وعلى هذا فإن النصوص الخالية من القواعد النحوية تستبعد كل القواعد النحوية المبهمة وكذلك كل القواعد النحوية التي تحتوي على ترميز أيسر. يمكن تحويل النصوص الخالية من القواعد النحوية إلى قواعد نحوية بديلة لا تحتوي على تكرار أيسر إلا أن إزالة التكرار الأيسر لا يؤدي دائما إلى نصوص تخلو من القواعد النحوية). بعمل الترميز الخطي في توقيت خطي. التكرار النموذجي بملفات احتياطية طريقة تحدد النواتج التي تستخدم بتجربة كل ناتج وراء الآخر. والتكرار النموذجي بملفات احتياطية ليس قاصرا على النصوص الخالية من القواعد النحوية ولكن ليس مضمونا أن ينتهي ما لم تكن القواعد النحوية غير مستخدمة. والترميز الذي يستخدم تكرار نموذجي بملفات احتياطية قد يتطلب زمن أُسي. ورغم استخدام الترميز الخطي على نطاق واسع يفضل المبرمجون إنشاء ترميز من اليسار لليمين أو ترميز مباشر من اليسار لليمين من خلال أدوات الترميز بدون تحويل القواعد النحوية إلى صيغة تخلو من القواعد  صيغة ENBF الشبيهة بالقواعد النحوية (للغة البرمجة PL/0 لنيكولاس ريث من Algorithms+ تركيب البيانات = البرامج) وتكون بصيغة LL(1):  يمكن التعبير عن رموز الأحرف باستخدام الأعداد. يمكن تحديد كل رمز لا يحتوي على أحرف من خلال قاعدة من القواعد النحوية باستثناء الرموز والأرقام، والتي يفترض تعريفها ضمنيا  بعد ذلك يأتي استخدام الترميز النموذجي التكراري للغة السابقة بلغة البرمجة سي C. إذا تمت قراءة الترميز في الترميز الأصلي وينتج عنه رسالة خطأ. في حالة عدم تمكن الكود من الترميز يخرج في صمت إذا تم ترميز الكود بشكل صحيح. لاحظ مدى التشابه الكبير بين الترميز الخطي في الأسفل مع القواعد النحوية في الأعلى. هناك إجراء لكل رمز غير خطي في القواعد. تترتب الرموز بطريقة الترتيب من أعلى لأسفل حتى تتم معالجة آخر رمز غير خطي. تعتمد أجزاء البرنامج على متغير عالمي هو sym، يحتوي على الجيل الثاني من رموز المدخلات ودالة getsym والتي تعمل على تحديث النظام عند استدعائها.  تم حذف تطبيقات دوال getsym والأخطاء للتبسيط typedef enum {ident, number, lparen, rparen, times, slash, plus, Symbol sym; void getsym(void); void error(const char msg[]); void expression(void); int accept(Symbol s) { int expect(Symbol s) { void factor(void) { void term(void) { void expression(void) { void condition(void) { void statement(void) { void block(void) { void program(void) {  المثال الآخر عبارة عن ترميز شجرة بسيطة وفيها تستدعي وظيفة ترميز الشجرة نفسها لترتيب العقد  \\ عقد الشجرة تحمل قيم صحيحة وعدادات لعقد أخرى في الشجرة typedef struct tree_node { } tree_node_t; \\وظيفة لإنشاء الشجرة لإتمام العملية، قم بتجاهلها tree_node_t *make_tree(void); \\وظيفة لترميز، الشجرة تقوم بترميز الشجرة باستدعاء نفسها int parse_tree(tree_node_t *root); int main(void) هذه الوظيفة ليست مهمة// tree_node_t *make_tree(void)  int parse_tree(tree_node_t *root) // راجع للتأكد من أن عدادات العقد عدادات فارغة.  يستخدم الكود السابق التكرار في استعراض شجرة البرنامج من أعلى لأسفل وطباعة القيم المرتبطة بالعقد وهذا مثال نموذجي على التكرار في البرمجة  الترميز التكراري النموذجي يعتبر سهل البناء بشكل خاص في لغات البرمجة الوظيفية مثل Haskell، Lisp أو ML.