chromium/v8/src/torque/ls/json-parser.cc

// Copyright 2019 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#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) {}

}  // namespace ls
}  // namespace v8::internal::torque