<?xml version="1.0"?>

<bison-xml-report version="3.0.4" bug-report="bug-bison@gnu.org" url="http://www.gnu.org/software/bison/">

  <filename>json.yy</filename>

  <grammar>
    <rules>
      <rule number="0" usefulness="useful">
        <lhs>$accept</lhs>
        <rhs>
          <symbol>value</symbol>
          <symbol>$end</symbol>
        </rhs>
      </rule>
      <rule number="1" usefulness="useful">
        <lhs>value</lhs>
        <rhs>
          <symbol>object</symbol>
        </rhs>
      </rule>
      <rule number="2" usefulness="useful">
        <lhs>value</lhs>
        <rhs>
          <symbol>array</symbol>
        </rhs>
      </rule>
      <rule number="3" usefulness="useful">
        <lhs>value</lhs>
        <rhs>
          <symbol>value_string</symbol>
        </rhs>
      </rule>
      <rule number="4" usefulness="useful">
        <lhs>value</lhs>
        <rhs>
          <symbol>value_number</symbol>
        </rhs>
      </rule>
      <rule number="5" usefulness="useful">
        <lhs>value</lhs>
        <rhs>
          <symbol>literal_true</symbol>
        </rhs>
      </rule>
      <rule number="6" usefulness="useful">
        <lhs>value</lhs>
        <rhs>
          <symbol>literal_false</symbol>
        </rhs>
      </rule>
      <rule number="7" usefulness="useful">
        <lhs>value</lhs>
        <rhs>
          <symbol>literal_null</symbol>
        </rhs>
      </rule>
      <rule number="8" usefulness="useful">
        <lhs>object</lhs>
        <rhs>
          <symbol>begin_object</symbol>
          <symbol>end_object</symbol>
        </rhs>
      </rule>
      <rule number="9" usefulness="useful">
        <lhs>object</lhs>
        <rhs>
          <symbol>begin_object</symbol>
          <symbol>object_value_list</symbol>
          <symbol>end_object</symbol>
        </rhs>
      </rule>
      <rule number="10" usefulness="useful">
        <lhs>object_value_list</lhs>
        <rhs>
          <symbol>value_string</symbol>
          <symbol>name_separator</symbol>
          <symbol>value</symbol>
        </rhs>
      </rule>
      <rule number="11" usefulness="useful">
        <lhs>object_value_list</lhs>
        <rhs>
          <symbol>value_string</symbol>
          <symbol>name_separator</symbol>
          <symbol>value</symbol>
          <symbol>value_separator</symbol>
          <symbol>object_value_list</symbol>
        </rhs>
      </rule>
      <rule number="12" usefulness="useful">
        <lhs>array</lhs>
        <rhs>
          <symbol>begin_array</symbol>
          <symbol>end_array</symbol>
        </rhs>
      </rule>
      <rule number="13" usefulness="useful">
        <lhs>array</lhs>
        <rhs>
          <symbol>begin_array</symbol>
          <symbol>array_value_list</symbol>
          <symbol>end_array</symbol>
        </rhs>
      </rule>
      <rule number="14" usefulness="useful">
        <lhs>array_value_list</lhs>
        <rhs>
          <symbol>value</symbol>
        </rhs>
      </rule>
      <rule number="15" usefulness="useful">
        <lhs>array_value_list</lhs>
        <rhs>
          <symbol>value</symbol>
          <symbol>value_separator</symbol>
          <symbol>array_value_list</symbol>
        </rhs>
      </rule>
    </rules>
    <terminals>
      <terminal symbol-number="0" token-number="0" name="$end" usefulness="useful"/>
      <terminal symbol-number="1" token-number="256" name="error" usefulness="useful"/>
      <terminal symbol-number="3" token-number="258" name="value_number" usefulness="useful"/>
      <terminal symbol-number="4" token-number="259" name="value_string" usefulness="useful"/>
      <terminal symbol-number="5" token-number="260" name="begin_object" usefulness="useful"/>
      <terminal symbol-number="6" token-number="261" name="end_object" usefulness="useful"/>
      <terminal symbol-number="7" token-number="262" name="begin_array" usefulness="useful"/>
      <terminal symbol-number="8" token-number="263" name="end_array" usefulness="useful"/>
      <terminal symbol-number="9" token-number="264" name="literal_true" usefulness="useful"/>
      <terminal symbol-number="10" token-number="265" name="literal_false" usefulness="useful"/>
      <terminal symbol-number="11" token-number="266" name="literal_null" usefulness="useful"/>
      <terminal symbol-number="12" token-number="267" name="name_separator" usefulness="useful"/>
      <terminal symbol-number="13" token-number="268" name="value_separator" usefulness="useful"/>
    </terminals>
    <nonterminals>
      <nonterminal symbol-number="14" name="$accept" usefulness="useful"/>
      <nonterminal symbol-number="15" name="value" usefulness="useful"/>
      <nonterminal symbol-number="16" name="object" usefulness="useful"/>
      <nonterminal symbol-number="17" name="object_value_list" usefulness="useful"/>
      <nonterminal symbol-number="18" name="array" usefulness="useful"/>
      <nonterminal symbol-number="19" name="array_value_list" usefulness="useful"/>
    </nonterminals>
  </grammar>

  <automaton>

    <state number="0">
      <itemset>
        <item rule-number="0" point="0"/>
        <item rule-number="1" point="0"/>
        <item rule-number="2" point="0"/>
        <item rule-number="3" point="0"/>
        <item rule-number="4" point="0"/>
        <item rule-number="5" point="0"/>
        <item rule-number="6" point="0"/>
        <item rule-number="7" point="0"/>
        <item rule-number="8" point="0"/>
        <item rule-number="9" point="0"/>
        <item rule-number="12" point="0"/>
        <item rule-number="13" point="0"/>
      </itemset>
      <actions>
        <transitions>
          <transition type="shift" symbol="value_number" state="1"/>
          <transition type="shift" symbol="value_string" state="2"/>
          <transition type="shift" symbol="begin_object" state="3"/>
          <transition type="shift" symbol="begin_array" state="4"/>
          <transition type="shift" symbol="literal_true" state="5"/>
          <transition type="shift" symbol="literal_false" state="6"/>
          <transition type="shift" symbol="literal_null" state="7"/>
          <transition type="goto" symbol="value" state="8"/>
          <transition type="goto" symbol="object" state="9"/>
          <transition type="goto" symbol="array" state="10"/>
        </transitions>
        <errors/>
        <reductions/>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="1">
      <itemset>
        <item rule-number="4" point="1"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="4" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="2">
      <itemset>
        <item rule-number="3" point="1"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="3" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="3">
      <itemset>
        <item rule-number="8" point="1"/>
        <item rule-number="9" point="1"/>
        <item rule-number="10" point="0"/>
        <item rule-number="11" point="0"/>
      </itemset>
      <actions>
        <transitions>
          <transition type="shift" symbol="value_string" state="11"/>
          <transition type="shift" symbol="end_object" state="12"/>
          <transition type="goto" symbol="object_value_list" state="13"/>
        </transitions>
        <errors/>
        <reductions/>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="4">
      <itemset>
        <item rule-number="1" point="0"/>
        <item rule-number="2" point="0"/>
        <item rule-number="3" point="0"/>
        <item rule-number="4" point="0"/>
        <item rule-number="5" point="0"/>
        <item rule-number="6" point="0"/>
        <item rule-number="7" point="0"/>
        <item rule-number="8" point="0"/>
        <item rule-number="9" point="0"/>
        <item rule-number="12" point="0"/>
        <item rule-number="12" point="1"/>
        <item rule-number="13" point="0"/>
        <item rule-number="13" point="1"/>
        <item rule-number="14" point="0"/>
        <item rule-number="15" point="0"/>
      </itemset>
      <actions>
        <transitions>
          <transition type="shift" symbol="value_number" state="1"/>
          <transition type="shift" symbol="value_string" state="2"/>
          <transition type="shift" symbol="begin_object" state="3"/>
          <transition type="shift" symbol="begin_array" state="4"/>
          <transition type="shift" symbol="end_array" state="14"/>
          <transition type="shift" symbol="literal_true" state="5"/>
          <transition type="shift" symbol="literal_false" state="6"/>
          <transition type="shift" symbol="literal_null" state="7"/>
          <transition type="goto" symbol="value" state="15"/>
          <transition type="goto" symbol="object" state="9"/>
          <transition type="goto" symbol="array" state="10"/>
          <transition type="goto" symbol="array_value_list" state="16"/>
        </transitions>
        <errors/>
        <reductions/>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="5">
      <itemset>
        <item rule-number="5" point="1"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="5" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="6">
      <itemset>
        <item rule-number="6" point="1"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="6" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="7">
      <itemset>
        <item rule-number="7" point="1"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="7" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="8">
      <itemset>
        <item rule-number="0" point="1"/>
      </itemset>
      <actions>
        <transitions>
          <transition type="shift" symbol="$end" state="17"/>
        </transitions>
        <errors/>
        <reductions/>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="9">
      <itemset>
        <item rule-number="1" point="1"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="1" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="10">
      <itemset>
        <item rule-number="2" point="1"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="2" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="11">
      <itemset>
        <item rule-number="10" point="1"/>
        <item rule-number="11" point="1"/>
      </itemset>
      <actions>
        <transitions>
          <transition type="shift" symbol="name_separator" state="18"/>
        </transitions>
        <errors/>
        <reductions/>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="12">
      <itemset>
        <item rule-number="8" point="2"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="8" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="13">
      <itemset>
        <item rule-number="9" point="2"/>
      </itemset>
      <actions>
        <transitions>
          <transition type="shift" symbol="end_object" state="19"/>
        </transitions>
        <errors/>
        <reductions/>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="14">
      <itemset>
        <item rule-number="12" point="2"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="12" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="15">
      <itemset>
        <item rule-number="14" point="1">
          <lookaheads>
            <symbol>end_array</symbol>
          </lookaheads>
        </item>
        <item rule-number="15" point="1"/>
      </itemset>
      <actions>
        <transitions>
          <transition type="shift" symbol="value_separator" state="20"/>
        </transitions>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="14" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="16">
      <itemset>
        <item rule-number="13" point="2"/>
      </itemset>
      <actions>
        <transitions>
          <transition type="shift" symbol="end_array" state="21"/>
        </transitions>
        <errors/>
        <reductions/>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="17">
      <itemset>
        <item rule-number="0" point="2"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="accept" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="18">
      <itemset>
        <item rule-number="1" point="0"/>
        <item rule-number="2" point="0"/>
        <item rule-number="3" point="0"/>
        <item rule-number="4" point="0"/>
        <item rule-number="5" point="0"/>
        <item rule-number="6" point="0"/>
        <item rule-number="7" point="0"/>
        <item rule-number="8" point="0"/>
        <item rule-number="9" point="0"/>
        <item rule-number="10" point="2"/>
        <item rule-number="11" point="2"/>
        <item rule-number="12" point="0"/>
        <item rule-number="13" point="0"/>
      </itemset>
      <actions>
        <transitions>
          <transition type="shift" symbol="value_number" state="1"/>
          <transition type="shift" symbol="value_string" state="2"/>
          <transition type="shift" symbol="begin_object" state="3"/>
          <transition type="shift" symbol="begin_array" state="4"/>
          <transition type="shift" symbol="literal_true" state="5"/>
          <transition type="shift" symbol="literal_false" state="6"/>
          <transition type="shift" symbol="literal_null" state="7"/>
          <transition type="goto" symbol="value" state="22"/>
          <transition type="goto" symbol="object" state="9"/>
          <transition type="goto" symbol="array" state="10"/>
        </transitions>
        <errors/>
        <reductions/>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="19">
      <itemset>
        <item rule-number="9" point="3"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="9" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="20">
      <itemset>
        <item rule-number="1" point="0"/>
        <item rule-number="2" point="0"/>
        <item rule-number="3" point="0"/>
        <item rule-number="4" point="0"/>
        <item rule-number="5" point="0"/>
        <item rule-number="6" point="0"/>
        <item rule-number="7" point="0"/>
        <item rule-number="8" point="0"/>
        <item rule-number="9" point="0"/>
        <item rule-number="12" point="0"/>
        <item rule-number="13" point="0"/>
        <item rule-number="14" point="0"/>
        <item rule-number="15" point="0"/>
        <item rule-number="15" point="2"/>
      </itemset>
      <actions>
        <transitions>
          <transition type="shift" symbol="value_number" state="1"/>
          <transition type="shift" symbol="value_string" state="2"/>
          <transition type="shift" symbol="begin_object" state="3"/>
          <transition type="shift" symbol="begin_array" state="4"/>
          <transition type="shift" symbol="literal_true" state="5"/>
          <transition type="shift" symbol="literal_false" state="6"/>
          <transition type="shift" symbol="literal_null" state="7"/>
          <transition type="goto" symbol="value" state="15"/>
          <transition type="goto" symbol="object" state="9"/>
          <transition type="goto" symbol="array" state="10"/>
          <transition type="goto" symbol="array_value_list" state="23"/>
        </transitions>
        <errors/>
        <reductions/>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="21">
      <itemset>
        <item rule-number="13" point="3"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="13" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="22">
      <itemset>
        <item rule-number="10" point="3">
          <lookaheads>
            <symbol>end_object</symbol>
          </lookaheads>
        </item>
        <item rule-number="11" point="3"/>
      </itemset>
      <actions>
        <transitions>
          <transition type="shift" symbol="value_separator" state="24"/>
        </transitions>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="10" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="23">
      <itemset>
        <item rule-number="15" point="3"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="15" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="24">
      <itemset>
        <item rule-number="10" point="0"/>
        <item rule-number="11" point="0"/>
        <item rule-number="11" point="4"/>
      </itemset>
      <actions>
        <transitions>
          <transition type="shift" symbol="value_string" state="11"/>
          <transition type="goto" symbol="object_value_list" state="25"/>
        </transitions>
        <errors/>
        <reductions/>
      </actions>
      <solved-conflicts/>
    </state>

    <state number="25">
      <itemset>
        <item rule-number="11" point="5"/>
      </itemset>
      <actions>
        <transitions/>
        <errors/>
        <reductions>
          <reduction symbol="$default" rule="11" enabled="true"/>
        </reductions>
      </actions>
      <solved-conflicts/>
    </state>
  </automaton>
</bison-xml-report>
