#include "src/torque/ls/json-parser.h"
#include <cctype>
#include <optional>
#include "src/torque/earley-parser.h"
namespace v8::internal::torque {
template <>
V8_EXPORT_PRIVATE const ParseResultTypeId ParseResultHolder<ls::JsonValue>::id = …;
template <>
V8_EXPORT_PRIVATE const ParseResultTypeId
ParseResultHolder<std::pair<std::string, ls::JsonValue>>::id = …;
template <>
V8_EXPORT_PRIVATE const ParseResultTypeId
ParseResultHolder<std::vector<ls::JsonValue>>::id = …;
template <>
V8_EXPORT_PRIVATE const ParseResultTypeId
ParseResultHolder<std::vector<std::pair<std::string, ls::JsonValue>>>::id = …;
namespace ls {
JsonMember;
template <bool value>
std::optional<ParseResult> MakeBoolLiteral(ParseResultIterator* child_results) { … }
std::optional<ParseResult> MakeNullLiteral(ParseResultIterator* child_results) { … }
std::optional<ParseResult> MakeNumberLiteral(
ParseResultIterator* child_results) { … }
std::optional<ParseResult> MakeStringLiteral(
ParseResultIterator* child_results) { … }
std::optional<ParseResult> MakeArray(ParseResultIterator* child_results) { … }
std::optional<ParseResult> MakeMember(ParseResultIterator* child_results) { … }
std::optional<ParseResult> MakeObject(ParseResultIterator* child_results) { … }
class JsonGrammar : public Grammar { … };
JsonParserResult ParseJson(const std::string& input) { … }
}
}