<commit_before># JSON Decoding Algorithm

Everyone and their dog already has a json parsing and
encoding library. So this module is more of a fun curiosity
rather than an useful tool. 

Now even your pet rock is able to parse JSON.

## Parsing tables for JSON

The code in the [build_tables.py](build_tables.py)
constructs a parsing table that matches on the railroad
diagrams at http://json.org/

There's a recognizer that can push&pop states into a stack.
Every state transition is associated with action code that
is separate from the recognizer and allows you to parse the
contents of the input correctly.

## Tutorial for implementing a JSON decoder or parser

Write the following program in your programming language
of choice:

    def parse(input):
        stack = []
        state = 0x00
        ds = [] # data stack
        ss = [] # string stack<commit_msg>text correction<commit_after># JSON Decoding Algorithm

Everyone and their dog already has a json parsing and
encoding library. So this module is more of a fun curiosity
rather than a useful tool. 

Now even your pet rock is able to parse JSON.

## Parsing tables for JSON

The code in the [build_tables.py](build_tables.py)
constructs a parsing table that matches on the railroad
diagrams at http://json.org/

There's a recognizer that can push and pop states into a stack.
Every state transition is associated with action code that
is separate from the recognizer and allows you to parse the
contents of the input correctly.

## Tutorial for implementing a JSON decoder or parser

Write the following program in your programming language
of choice:

    def parse(input):
        stack = []
        state = 0x00
        ds = [] # data stack
        ss = [] # string stack
{'fraction_non_alphanumeric': 0.04767375071797817, 'fraction_numerical': 0.0034462952326249283, 'mean_word_length': 3.5129533678756477, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3535342', 'n_tokens_mistral': 456, 'n_tokens_neox': 429, 'n_words': 252}