Tercümanı programlama dilim için uygularken, önce basit bir konsol penceresi düşünürdüm. Bu, kullanıcının daha sonra kabuk olarak bağımsız bir program olarak çalıştırılan bir kod girmesini sağlayan basit bir konsol penceresi olduğunu düşündüm.Ruby ve Python etkileşimli konsollarını nasıl uygular?
Ancak ciddi sorunlar var: Kullanıcının girdiği her kod satırı bağımsız bir program olarak ele alınırsa, belirtecin ve ayrıştırıcıdan geçmesi gerekir ve sonra sadece yorumlayıcı tarafından yürütülür - ne işleve ne olur?
- Python/Ruby etkileşimli konsolları (IDLE, irb) kodu nasıl "paylaşır"? Kod nasıl ele geçirildi?
Örnek:
yine her an çağrılabilir, böylece fonksiyon saklanır>> def x:
>> print("Blah")
>>
>> x()
?
Etkileşimli konsol, her şeyi tekrar tekrar yürütmeden bir program olarak girilen her şeyi açık bir şekilde nasıl alabilir?