30 lines
1.4 KiB
Go
30 lines
1.4 KiB
Go
|
// Copyright 2018 The Go Authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
// Package text implements the text format for protocol buffers.
|
||
|
// This package has no semantic understanding for protocol buffers and is only
|
||
|
// a parser and composer for the format.
|
||
|
//
|
||
|
// There is no formal specification for the protobuf text format, as such the
|
||
|
// C++ implementation (see google::protobuf::TextFormat) is the reference
|
||
|
// implementation of the text format.
|
||
|
//
|
||
|
// This package is neither a superset nor a subset of the C++ implementation.
|
||
|
// This implementation permits a more liberal grammar in some cases to be
|
||
|
// backwards compatible with the historical Go implementation.
|
||
|
// Future parsings unique to Go should not be added.
|
||
|
// Some grammars allowed by the C++ implementation are deliberately
|
||
|
// not implemented here because they are considered a bug by the protobuf team
|
||
|
// and should not be replicated.
|
||
|
//
|
||
|
// The Go implementation should implement a sufficient amount of the C++
|
||
|
// grammar such that the default text serialization by C++ can be parsed by Go.
|
||
|
// However, just because the C++ parser accepts some input does not mean that
|
||
|
// the Go implementation should as well.
|
||
|
//
|
||
|
// The text format is almost a superset of JSON except:
|
||
|
// - message keys are not quoted strings, but identifiers
|
||
|
// - the top-level value must be a message without the delimiters
|
||
|
package text
|