mirror of
https://github.com/matrix-construct/construct
synced 2024-09-29 20:28:52 +02:00
ircd::json: Checkpoint output grammar cleanup.
This commit is contained in:
parent
99608b6bd2
commit
b949a1f3dc
1 changed files with 18 additions and 19 deletions
37
ircd/json.cc
37
ircd/json.cc
|
@ -226,35 +226,34 @@ struct ircd::json::output
|
||||||
,"name"
|
,"name"
|
||||||
};
|
};
|
||||||
|
|
||||||
const rule<string_view> value
|
rule<json::object> object
|
||||||
{
|
|
||||||
(&object << object)
|
|
||||||
| (&array << array)
|
|
||||||
| (&literal << literal)
|
|
||||||
| ("e << chars << "e)
|
|
||||||
| (&number << number)
|
|
||||||
| (&string << string)
|
|
||||||
,"value"
|
|
||||||
};
|
|
||||||
|
|
||||||
const rule<json::object::member> member
|
|
||||||
{
|
|
||||||
name << name_sep << value
|
|
||||||
,"member"
|
|
||||||
};
|
|
||||||
|
|
||||||
const rule<ircd::json::object> object
|
|
||||||
{
|
{
|
||||||
object_begin << -(member % value_sep) << object_end
|
object_begin << -(member % value_sep) << object_end
|
||||||
,"object"
|
,"object"
|
||||||
};
|
};
|
||||||
|
|
||||||
const rule<ircd::json::array> array
|
rule<json::array> array
|
||||||
{
|
{
|
||||||
array_begin << -(value % value_sep) << array_end
|
array_begin << -(value % value_sep) << array_end
|
||||||
,"array"
|
,"array"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
rule<json::object::member> member
|
||||||
|
{
|
||||||
|
name << name_sep << value
|
||||||
|
,"member"
|
||||||
|
};
|
||||||
|
|
||||||
|
rule<string_view> value
|
||||||
|
{
|
||||||
|
(&object << object)
|
||||||
|
| (&array << array)
|
||||||
|
| (&literal << literal)
|
||||||
|
| (&number << number)
|
||||||
|
| (&string << string)
|
||||||
|
,"value"
|
||||||
|
};
|
||||||
|
|
||||||
output()
|
output()
|
||||||
:output::base_type{rule<>{}}
|
:output::base_type{rule<>{}}
|
||||||
{}
|
{}
|
||||||
|
|
Loading…
Reference in a new issue