Fix incorrect string escaping by kaathewisegit · Pull Request #386 · boyter/scc
Previously, only one char got checked for escapes when parsing strings. This meant that strings such as "\" never got terminated, leading to incorrect parsing.
This commit adds a check which calculates the number of escapes pre-string ending to determine wherever the last escape is itself escaped or not.
This was prompted by issue #345, I also added a test case for it.
One important note is that I am unsure how much that impacts performance. The for loop is only accessed if the string has an escape before it, so it should be a fairly rare path.