Con vẹt - Tổng quan
Khi chúng ta đưa chương trình của mình vào Perl thông thường, trước tiên nó được biên dịch thành một biểu diễn nội bộ, hoặc mã bytecode; mã bytecode này sau đó được đưa vào hệ thống con gần như riêng biệt bên trong Perl để được thông dịch. Vì vậy, có hai giai đoạn khác nhau trong hoạt động của Perl:
Biên dịch thành bytecode và
Diễn giải mã bytecode.
Đây không phải là duy nhất đối với Perl. Các ngôn ngữ khác theo thiết kế này bao gồm Python, Ruby, Tcl và thậm chí cả Java.
Chúng ta cũng biết rằng có Máy ảo Java (JVM) là một môi trường thực thi độc lập với nền tảng chuyển đổi mã bytecode của Java thành ngôn ngữ máy và thực thi nó. Nếu bạn hiểu khái niệm này thì bạn sẽ hiểu Parrot.
Parrotlà một máy ảo được thiết kế để biên dịch và thực thi mã bytecode cho các ngôn ngữ thông dịch một cách hiệu quả. Parrot là mục tiêu cho trình biên dịch Perl 6 cuối cùng và được sử dụng làm chương trình phụ trợ cho Pugs, cũng như nhiều ngôn ngữ khác như Tcl, Ruby, Python, v.v.
Parrot đã được viết bằng ngôn ngữ phổ biến nhất "C".