|
Derleyici Tasarımı
|
Şimdiye kadar yaptıklarımızı birleştirme zamanı geldi:
Şimdilik sadece tree traverse ederek interpret yapacağız. Tree-walk yerine kısaca tw diyoruz:
Statement'ler kullanıcıya dönüt değeri yansıtılmayan kod parçalarıdır. Expression ise doğrudan doğruya dili kullananın değeriyle ilgilendiği kodlardır, önceden yaptığımız recursive descent parser'da da benzer bir yapı kurgulamıştık.
Yazılım dilinin tasarımını biraz daha inceleyelim:
Ayrıca, yazılım dilinin bir statement'inin oluşturdugu CST'yi Graphviz formatında yazdırmak için cst keyword'ünü ekledim: