PPI 1.199_03 Release - 1.200 Beta 1

Alias on 2007-07-12T09:17:19

I've just uploaded PPI 1.199_03 to the CPAN.

I'm proposing this as the first beta for the next major release of PPI.

It has a wide variety of lexer and tokenizer accuracy improvements, especially in relation to the lexing of curly brace structures.

I've converted (most of) the Tokenizer to use exceptions for errors, which simplified it a bit, removed a lot of needless conditions, let me inline some more internal functions, and should result in a small speed improvement (although if that speed will be canceled out by the more Lexer accuracy improvements I'm not sure yet).

It also has the fine work of Chris Dolan, that provides a complete set of subclasses for numbers.

I had hoped to be able to find the time to get further into the work on the ->literal method, but that's simply not going to happen in the short term.

So to get the accuracy improvements to people faster, I'm going to do a 1.200 release anyway, with Chris' number code as the main feature for this new version.

If you have code that uses PPI, please test away and let me know how it goes.


yay!

rjbs on 2007-07-13T03:06:22

I don't know if it's 1.199 or a previous version, but I see that $hash{local} is no longer parsed as a local variable declaration. Awesome!

Re:yay!

Alias on 2007-07-13T19:59:23

PPI::Statement::Variable is an extremely fuzzy class, and I almost wish I hadn't created it.

It doesn't really deserve to be in the heirachy.

This is mostly because declaring a variable is largely a side-effect, or at the very least it is orthogonal to the actual syntactic type.

foreach my $foo ( ... ) { ... }

What the hell is THAT supposed to be? :(