On May 1, 2013, at 7:21 PM, Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com> wrote:
Opal is fun. I have a few simplifications to propose for the AST->BC OCASTTranslator
1) instead of testing isEffectTranslator or refining in subclass, most often we could just let self visit the node. Indeed, self will already be either a Translator ForEffect or ForValue.
2) I think we can simplify the #visitBlockNode: / #visitSequenceNode: pair.
3) I suggest changing the BC generated for or: and and:
I can open 1 or more issues if there is an interest.
Yes! After we finish the front end I want to do a pass again on the backend⦠there are still some things to simplify, and these look interesting. Opal TODO right now: - refactoring to the new API - AST Transformer Plugins - compiler Pragmas (to turn of inlining, for example.) - get non-boolean receivers for ifTrue: working even when optimizing (see mustBeBooleanIn:) - Pluggable everything (so people can exchange everything (Parser, Semantic Check, Translator, IR backendâ¦) - Write something about it so people can use it - Do another pass on the backend Marcus