Quoting Roland Zwaga <rol...@stackandheap.com>:
On 29 December 2012 01:31, Michael Schmalle <apa...@teotigraphix.com> wrote:
Wow, Roland you didn't even tell me you were up to no good with asblocks!
Well, it was Christmas time, so I didn't want to bother you :)
I'm glad that freakin year of messing around produced something worth
while!
True, at least ONE app has been made using your library, that definitely
makes up for a year's worth of hard labour, doesn't it? :)
BTW, in my laboratory of parser/compiler madness I am dreaming up a way to
make Falcon have writable AST so it can act like jasblocks does and
read-write ActionScript. Linked tokens from the parser/tokenizer is the
first hurdle but, I could see some nice utility possibilities with a
framework extension like that.
A writeable AST would be absolutely a must if we would ever want to
implement any kind of compile-time AOP functionality. So if that could be
done eventually, I think this would GREATLY improve the possibilities of
the compiler. (Not just from an AOP perspective, all sorts of compile-time
code generation could be added, I'm pretty sure Michael Labriola has a few
ideas for this :))
If somehow the compiler can be used through a ANE (AIR Native Extension)
than little apps like the one I made here with ASBlocks could become even
easier to build, plus the parsing times would become unnoticable.
I'll be happy to help out in these cases, so once you get around to it
let's brainstorm :)
Why couldn't it? I was thinking about that yesterday. It would be the
data exchange format that would have to be agreed upon, XML, binary?
What do you think. It would have to be something that the framework in
asblocks could easily decorate with it's existing API.
Honestly, it seems like I'm in Apache Flex camp for a while so its the
JS compiler, ASDoc and code generation that I'm going to work on.
Like I said, when they designed Falcon they are not saving the token
stream like my parsers did which makes this whole, read, write edit A
LOT harder. Actually it's the edit that would be broken.
With AOP (I'm not to versed on it) but it seems to me that would be
easy to add. Since altering AST during compile is just managing API
addition and updating. You are not worried about producing end product
code that had the exact same formatting as the original source code
did. Which is when editing is out of the question right now with the
Falcon compiler.
I'm going to do some experiments, I'll let you know.
Anyway Roland great job and I saw your pull request, I didn't get notified
for it.
I might have some more pull requests in the future for ASBlocks (I think
I'll add a addStatementAt(index:int, statement:IAStatement) method to the
IASMethod implementations for instance). I'll send you an email when I do,
if github refuses to notify you, I'll just do it manually :)
Right, I'm sure you won't break anything so I will just commit them.
Mike
--
Michael Schmalle - Teoti Graphix, LLC
http://www.teotigraphix.com
http://blog.teotigraphix.com