This used to be work, but now doesn't, leading to a malformed compiler command line. Reading the file in manually is a horrible hack, but it does at least make things work.
Inner failure frames act as a shock absorber of sorts, allowing us to remove more a much greater number of (outer) failure frames.
Neither of these is hugely significant, but neither hurts.
This was less painful than I expected.
Because such errors are relatively rare in practise, the change to src infos hadn't filtered through to here, and hadn't been noticed. This patch also fixes a nastier problem where tokenizer errors could cause a file to seem not to have enough newlines to have an error reported upon.
Problem spotted by Naveneetha Vasudevan, who also gave important comments on the patch.
…ing unexpected. Spotted by Anthony Savidis and Giannis Lilis.
Somehow this function has continually been forgotten...
This could lead to hilarity if multiple nodes of the same name (and which had attributes) appeared in another node.
This prevents any worries about interflow wrap (which could mean that two different versions appear to be identical). This is one of those small changes that I've consistently forgotten about.
I'd love to pretend I remember why these function calls were commented out - but I don't.
Expressions like "2+3" are now statically optimised to "5". This will work better when "*" and "/" get their own bytecodes.
…its work. This allows expressions such as "2-3" to be parsed correctly. Previously this was tokenised as "2" "-3" (i.e. "-3" is a single token), which the parser could not handle. It is now parsed as "2" "-" "3".