Tôi đang viết một trình tối ưu hóa cho một ngôn ngữ tương tự như JavaScript và cần chọn cách trình bày mã trung gian. Sự lựa chọn rõ ràng / điển hình ngày nay là Bài tập đơn tĩnh (SSA).
Tuy nhiên, Triển khai trình biên dịch hiện đại trong C cũng thảo luận về hình thức trung gian chức năng, về cơ bản có nghĩa là thực hiện chức năng thuần túy cho biểu diễn trung gian (chỉ thuần túy về các biến cục bộ, dữ liệu heap vẫn có thể thay đổi, và không phải CPS, chỉ đơn giản là let
các khối và lệnh gọi đuôi) và có một số lợi thế về mặt dễ dàng hơn để lý do về.
Có lẽ đó không phải là một người không có trí tuệ hoặc mọi người sẽ sử dụng một đại diện như vậy, vì vậy câu hỏi của tôi là, hình thức trung gian chức năng có những bất lợi gì so với SSA?