https://github.com/ppelleti/json65
The event-driven parser is written entirely in 6502 assembly language, although it provides a C API (meant to be called from cc65 programs). There are some helper routines (for things such as building up a tree representation) that are written in C.
Features:
- Works on all members of the 6502 family. (No 65C02 instructions.)
- Works on any platform supported by cc65.
- Choose between an event-driven (SAX-style) parser, and a tree representation.
- Supports incremental parsing (entire file does not need to fit in memory).
- File size and line length are unlimited (although strings are limited to 255 bytes or less).
- Keeps track of line number and column number (e. g. for error reporting).
- Generates helpful error messages.
- Fully reentrant. No global variables. You can use multiple parsers at once.
- Accepts all common line endings (CR, LF, or CRLF) automatically.