Skip to content

Commit b4bbe54

Browse files
committed
Wrap lines to 80 characters
1 parent e79bdc7 commit b4bbe54

File tree

1 file changed

+50
-15
lines changed

1 file changed

+50
-15
lines changed

Diff for: main.tex

+50-15
Original file line numberDiff line numberDiff line change
@@ -118,28 +118,42 @@
118118
\maketitle
119119

120120
\begin{abstract}
121-
The JSON5 Data Interchange Format is a proposed extension to JSON that aims to make it easier for humans to write and maintain by hand. It does this by adding some minimal syntax features directly from ECMAScript 5.1.
121+
The JSON5 Data Interchange Format is a proposed extension to JSON that aims to
122+
make it easier for humans to write and maintain by hand. It does this by adding
123+
some minimal syntax features directly from ECMAScript 5.1.
122124
\end{abstract}
123125

124126
\tableofcontents
125127

126128
\section{Introduction}
127129

128-
JSON \cite{json} \cite{rfc7159} is an excellent data interchange format, but it has limitations that can cause problems when written by hand. The JSON5 Data Interchange Format (JSON5) is a proposed extension to JSON that aims to alleviate some of the limitations of JSON by expanding its syntax to include some productions from ECMAScript 5.1 \cite{es5}.
130+
JSON \cite{json} \cite{rfc7159} is an excellent data interchange format, but it
131+
has limitations that can cause problems when written by hand. The JSON5 Data
132+
Interchange Format (JSON5) is a proposed extension to JSON that aims to
133+
alleviate some of the limitations of JSON by expanding its syntax to include
134+
some productions from ECMAScript 5.1 \cite{es5}.
129135

130-
JSON5 is a subset of ECMAScript 5.1 that adds no new data types, and is backwards compatible with JSON documents.
136+
JSON5 is a subset of ECMAScript 5.1 that adds no new data types, and is
137+
backwards compatible with JSON documents.
131138

132-
Similar to JSON, JSON5 can represent four primitive types (strings, numbers, booleans, and null) and two structured types (objects and arrays).
139+
Similar to JSON, JSON5 can represent four primitive types (strings, numbers,
140+
booleans, and null) and two structured types (objects and arrays).
133141

134-
A string is a sequence of zero or more Unicode characters \cite{unicode}. Note that this citation references the latest version of Unicode rather than a specific release. It is not expected that future changes in the Unicode specification will impact the syntax of JSON5.
142+
A string is a sequence of zero or more Unicode characters \cite{unicode}. Note
143+
that this citation references the latest version of Unicode rather than a
144+
specific release. It is not expected that future changes in the Unicode
145+
specification will impact the syntax of JSON5.
135146

136-
An object is an unordered collection of zero or more name/value pairs, where a name is a string or identifier and a value is a string, number, boolean, null, object, or array.
147+
An object is an unordered collection of zero or more name/value pairs, where a
148+
name is a string or identifier and a value is a string, number, boolean, null,
149+
object, or array.
137150

138151
An array is an ordered sequence of zero or more values.
139152

140153
\subsection{Summary of Features}
141154

142-
The following ECMAScript 5.1 features, which are not supported in JSON, have been extended to JSON5.
155+
The following ECMAScript 5.1 features, which are not supported in JSON, have
156+
been extended to JSON5.
143157

144158
\subsubsection*{Objects}
145159

@@ -219,17 +233,29 @@ \subsection{Short Example}
219233

220234
\section{Grammar}
221235

222-
JSON5 is defined by a lexical grammar and a syntactic grammar. The lexical grammar defines productions that translate text into tokens, and the syntactic grammar defines productions that translate tokens into a JSON5 value.
236+
JSON5 is defined by a lexical grammar and a syntactic grammar. The lexical
237+
grammar defines productions that translate text into tokens, and the syntactic
238+
grammar defines productions that translate tokens into a JSON5 value.
223239

224-
All productions that do not begin with the characters ``JSON5'' are defined by productions of the \esref{ECMAScript 5.1 Lexical Grammar}{5.1.2} \cite{es5}.
240+
All productions that do not begin with the characters ``JSON5'' are defined by
241+
productions of the \esref{ECMAScript 5.1 Lexical Grammar}{5.1.2} \cite{es5}.
225242

226243
\subsection{Lexical Grammar}
227244

228-
The lexical grammar for JSON5 has as its terminal symbols characters (Unicode code units \cite{unicode}) that conform to the rules for \token{JSON5SourceCharacter}. It defines a set of productions, starting from the goal symbol \token{JSON5InputElement}, that describe how sequences of such characters are translated into a sequence of input elements.
245+
The lexical grammar for JSON5 has as its terminal symbols characters (Unicode
246+
code units \cite{unicode}) that conform to the rules for
247+
\token{JSON5SourceCharacter}. It defines a set of productions, starting from the
248+
goal symbol \token{JSON5InputElement}, that describe how sequences of such
249+
characters are translated into a sequence of input elements.
229250

230-
Input elements other than whitespace and comments form the terminal symbols for the syntactic grammar for JSON5 and are called tokens. These tokens are the identifiers, literals, and punctuators of the JSON5 language. Simple whitespace and comments are discarded and do not appear in the stream of input elements for the syntactic grammar.
251+
Input elements other than whitespace and comments form the terminal symbols for
252+
the syntactic grammar for JSON5 and are called tokens. These tokens are the
253+
identifiers, literals, and punctuators of the JSON5 language. Simple whitespace
254+
and comments are discarded and do not appear in the stream of input elements for
255+
the syntactic grammar.
231256

232-
Productions of the lexical grammar are distinguished by having two colons ``::'' as separating punctuation.
257+
Productions of the lexical grammar are distinguished by having two colons ``::''
258+
as separating punctuation.
233259

234260
\subsubsection*{Syntax}
235261

@@ -298,11 +324,20 @@ \subsubsection*{Syntax}
298324

299325
\subsection{Syntactic Grammar}
300326

301-
The syntactic grammar for JSON5 has tokens defined by the lexical grammar as its terminal symbols. It defines a set of productions, starting from the goal symbol \token{JSON5Text}, that describe how sequences of tokens can form syntactically correct JSON5 values.
327+
The syntactic grammar for JSON5 has tokens defined by the lexical grammar as its
328+
terminal symbols. It defines a set of productions, starting from the goal symbol
329+
\token{JSON5Text}, that describe how sequences of tokens can form syntactically
330+
correct JSON5 values.
302331

303-
When a stream of characters is to be parsed as a JSON5 value, it is first converted to a stream of input elements by repeated application of the lexical grammar; this stream of input elements is then parsed by a single application of the syntactic grammar. The program is syntactically in error if the tokens in the stream of input elements cannot be parsed as a single instance of the goal nonterminal \token{JSON5Text}, with no tokens left over.
332+
When a stream of characters is to be parsed as a JSON5 value, it is first
333+
converted to a stream of input elements by repeated application of the lexical
334+
grammar; this stream of input elements is then parsed by a single application of
335+
the syntactic grammar. The program is syntactically in error if the tokens in
336+
the stream of input elements cannot be parsed as a single instance of the goal
337+
nonterminal \token{JSON5Text}, with no tokens left over.
304338

305-
Productions of the syntactic grammar are distinguished by having just one colon ``:'' as punctuation.
339+
Productions of the syntactic grammar are distinguished by having just one colon ``:''
340+
as punctuation.
306341

307342
\subsubsection*{Syntax}
308343

0 commit comments

Comments
 (0)