c99 code, no jump tables, no gcc specifics #17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I looked into js0n for some particular purpose (and I am still considering it for its simplicity) and, sort of as a by-product, rewrote it to not use the jump tables and gcc specifics. As is with default compiler options, this code is also somehow more efficient (15% or so).
On the way, I also noticed the limitations, which may be worth documenting more clearly
{a:1, b:2]
or[1,2,3}
I guess that's only scratching the surface, but at any rate, documenting the fact that for its great simplicity and speed, js0n by no means is a full parser.
Feel free to just close this PR if you want to keep the existing structure, but I did not want to miss the opportunity to share this code in case anyone is interested.