ตัวอย่าง ของ เมทาโปรแกรมมิง

ตัวอย่างต่อไปนี้เป็นเมทาโปรแกรมที่เขียนขึ้นใน bash

#!/bin/bash# metaprogramecho '#!/bin/bash' >programfor ((I=1; I<=992; I++)) do    echo "echo $I" >>programdonechmod +x program

สคริปต์ (หรือโปรแกรม) ข้างต้นจะสร้างสคริปต์ขึ้นมาใหม่จำนวน 993 บรรทัด เก็บไว้ในแฟ้มชื่อ "program" ซึ่งจะทำงานเป็นการพิมพ์ค่า 1 ถึง 992 ออกมา นี่เป็นเพียงตัวอย่างหนึ่งของการใช้รหัสเพื่อเขียนรหัสจำนวนมาก ไม่ใช่แนวทางที่เหมาะสมที่สุดสำหรับการพิมพ์รายชื่อจำนวน ถึงอย่างไรก็ตาม โปรแกรมเมอร์สามารถเขียนและสั่งให้เมทาโปรแกรมทำงาน และจะได้รหัสต้นฉบับเป็นจำนวนหลายพันบรรทัดภายในไม่กี่นาที

ถ้าหากโปรแกรมสามารถถูกปรับแต่งในขณะทำงานได้ (เช่น ภาษาลิสป์ ภาษาไพทอน ภาษาสมอลล์ทอล์ก ภาษารูบี ภาษาพีเอชพี ภาษาเพิร์ล และจาวาสคริปต์) เทคนิคเมทาโปรแกรมมิงจะสามารถทำงานได้ทันทีโดยไม่ต้องสร้างรหัสต้นฉบับด้วยซ้ำไป แต่ก็ไม่ใช่ว่าทุกภาษาจะทำเช่นนี้ได้

ตัวอย่างหนึ่งของเครื่องมือเมทาโปรแกรมมิงที่เป็นที่รู้จักมากที่สุดก็คือคอมไพเลอร์ (compiler) ซึ่งช่วยให้โปรแกรมเมอร์เขียนโปรแกรมขนาดเล็กได้จากภาษาโปรแกรมระดับสูง เพื่อเขียนโปรแกรมภาษาเครื่องหรือภาษาแอสเซมบลีที่เทียบเท่ากัน คอมไพเลอร์จึงกลายเป็นเครื่องมือพื้นฐานสำหรับการเขียนโปรแกรม เนื่องจากการเขียนภาษาเครื่องลงไปโดยตรงนั้นไม่มีประสิทธิภาพเมื่อนำมาใช้งานจริง

อีกตัวอย่างหนึ่งของเครื่องมือเมทาโปรแกรมมิงก็คือ lex และ yacc ซึ่งเครื่องมือสองอย่างนี้ใช้สำหรับสร้างตัววิเคราะห์ศัพท์ (lexical analyzer) และตัวแจงส่วนของศัพท์ (lexical parser) สำหรับ yacc นั้นอาจเรียกได้ว่าเป็น "คอมไพเลอร์ของคอมไพเลอร์" คือเครื่องมือที่ใช้สำหรับสร้างเครื่องมือแปลภาษาระดับสูงให้เป็นภาษาเครื่อง