+++ /dev/null
-# Parser generated by nitcc for the grammar json
-module json_parser is generated, no_warning("missing-doc","old-init")
-import nitcc_runtime
-class Parser_json
- super Parser
- redef fun start_state do return state_Start
-end
-private fun state_Start: LRStateStart do return once new LRStateStart
-private fun state_value: LRStatevalue do return once new LRStatevalue
-private fun state_number: LRStatenumber do return once new LRStatenumber
-private fun state_string: LRStatestring do return once new LRStatestring
-private fun state__39dtrue_39d: LRState_39dtrue_39d do return once new LRState_39dtrue_39d
-private fun state__39dfalse_39d: LRState_39dfalse_39d do return once new LRState_39dfalse_39d
-private fun state__39dnull_39d: LRState_39dnull_39d do return once new LRState_39dnull_39d
-private fun state__39d_123d_39d: LRState_39d_123d_39d do return once new LRState_39d_123d_39d
-private fun state__39d_91d_39d: LRState_39d_91d_39d do return once new LRState_39d_91d_39d
-private fun state_value_32dEof: LRStatevalue_32dEof do return once new LRStatevalue_32dEof
-private fun state__39d_123d_39d_32dmembers: LRState_39d_123d_39d_32dmembers do return once new LRState_39d_123d_39d_32dmembers
-private fun state__39d_123d_39d_32d_39d_125d_39d: LRState_39d_123d_39d_32d_39d_125d_39d do return once new LRState_39d_123d_39d_32d_39d_125d_39d
-private fun state__39d_123d_39d_32dpair: LRState_39d_123d_39d_32dpair do return once new LRState_39d_123d_39d_32dpair
-private fun state__39d_123d_39d_32dstring: LRState_39d_123d_39d_32dstring do return once new LRState_39d_123d_39d_32dstring
-private fun state__39d_91d_39d_32delements: LRState_39d_91d_39d_32delements do return once new LRState_39d_91d_39d_32delements
-private fun state__39d_91d_39d_32d_39d_93d_39d: LRState_39d_91d_39d_32d_39d_93d_39d do return once new LRState_39d_91d_39d_32d_39d_93d_39d
-private fun state__39d_91d_39d_32dvalue: LRState_39d_91d_39d_32dvalue do return once new LRState_39d_91d_39d_32dvalue
-private fun state__39d_123d_39d_32dmembers_32d_39d_125d_39d: LRState_39d_123d_39d_32dmembers_32d_39d_125d_39d do return once new LRState_39d_123d_39d_32dmembers_32d_39d_125d_39d
-private fun state__39d_123d_39d_32dmembers_32d_39d_44d_39d: LRState_39d_123d_39d_32dmembers_32d_39d_44d_39d do return once new LRState_39d_123d_39d_32dmembers_32d_39d_44d_39d
-private fun state__39d_123d_39d_32dstring_32d_39d_58d_39d: LRState_39d_123d_39d_32dstring_32d_39d_58d_39d do return once new LRState_39d_123d_39d_32dstring_32d_39d_58d_39d
-private fun state__39d_91d_39d_32delements_32d_39d_93d_39d: LRState_39d_91d_39d_32delements_32d_39d_93d_39d do return once new LRState_39d_91d_39d_32delements_32d_39d_93d_39d
-private fun state__39d_91d_39d_32delements_32d_39d_44d_39d: LRState_39d_91d_39d_32delements_32d_39d_44d_39d do return once new LRState_39d_91d_39d_32delements_32d_39d_44d_39d
-private fun state__39d_123d_39d_32dmembers_32d_39d_44d_39d_32dpair: LRState_39d_123d_39d_32dmembers_32d_39d_44d_39d_32dpair do return once new LRState_39d_123d_39d_32dmembers_32d_39d_44d_39d_32dpair
-private fun state__39d_123d_39d_32dstring_32d_39d_58d_39d_32dvalue: LRState_39d_123d_39d_32dstring_32d_39d_58d_39d_32dvalue do return once new LRState_39d_123d_39d_32dstring_32d_39d_58d_39d_32dvalue
-private fun state__39d_91d_39d_32delements_32d_39d_44d_39d_32dvalue: LRState_39d_91d_39d_32delements_32d_39d_44d_39d_32dvalue do return once new LRState_39d_91d_39d_32delements_32d_39d_44d_39d_32dvalue
-private fun goto_Nvalue: Goto_Nvalue do return once new Goto_Nvalue
-private fun reduce_Nvalue_number(parser: Parser) do
- # REDUCE value::value_number=number
- var n0 = parser.pop.as(Nnumber)
- var p1 = new Nvalue_number(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nvalue)
-end
-private fun reduce_Nvalue_string(parser: Parser) do
- # REDUCE value::value_string=string
- var n0 = parser.pop.as(Nstring)
- var p1 = new Nvalue_string(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nvalue)
-end
-private fun reduce_Nvalue_true(parser: Parser) do
- # REDUCE value::value_true='true'
- var n0 = parser.pop.as(N_39dtrue_39d)
- var p1 = new Nvalue_true(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nvalue)
-end
-private fun reduce_Nvalue_false(parser: Parser) do
- # REDUCE value::value_false='false'
- var n0 = parser.pop.as(N_39dfalse_39d)
- var p1 = new Nvalue_false(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nvalue)
-end
-private fun reduce_Nvalue_null(parser: Parser) do
- # REDUCE value::value_null='null'
- var n0 = parser.pop.as(N_39dnull_39d)
- var p1 = new Nvalue_null(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nvalue)
-end
-private fun reduce_Nvalue_object_95d0(parser: Parser) do
- # REDUCE value::value_object_0='{' members '}'
- var n2 = parser.pop.as(N_39d_125d_39d)
- var n1 = parser.pop.as(Nmembers)
- var n0 = parser.pop.as(N_39d_123d_39d)
- var p1 = new Nvalue_object(n0, n1, n2)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nvalue)
-end
-private fun reduce_Nvalue_object_95d1(parser: Parser) do
- # REDUCE value::value_object_1='{' '}'
- var n1 = parser.pop.as(N_39d_125d_39d)
- var n0 = parser.pop.as(N_39d_123d_39d)
- var p1 = new Nvalue_object(n0, null, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nvalue)
-end
-private fun reduce_Nvalue_array_95d0(parser: Parser) do
- # REDUCE value::value_array_0='[' elements ']'
- var n2 = parser.pop.as(N_39d_93d_39d)
- var n1 = parser.pop.as(Nelements)
- var n0 = parser.pop.as(N_39d_91d_39d)
- var p1 = new Nvalue_array(n0, n1, n2)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nvalue)
-end
-private fun reduce_Nvalue_array_95d1(parser: Parser) do
- # REDUCE value::value_array_1='[' ']'
- var n1 = parser.pop.as(N_39d_93d_39d)
- var n0 = parser.pop.as(N_39d_91d_39d)
- var p1 = new Nvalue_array(n0, null, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nvalue)
-end
-private fun goto_Nmembers: Goto_Nmembers do return once new Goto_Nmembers
-private fun reduce_Nmembers_tail(parser: Parser) do
- # REDUCE members::members_tail=members ',' pair
- var n2 = parser.pop.as(Npair)
- var n1 = parser.pop.as(N_39d_44d_39d)
- var n0 = parser.pop.as(Nmembers)
- var p1 = new Nmembers_tail(n0, n1, n2)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nmembers)
-end
-private fun reduce_Nmembers_head(parser: Parser) do
- # REDUCE members::members_head=pair
- var n0 = parser.pop.as(Npair)
- var p1 = new Nmembers_head(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nmembers)
-end
-private fun goto_Npair: Goto_Npair do return once new Goto_Npair
-private fun reduce_Npair(parser: Parser) do
- # REDUCE pair::pair=string ':' value
- var n2 = parser.pop.as(Nvalue)
- var n1 = parser.pop.as(N_39d_58d_39d)
- var n0 = parser.pop.as(Nstring)
- var p1 = new Npair(n0, n1, n2)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Npair)
-end
-private fun goto_Nelements: Goto_Nelements do return once new Goto_Nelements
-private fun reduce_Nelements_tail(parser: Parser) do
- # REDUCE elements::elements_tail=elements ',' value
- var n2 = parser.pop.as(Nvalue)
- var n1 = parser.pop.as(N_39d_44d_39d)
- var n0 = parser.pop.as(Nelements)
- var p1 = new Nelements_tail(n0, n1, n2)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nelements)
-end
-private fun reduce_Nelements_head(parser: Parser) do
- # REDUCE elements::elements_head=value
- var n0 = parser.pop.as(Nvalue)
- var p1 = new Nelements_head(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nelements)
-end
-private fun goto_N_start: Goto_N_start do return once new Goto_N_start
-private fun reduce_NStart(parser: Parser) do
- # REDUCE _start::Start=value Eof
- var n1 = parser.pop.as(NEof)
- var n0 = parser.pop.as(Nvalue)
- var p1 = new NStart(n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.stop = true
-end
-redef class NToken
- # guarded action for state Start
- # 7 shift(s) and 0 reduce(s)
- private fun action_sStart(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state value
- # 1 shift(s) and 0 reduce(s)
- private fun action_svalue(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state '{'
- # 2 shift(s) and 0 reduce(s)
- private fun action_s_39d_123d_39d(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state '['
- # 8 shift(s) and 0 reduce(s)
- private fun action_s_39d_91d_39d(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state '{' members
- # 2 shift(s) and 0 reduce(s)
- private fun action_s_39d_123d_39d_32dmembers(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state '{' string
- # 1 shift(s) and 0 reduce(s)
- private fun action_s_39d_123d_39d_32dstring(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state '[' elements
- # 2 shift(s) and 0 reduce(s)
- private fun action_s_39d_91d_39d_32delements(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state '{' members ','
- # 1 shift(s) and 0 reduce(s)
- private fun action_s_39d_123d_39d_32dmembers_32d_39d_44d_39d(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state '{' string ':'
- # 7 shift(s) and 0 reduce(s)
- private fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state '[' elements ','
- # 7 shift(s) and 0 reduce(s)
- private fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser: Parser) do
- parser.parse_error
- end
-end
-class N_39d_123d_39d
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state__39d_123d_39d)
- end
- redef fun action_s_39d_91d_39d(parser) do
- parser.shift(state__39d_123d_39d)
- end
- redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
- parser.shift(state__39d_123d_39d)
- end
- redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
- parser.shift(state__39d_123d_39d)
- end
- redef fun node_name do return "\'\{\'"
-end
-class N_39d_125d_39d
- super NToken
- redef fun action_s_39d_123d_39d(parser) do
- parser.shift(state__39d_123d_39d_32d_39d_125d_39d)
- end
- redef fun action_s_39d_123d_39d_32dmembers(parser) do
- parser.shift(state__39d_123d_39d_32dmembers_32d_39d_125d_39d)
- end
- redef fun node_name do return "\'\}\'"
-end
-class N_39d_91d_39d
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state__39d_91d_39d)
- end
- redef fun action_s_39d_91d_39d(parser) do
- parser.shift(state__39d_91d_39d)
- end
- redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
- parser.shift(state__39d_91d_39d)
- end
- redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
- parser.shift(state__39d_91d_39d)
- end
- redef fun node_name do return "\'[\'"
-end
-class N_39d_93d_39d
- super NToken
- redef fun action_s_39d_91d_39d(parser) do
- parser.shift(state__39d_91d_39d_32d_39d_93d_39d)
- end
- redef fun action_s_39d_91d_39d_32delements(parser) do
- parser.shift(state__39d_91d_39d_32delements_32d_39d_93d_39d)
- end
- redef fun node_name do return "\']\'"
-end
-class Nnumber
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_number)
- end
- redef fun action_s_39d_91d_39d(parser) do
- parser.shift(state_number)
- end
- redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
- parser.shift(state_number)
- end
- redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
- parser.shift(state_number)
- end
- redef fun node_name do return "number"
-end
-class Nstring
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_string)
- end
- redef fun action_s_39d_123d_39d(parser) do
- parser.shift(state__39d_123d_39d_32dstring)
- end
- redef fun action_s_39d_91d_39d(parser) do
- parser.shift(state_string)
- end
- redef fun action_s_39d_123d_39d_32dmembers_32d_39d_44d_39d(parser) do
- parser.shift(state__39d_123d_39d_32dstring)
- end
- redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
- parser.shift(state_string)
- end
- redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
- parser.shift(state_string)
- end
- redef fun node_name do return "string"
-end
-class N_39dtrue_39d
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state__39dtrue_39d)
- end
- redef fun action_s_39d_91d_39d(parser) do
- parser.shift(state__39dtrue_39d)
- end
- redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
- parser.shift(state__39dtrue_39d)
- end
- redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
- parser.shift(state__39dtrue_39d)
- end
- redef fun node_name do return "\'true\'"
-end
-class N_39dfalse_39d
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state__39dfalse_39d)
- end
- redef fun action_s_39d_91d_39d(parser) do
- parser.shift(state__39dfalse_39d)
- end
- redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
- parser.shift(state__39dfalse_39d)
- end
- redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
- parser.shift(state__39dfalse_39d)
- end
- redef fun node_name do return "\'false\'"
-end
-class N_39dnull_39d
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state__39dnull_39d)
- end
- redef fun action_s_39d_91d_39d(parser) do
- parser.shift(state__39dnull_39d)
- end
- redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
- parser.shift(state__39dnull_39d)
- end
- redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
- parser.shift(state__39dnull_39d)
- end
- redef fun node_name do return "\'null\'"
-end
-class N_39d_44d_39d
- super NToken
- redef fun action_s_39d_123d_39d_32dmembers(parser) do
- parser.shift(state__39d_123d_39d_32dmembers_32d_39d_44d_39d)
- end
- redef fun action_s_39d_91d_39d_32delements(parser) do
- parser.shift(state__39d_91d_39d_32delements_32d_39d_44d_39d)
- end
- redef fun node_name do return "\',\'"
-end
-class N_39d_58d_39d
- super NToken
- redef fun action_s_39d_123d_39d_32dstring(parser) do
- parser.shift(state__39d_123d_39d_32dstring_32d_39d_58d_39d)
- end
- redef fun node_name do return "\':\'"
-end
-redef class NEof
- super NToken
- redef fun action_svalue(parser) do
- parser.shift(state_value_32dEof)
- end
- redef fun node_name do return "Eof"
-end
-redef class LRGoto
- private fun goto_s_39d_123d_39d(parser: Parser) do abort
- private fun goto_s_39d_91d_39d(parser: Parser) do abort
-end
-class Goto_Nvalue
- super LRGoto
- redef fun goto_s_39d_91d_39d(parser) do
- parser.push(state__39d_91d_39d_32dvalue)
- end
-end
-class Goto_Nmembers
- super LRGoto
- redef fun goto_s_39d_123d_39d(parser) do
- parser.push(state__39d_123d_39d_32dmembers)
- end
-end
-class Goto_Npair
- super LRGoto
- redef fun goto_s_39d_123d_39d(parser) do
- parser.push(state__39d_123d_39d_32dpair)
- end
-end
-class Goto_Nelements
- super LRGoto
- redef fun goto_s_39d_91d_39d(parser) do
- parser.push(state__39d_91d_39d_32delements)
- end
-end
-class Goto_N_start
- super LRGoto
-end
-class Nvalue
- super NProd
- redef fun node_name do return "value"
-end
-class Nvalue_number
- super Nvalue
- redef fun node_name do return "value_number"
- var n_number: Nnumber
- init(n_number: Nnumber) do
- self.n_number = n_number
- end
- redef fun number_of_children do return 1
- redef fun child(i) do
- if i == 0 then return n_number
- abort
- end
-end
-class Nvalue_string
- super Nvalue
- redef fun node_name do return "value_string"
- var n_string: Nstring
- init(n_string: Nstring) do
- self.n_string = n_string
- end
- redef fun number_of_children do return 1
- redef fun child(i) do
- if i == 0 then return n_string
- abort
- end
-end
-class Nvalue_true
- super Nvalue
- redef fun node_name do return "value_true"
- var n_0: N_39dtrue_39d
- init(n_0: N_39dtrue_39d) do
- self.n_0 = n_0
- end
- redef fun number_of_children do return 1
- redef fun child(i) do
- if i == 0 then return n_0
- abort
- end
-end
-class Nvalue_false
- super Nvalue
- redef fun node_name do return "value_false"
- var n_0: N_39dfalse_39d
- init(n_0: N_39dfalse_39d) do
- self.n_0 = n_0
- end
- redef fun number_of_children do return 1
- redef fun child(i) do
- if i == 0 then return n_0
- abort
- end
-end
-class Nvalue_null
- super Nvalue
- redef fun node_name do return "value_null"
- var n_0: N_39dnull_39d
- init(n_0: N_39dnull_39d) do
- self.n_0 = n_0
- end
- redef fun number_of_children do return 1
- redef fun child(i) do
- if i == 0 then return n_0
- abort
- end
-end
-class Nvalue_object
- super Nvalue
- redef fun node_name do return "value_object"
- var n_0: N_39d_123d_39d
- var n_members: nullable Nmembers
- var n_2: N_39d_125d_39d
- init(n_0: N_39d_123d_39d, n_members: nullable Nmembers, n_2: N_39d_125d_39d) do
- self.n_0 = n_0
- self.n_members = n_members
- self.n_2 = n_2
- end
- redef fun number_of_children do return 3
- redef fun child(i) do
- if i == 0 then return n_0
- if i == 1 then return n_members
- if i == 2 then return n_2
- abort
- end
-end
-class Nvalue_array
- super Nvalue
- redef fun node_name do return "value_array"
- var n_0: N_39d_91d_39d
- var n_elements: nullable Nelements
- var n_2: N_39d_93d_39d
- init(n_0: N_39d_91d_39d, n_elements: nullable Nelements, n_2: N_39d_93d_39d) do
- self.n_0 = n_0
- self.n_elements = n_elements
- self.n_2 = n_2
- end
- redef fun number_of_children do return 3
- redef fun child(i) do
- if i == 0 then return n_0
- if i == 1 then return n_elements
- if i == 2 then return n_2
- abort
- end
-end
-class Nmembers
- super NProd
- redef fun node_name do return "members"
-end
-class Nmembers_tail
- super Nmembers
- redef fun node_name do return "members_tail"
- var n_members: Nmembers
- var n_1: N_39d_44d_39d
- var n_pair: Npair
- init(n_members: Nmembers, n_1: N_39d_44d_39d, n_pair: Npair) do
- self.n_members = n_members
- self.n_1 = n_1
- self.n_pair = n_pair
- end
- redef fun number_of_children do return 3
- redef fun child(i) do
- if i == 0 then return n_members
- if i == 1 then return n_1
- if i == 2 then return n_pair
- abort
- end
-end
-class Nmembers_head
- super Nmembers
- redef fun node_name do return "members_head"
- var n_pair: Npair
- init(n_pair: Npair) do
- self.n_pair = n_pair
- end
- redef fun number_of_children do return 1
- redef fun child(i) do
- if i == 0 then return n_pair
- abort
- end
-end
-class Npair
- super NProd
- redef fun node_name do return "pair"
- var n_string: Nstring
- var n_1: N_39d_58d_39d
- var n_value: Nvalue
- init(n_string: Nstring, n_1: N_39d_58d_39d, n_value: Nvalue) do
- self.n_string = n_string
- self.n_1 = n_1
- self.n_value = n_value
- end
- redef fun number_of_children do return 3
- redef fun child(i) do
- if i == 0 then return n_string
- if i == 1 then return n_1
- if i == 2 then return n_value
- abort
- end
-end
-class Nelements
- super NProd
- redef fun node_name do return "elements"
-end
-class Nelements_tail
- super Nelements
- redef fun node_name do return "elements_tail"
- var n_elements: Nelements
- var n_1: N_39d_44d_39d
- var n_value: Nvalue
- init(n_elements: Nelements, n_1: N_39d_44d_39d, n_value: Nvalue) do
- self.n_elements = n_elements
- self.n_1 = n_1
- self.n_value = n_value
- end
- redef fun number_of_children do return 3
- redef fun child(i) do
- if i == 0 then return n_elements
- if i == 1 then return n_1
- if i == 2 then return n_value
- abort
- end
-end
-class Nelements_head
- super Nelements
- redef fun node_name do return "elements_head"
- var n_value: Nvalue
- init(n_value: Nvalue) do
- self.n_value = n_value
- end
- redef fun number_of_children do return 1
- redef fun child(i) do
- if i == 0 then return n_value
- abort
- end
-end
-class N_start
- super NProd
- redef fun node_name do return "_start"
-end
-class NStart
- super N_start
- redef fun node_name do return "Start"
- var n_0: Nvalue
- var n_1: NEof
- init(n_0: Nvalue, n_1: NEof) do
- self.n_0 = n_0
- self.n_1 = n_1
- end
- redef fun number_of_children do return 2
- redef fun child(i) do
- if i == 0 then return n_0
- if i == 1 then return n_1
- abort
- end
-end
-# State Start
-private class LRStateStart
- super LRState
- redef fun to_s do return "Start"
- redef fun error_msg do return "value"
- redef fun action(parser) do
- parser.peek_token.action_sStart(parser)
- end
- redef fun goto(parser, goto) do
- parser.push(state_value)
- end
-end
-# State value
-private class LRStatevalue
- super LRState
- redef fun to_s do return "value"
- redef fun error_msg do return "Eof"
- redef fun action(parser) do
- parser.peek_token.action_svalue(parser)
- end
-end
-# State number
-private class LRStatenumber
- super LRState
- redef fun to_s do return "number"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nvalue_number(parser)
- end
-end
-# State string
-private class LRStatestring
- super LRState
- redef fun to_s do return "string"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nvalue_string(parser)
- end
-end
-# State 'true'
-private class LRState_39dtrue_39d
- super LRState
- redef fun to_s do return "\'true\'"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nvalue_true(parser)
- end
-end
-# State 'false'
-private class LRState_39dfalse_39d
- super LRState
- redef fun to_s do return "\'false\'"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nvalue_false(parser)
- end
-end
-# State 'null'
-private class LRState_39dnull_39d
- super LRState
- redef fun to_s do return "\'null\'"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nvalue_null(parser)
- end
-end
-# State '{'
-private class LRState_39d_123d_39d
- super LRState
- redef fun to_s do return "\'\{\'"
- redef fun error_msg do return "members, pair"
- redef fun action(parser) do
- parser.peek_token.action_s_39d_123d_39d(parser)
- end
- redef fun goto(parser, goto) do
- goto.goto_s_39d_123d_39d(parser)
- end
-end
-# State '['
-private class LRState_39d_91d_39d
- super LRState
- redef fun to_s do return "\'[\'"
- redef fun error_msg do return "elements, value"
- redef fun action(parser) do
- parser.peek_token.action_s_39d_91d_39d(parser)
- end
- redef fun goto(parser, goto) do
- goto.goto_s_39d_91d_39d(parser)
- end
-end
-# State value Eof
-private class LRStatevalue_32dEof
- super LRState
- redef fun to_s do return "value Eof"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_NStart(parser)
- end
-end
-# State '{' members
-private class LRState_39d_123d_39d_32dmembers
- super LRState
- redef fun to_s do return "\'\{\' members"
- redef fun error_msg do return "\'\}\', \',\'"
- redef fun action(parser) do
- parser.peek_token.action_s_39d_123d_39d_32dmembers(parser)
- end
-end
-# State '{' '}'
-private class LRState_39d_123d_39d_32d_39d_125d_39d
- super LRState
- redef fun to_s do return "\'\{\' \'\}\'"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nvalue_object_95d1(parser)
- end
-end
-# State '{' pair
-private class LRState_39d_123d_39d_32dpair
- super LRState
- redef fun to_s do return "\'\{\' pair"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nmembers_head(parser)
- end
-end
-# State '{' string
-private class LRState_39d_123d_39d_32dstring
- super LRState
- redef fun to_s do return "\'\{\' string"
- redef fun error_msg do return "\':\'"
- redef fun action(parser) do
- parser.peek_token.action_s_39d_123d_39d_32dstring(parser)
- end
-end
-# State '[' elements
-private class LRState_39d_91d_39d_32delements
- super LRState
- redef fun to_s do return "\'[\' elements"
- redef fun error_msg do return "\']\', \',\'"
- redef fun action(parser) do
- parser.peek_token.action_s_39d_91d_39d_32delements(parser)
- end
-end
-# State '[' ']'
-private class LRState_39d_91d_39d_32d_39d_93d_39d
- super LRState
- redef fun to_s do return "\'[\' \']\'"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nvalue_array_95d1(parser)
- end
-end
-# State '[' value
-private class LRState_39d_91d_39d_32dvalue
- super LRState
- redef fun to_s do return "\'[\' value"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nelements_head(parser)
- end
-end
-# State '{' members '}'
-private class LRState_39d_123d_39d_32dmembers_32d_39d_125d_39d
- super LRState
- redef fun to_s do return "\'\{\' members \'\}\'"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nvalue_object_95d0(parser)
- end
-end
-# State '{' members ','
-private class LRState_39d_123d_39d_32dmembers_32d_39d_44d_39d
- super LRState
- redef fun to_s do return "\'\{\' members \',\'"
- redef fun error_msg do return "pair"
- redef fun action(parser) do
- parser.peek_token.action_s_39d_123d_39d_32dmembers_32d_39d_44d_39d(parser)
- end
- redef fun goto(parser, goto) do
- parser.push(state__39d_123d_39d_32dmembers_32d_39d_44d_39d_32dpair)
- end
-end
-# State '{' string ':'
-private class LRState_39d_123d_39d_32dstring_32d_39d_58d_39d
- super LRState
- redef fun to_s do return "\'\{\' string \':\'"
- redef fun error_msg do return "value"
- redef fun action(parser) do
- parser.peek_token.action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser)
- end
- redef fun goto(parser, goto) do
- parser.push(state__39d_123d_39d_32dstring_32d_39d_58d_39d_32dvalue)
- end
-end
-# State '[' elements ']'
-private class LRState_39d_91d_39d_32delements_32d_39d_93d_39d
- super LRState
- redef fun to_s do return "\'[\' elements \']\'"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nvalue_array_95d0(parser)
- end
-end
-# State '[' elements ','
-private class LRState_39d_91d_39d_32delements_32d_39d_44d_39d
- super LRState
- redef fun to_s do return "\'[\' elements \',\'"
- redef fun error_msg do return "value"
- redef fun action(parser) do
- parser.peek_token.action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser)
- end
- redef fun goto(parser, goto) do
- parser.push(state__39d_91d_39d_32delements_32d_39d_44d_39d_32dvalue)
- end
-end
-# State '{' members ',' pair
-private class LRState_39d_123d_39d_32dmembers_32d_39d_44d_39d_32dpair
- super LRState
- redef fun to_s do return "\'\{\' members \',\' pair"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nmembers_tail(parser)
- end
-end
-# State '{' string ':' value
-private class LRState_39d_123d_39d_32dstring_32d_39d_58d_39d_32dvalue
- super LRState
- redef fun to_s do return "\'\{\' string \':\' value"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Npair(parser)
- end
-end
-# State '[' elements ',' value
-private class LRState_39d_91d_39d_32delements_32d_39d_44d_39d_32dvalue
- super LRState
- redef fun to_s do return "\'[\' elements \',\' value"
- redef fun error_msg do return ""
- redef fun action(parser) do
- reduce_Nelements_tail(parser)
- end
-end