I am also a big fan of the first release of AEL. This is an interesting development that appears to take AEL to the level it needs to get to.
[quote=“Steve Murphy”]I’ve just written and submitted a new module for asterisk, to the asterisk bug database.
There is a file there you can download, AEL2v0.3.patch.bz2
and I created a wiki page: voip-info.org/wiki/view/Asterisk+AEL2
Why did I do it? Because I was very impressed with AEL, but the current AEL compiler isn’t real good at pointing out problems. Mostly, it seems to silently ignore problems.
But I have a better idea. I want the compiler to check the “living daylights” out of the dialplan code. I want subtle errors that otherwise would trip up asterisk and hang up a call to be found at load time, not run-time! I remember all the classes I took long ago, that kept pounding away at the fact that finding and fixing errors at later stages are exponentially more expensive than finding and fixing them early in the design cycle… and I think the same applies to dialplans.
So I wrote AEL2 from the ground up. No newline dependencies, as free- form as C. After parsing, which will reveal syntax errors, a second pass is made hunting for semantic errors, like misspelled applications, bad expressions, etc. I’ll tack on a list of the differences and checks at the end of this message. Code is generated in a third phase, if no errors are found in the input. - Source[/quote]