Mark unary, binary and keyword and have get execution pattern visible out of this.
Q1. Is there anywhere i can read more on this? How is this done? How i would be able to
Q2. You mentioned Pharo 3.0 and i can see there is a 2.0 beta� i guess this functionality would be way off in the future?
Q3. This is not a question� but a request� since it seems you know what you are talking about, please bump me in the right direction!
Question 1: Would "invalid" code compile anyway and i would get the execution order inspecting the AST, as errors would pop up at "run time"?
Depending on which kind. Everything that is syntactically correct is compiled and then run. This can lead to runtime errors, e.g. when a method
is called that does not exist (other languages would catch that due to static typing at compile time).
Question 2: Or� invalid code does not compile and i don't get to the stage where AST gives me anything useful (when using copy pasted code from anywhere) so i have to code some kind of smalltalk "text" parser and search for the patterns myself?
The good news is that the RBParser can compile even syntactically incorrect code.
(Camillo added this):
RBParser parseFaultyExpression: '1 +'
Im 3.0, we will use this for syntax highlighting (instead of the special parser now used).
But one fun experiment would be to extend the compiler (and the AST Interpreter) to actually
do the right thing: compile code for the correct part and raise an error at runtime for the
RBParseErrorNode. :-)
Marcus