Bytes format now really bytes format.
Empty area really working for empty loop.
Parser will also check Tag name (not only the tag type) when closing a tag as it should to.
Parameter not support empty array key in the middle of array.
Change way to handle string that need to be slashed. More accurate.

+ You cannot use $ to manually use PHP variable directly. If you need to do it, use () delimiter pair instead, like: var.(anotherVal).sub, it will be parse to $var[$anotherVal]['Val'].

And also, you can specify another array: var.(another.array).sub, it will be parsed to $var[$another['array']]['Val'].

// I actually more like this one to declare an array than use PHP syntax.
Better. Variable parser will no longer worry about mulit nest level, it only select the most outer nest and do a recurse.