|
From: | Xing Su |
Subject: | [Chicken-hackers] node types in chicken's core language |
Date: | Thu, 08 Aug 2013 21:24:29 +0800 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 |
Hi everybody! I have a question about node types in chicken's CORE
language. I'd like to hack into chicken and now I'm reading through the source code. The release version I use is the latest stable release, version 4.8.0.4. According to the compiler internal on chicken wiki, the there are several compiler passes from Scheme code to native C, and after the first pass named CANONICALIZATION, the scheme code is translated to the chicken CORE language, which is actually an abstract-syntax-tree. I want to insert a user-defined pass here after CANONICALIZATION and before CPS CONVERSION, so all kinds of nodes in CORE language should be taken in to consideration. What confused me is that, as the wiki says, there are compiler nodes and compiler special forms and they share some type of nodes. After a simple test, I found that after canonicalization can produce nodes in both category. I wonder that (1) what's the difference between these two categories? (2) should I deal with all node types in both categories when wring a user-defined pass? thank you! pysuxing |
[Prev in Thread] | Current Thread | [Next in Thread] |