Спецификация ECMAScript 5.1 с аннотациями

Поделиться

Приложение A (информационное) Краткое описание грамматик #

A.1 Лексическая грамматика #

SourceCharacter ::См. Главу 6

любой символ Юникода

InputElementDiv ::См. Главу 7

WhiteSpace
LineTerminator
Comment
Token
DivPunctuator

InputElementRegExp ::См. Главу 7

WhiteSpace
LineTerminator
Comment
Token
RegularExpressionLiteral

WhiteSpace ::См. пункт 7.2

<TAB>
<VT>
<FF>
<SP>
<#x0a>
<BOM>
<USP>

LineTerminator ::См. пункт 7.3

<LF>
<CR>
<LS>
<PS>

LineTerminatorSequence ::См. пункт 7.3

<LF>
<CR> [lookahead <LF> ]
<LS>
<PS>
<CR> <LF>

Comment ::См. пункт 7.4

MultiLineComment
SingleLineComment

MultiLineComment ::См. пункт 7.4

/* MultiLineCommentCharsopt*/

MultiLineCommentChars ::См. пункт 7.4

MultiLineNotAsteriskChar MultiLineCommentCharsopt
* PostAsteriskCommentCharsopt

PostAsteriskCommentChars ::См. пункт 7.4

MultiLineNotForwardSlashOrAsteriskChar MultiLineCommentCharsopt
* PostAsteriskCommentCharsopt

MultiLineNotAsteriskChar ::См. пункт 7.4

SourceCharacter но не asterisk *

MultiLineNotForwardSlashOrAsteriskChar ::См. пункт 7.4

SourceCharacter но не forward-slash / илиasterisk *

SingleLineComment ::См. пункт 7.4

// SingleLineCommentCharsopt

SingleLineCommentChars ::См. пункт 7.4

SingleLineCommentChar SingleLineCommentCharsopt

SingleLineCommentChar ::См. пункт 7.4

SourceCharacter но не LineTerminator

Token ::См. пункт 7.5

IdentifierName
Punctuator
NumericLiteral
StringLiteral

Identifier ::См. пункт 7.6

IdentifierName но не ReservedWord

IdentifierName ::См. пункт 7.6

IdentifierStart
IdentifierName IdentifierPart

IdentifierStart ::См. пункт 7.6

UnicodeLetter
$
_

\ UnicodeEscapeSequence

IdentifierPart ::См. пункт 7.6

IdentifierStart
UnicodeCombiningMark
UnicodeDigit
UnicodeConnectorPunctuation
<ZWNJ>
<ZWJ>

UnicodeLetter См. пункт 7.6

– любой символ в категориях Юникода “Прописная буква (Lu)”, “Строчная буква (Ll)”, “Заглавная буква (Lt)”, “Буква-модификатор (Lm)”, “Другая буква (Lo)” или “Буква-число (Nl)”.

UnicodeCombiningMark См. пункт 7.6

– любой символ в категориях Юникода “Не-пробельный знак (Mn)” или “Комбинирующий пробельный знак (Mc)”

UnicodeDigit См. пункт 7.6

– любой символ в категории Юникода “Десятичное число (Nd)”

UnicodeConnectorPunctuation См. пункт 7.6

– любой символ в категории Юникода “Соединяющая пунктуация (Pc)”

ReservedWord ::См. пункт 7.6.1

Keyword
FutureReservedWord
NullLiteral
BooleanLiteral

Keyword :: один изСм. пункт 7.6.1.1

break

do

instanceof

typeof

case

else

new

var

catch

finally

return

void

continue

for

switch

while

debugger

function

this

with

default

if

throw

delete

in

try

FutureReservedWord :: один изСм. пункт 7.6.1.2

class

enum

extends

super

const

export

import

или в коде в строгом режиме один из

implements

let

private

public

interface

package

protected

static

yield

Punctuator :: один изСм. пункт 7.7

{

}

(

)

[

]

.

;

,

<

>

<=

>=

==

!=

===

!==

+

-

*

%

++

--

<<

>>

>>>

&

|

^

!

~

&&

||

?

:

=

+=

-=

*=

%=

<<=

>>=

>>>=

&=

|=

^=

DivPunctuator :: один изСм. пункт 7.7

/

/=

Literal ::См. пункт 7.8

NullLiteral
BooleanLiteral
NumericLiteral
StringLiteral

RegularExpressionLiteral

NullLiteral ::См. пункт 7.8.1

null

BooleanLiteral ::См. пункт 7.8.2

true
false

NumericLiteral ::См. пункт 7.8.3

DecimalLiteral
HexIntegerLiteral

DecimalLiteral ::См. пункт 7.8.3

DecimalIntegerLiteral . DecimalDigitsoptExponentPartopt
. DecimalDigits ExponentPartopt
DecimalIntegerLiteral ExponentPart
opt

DecimalIntegerLiteral ::См. пункт 7.8.3

0
NonZeroDigit DecimalDigits
opt

DecimalDigits ::См. пункт 7.8.3

DecimalDigit
DecimalDigits DecimalDigit

DecimalDigit :: один изСм. пункт 7.8.3

0 1 2 3 4 5 6 7 8 9

NonZeroDigit:: один изСм. пункт 7.8.3

1 2 3 4 5 6 7 8 9

ExponentPart:: См. пункт 7.8.3

ExponentIndicator SignedInteger

ExponentIndicator :: один изСм. пункт 7.8.3

e E

SignedInteger ::См. пункт 7.8.3

DecimalDigits
+ DecimalDigits
- DecimalDigits

HexIntegerLiteral ::См. пункт 7.8.3

0x HexDigit
0X HexDigit
HexIntegerLiteral HexDigit

HexDigit :: один изСм. пункт 7.8.3

0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

StringLiteral ::См. пункт 7.8.4

"DoubleStringCharactersopt "
'SingleStringCharactersopt'

DoubleStringCharacters ::См. пункт 7.8.4

DoubleStringCharacter DoubleStringCharactersopt

SingleStringCharacters ::См. пункт 7.8.4

SingleStringCharacter SingleStringCharactersopt

DoubleStringCharacter ::См. пункт 7.8.4

SourceCharacter но не double-quote " или backslash \ или LineTerminator
\ EscapeSequence
LineContinuation

SingleStringCharacter ::См. пункт 7.8.4

SourceCharacter но не single-quote ' илиbackslash \ или LineTerminator
\ EscapeSequence
LineContinuation

LineContinuation ::См. пункт 7.8.4

\ LineTerminatorSequence

EscapeSequence ::См. пункт 7.8.4

CharacterEscapeSequence
0 [lookahead DecimalDigit]
HexEscapeSequence
UnicodeEscapeSequence

CharacterEscapeSequence ::См. пункт 7.8.4

SingleEscapeCharacter
NonEscapeCharacter

SingleEscapeCharacter :: один изСм. пункт 7.8.4

' " \ b f n r t v

NonEscapeCharacter ::См. пункт 7.8.4

SourceCharacter но неEscapeCharacter или LineTerminator

EscapeCharacter ::См. пункт 7.8.4

SingleEscapeCharacter
DecimalDigit
x
u

HexEscapeSequence ::См. пункт 7.8.4

x HexDigit HexDigit

UnicodeEscapeSequence ::См. пункт 7.8.4

u HexDigit HexDigit HexDigit HexDigit

RegularExpressionLiteral ::См. пункт 7.8.5

/ RegularExpressionBody / RegularExpressionFlags

RegularExpressionBody ::См. пункт 7.8.5

RegularExpressionFirstChar RegularExpressionChars

RegularExpressionChars ::См. пункт 7.8.5

[пусто]
RegularExpressionChars RegularExpressionChar

RegularExpressionFirstChar ::См. пункт 7.8.5

RegularExpressionNonTerminator но не * или \ или / или [
RegularExpressionBackslashSequence
RegularExpressionClass

RegularExpressionChar ::См. пункт 7.8.5

RegularExpressionNonTerminator но не \ или / или [
RegularExpressionBackslashSequence
RegularExpressionClass

RegularExpressionBackslashSequence ::См. пункт 7.8.5

\ RegularExpressionNonTerminator

RegularExpressionNonTerminator ::См. пункт 7.8.5

SourceCharacter но не LineTerminator

RegularExpressionClass ::См. пункт 7.8.5

[ RegularExpressionClassChars ]

RegularExpressionClassChars ::См. пункт 7.8.5

[пусто]
RegularExpressionClassChars
RegularExpressionClassChar

RegularExpressionClassChar ::См. пункт 7.8.5

RegularExpressionNonTerminator но не ] или \
RegularExpressionBackslashSequence

RegularExpressionFlags ::См. пункт 7.8.5

[пусто]
RegularExpressionFlags IdentifierPart

A.2 Преобразования чисел #

StringNumericLiteral :::См. пункт 9.3.1

StrWhiteSpaceopt
StrWhiteSpace
optStrNumericLiteral StrWhiteSpaceopt

StrWhiteSpace :::См. пункт 9.3.1

StrWhiteSpaceChar StrWhiteSpaceopt

StrWhiteSpaceChar :::См. пункт 9.3.1

WhiteSpace
LineTerminator

StrNumericLiteral :::См. пункт 9.3.1

StrDecimalLiteral
HexIntegerLiteral

StrDecimalLiteral :::См. пункт 9.3.1

StrUnsignedDecimalLiteral
+ StrUnsignedDecimalLiteral
- StrUnsignedDecimalLiteral

StrUnsignedDecimalLiteral :::См. пункт 9.3.1

Infinity
DecimalDigits
. DecimalDigitsoptExponentPartopt
. DecimalDigits ExponentPartopt
DecimalDigits ExponentPart
opt

DecimalDigits :::См. пункт 9.3.1

DecimalDigit
DecimalDigits DecimalDigit

DecimalDigit ::: один изСм. пункт 9.3.1

0 1 2 3 4 5 6 7 8 9

ExponentPart :::См. пункт 9.3.1

ExponentIndicator SignedInteger

ExponentIndicator ::: один изСм. пункт 9.3.1

e E

SignedInteger :::См. пункт 9.3.1

DecimalDigits
+ DecimalDigits
- DecimalDigits

HexIntegerLiteral :::См. пункт 9.3.1

0x HexDigit
0X HexDigit
HexIntegerLiteral HexDigit

HexDigit ::: один изСм. пункт 9.3.1

0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

A.3 Выражения #

PrimaryExpression :См. пункт 11.1

this
Identifier
Literal
ArrayLiteral
ObjectLiteral
( Expression )

ArrayLiteral :См. пункт 11.1.4

[ Elisionopt ]
[
ElementList ]
[
ElementList , Elisionopt ]

ElementList :См. пункт 11.1.4

Elisionopt AssignmentExpression
ElementList , Elision
opt AssignmentExpression

Elision :См. пункт 11.1.4

,
Elision ,

ObjectLiteral :См. пункт 11.1.5

{ }
{ PropertyNameAndValueList }
{
PropertyNameAndValueList , }

PropertyNameAndValueList :См. пункт 11.1.5

PropertyAssignment
PropertyNameAndValueList
, PropertyAssignment

PropertyAssignment :См. пункт 11.1.5

PropertyName : AssignmentExpression
get PropertyName() { FunctionBody }
set
PropertyName( PropertySetParameterList ) { FunctionBody }

PropertyName :См. пункт 11.1.5

IdentifierName
StringLiteral
NumericLiteral

PropertySetParameterList :См. пункт 11.1.5

Identifier

MemberExpression :См. пункт 11.2

PrimaryExpression
FunctionExpression
MemberExpression
[ Expression ]
MemberExpression . IdentifierName
new MemberExpression Arguments

NewExpression :См. пункт 11.2

MemberExpression
new
NewExpression

CallExpression :См. пункт 11.2

MemberExpression Arguments
CallExpression Arguments
CallExpression [ Expression ]
CallExpression . IdentifierName

Arguments :См. пункт 11.2

( )
(
ArgumentList )

ArgumentList :См. пункт 11.2

AssignmentExpression
ArgumentList
, AssignmentExpression

LeftHandSideExpression :См. пункт 11.2

NewExpression
CallExpression

PostfixExpression :См. пункт 11.3

LeftHandSideExpression
LeftHandSideExpression
[noLineTerminator here] ++
LeftHandSideExpression
[noLineTerminator here] --

UnaryExpression :См. пункт 11.4

PostfixExpression
delete
UnaryExpression
void UnaryExpression
typeof UnaryExpression
++
UnaryExpression
-- UnaryExpression
+ UnaryExpression
- UnaryExpression
~ UnaryExpression
! UnaryExpression

MultiplicativeExpression :См. пункт 11.5

UnaryExpression
MultiplicativeExpression
* UnaryExpression
MultiplicativeExpression
/ UnaryExpression
MultiplicativeExpression
% UnaryExpression

AdditiveExpression :См. пункт 11.6

MultiplicativeExpression
AdditiveExpression
+ MultiplicativeExpression
AdditiveExpression
- MultiplicativeExpression

ShiftExpression :См. пункт 11.7

AdditiveExpression
ShiftExpression
<< AdditiveExpression
ShiftExpression
>> AdditiveExpression
ShiftExpression
>>> AdditiveExpression

RelationalExpression :См. пункт 11.8

ShiftExpression
RelationalExpression
< ShiftExpression
RelationalExpression
> ShiftExpression
RelationalExpression
<= ShiftExpression
RelationalExpression
>= ShiftExpression
RelationalExpression
instanceof ShiftExpression
RelationalExpression
in ShiftExpression

RelationalExpressionNoIn :См. пункт 11.8

ShiftExpression
RelationalExpressionNoIn
< ShiftExpression
RelationalExpressionNoIn
> ShiftExpression
RelationalExpressionNoIn
<= ShiftExpression
RelationalExpressionNoIn
>= ShiftExpression
RelationalExpressionNoIn
instanceof ShiftExpression

EqualityExpression :См. пункт 11.9

RelationalExpression
EqualityExpression
== RelationalExpression
EqualityExpression
!= RelationalExpression
EqualityExpression
=== RelationalExpression
EqualityExpression
!== RelationalExpression

EqualityExpressionNoIn :См. пункт 11.9

RelationalExpressionNoIn
EqualityExpressionNoIn
== RelationalExpressionNoIn
EqualityExpressionNoIn
!= RelationalExpressionNoIn
EqualityExpressionNoIn
=== RelationalExpressionNoIn
EqualityExpressionNoIn
!== RelationalExpressionNoIn

BitwiseANDExpression :См. пункт 11.10

EqualityExpression
BitwiseANDExpression
& EqualityExpression

BitwiseANDExpressionNoIn :См. пункт 11.10

EqualityExpressionNoIn
BitwiseANDExpressionNoIn
& EqualityExpressionNoIn

BitwiseXORExpression :См. пункт 11.10

BitwiseANDExpression
BitwiseXORExpression
^ BitwiseANDExpression

BitwiseXORExpressionNoIn :См. пункт 11.10

BitwiseANDExpressionNoIn
BitwiseXORExpressionNoIn
^ BitwiseANDExpressionNoIn

BitwiseORExpression :См. пункт 11.10

BitwiseXORExpression
BitwiseORExpression
| BitwiseXORExpression

BitwiseORExpressionNoIn :См. пункт 11.10

BitwiseXORExpressionNoIn
BitwiseORExpressionNoIn
| BitwiseXORExpressionNoIn

LogicalANDExpression :См. пункт 11.11

BitwiseORExpression
LogicalANDExpression
&& BitwiseORExpression

LogicalANDExpressionNoIn :См. пункт 11.11

BitwiseORExpressionNoIn
LogicalANDExpressionNoIn
&& BitwiseORExpressionNoIn

LogicalORExpression :См. пункт 11.11

LogicalANDExpression
LogicalORExpression
|| LogicalANDExpression

LogicalORExpressionNoIn :См. пункт 11.11

LogicalANDExpressionNoIn
LogicalORExpressionNoIn
|| LogicalANDExpressionNoIn

ConditionalExpression :См. пункт 11.12

LogicalORExpression
LogicalORExpression
? AssignmentExpression : AssignmentExpression

ConditionalExpressionNoIn :См. пункт 11.12

LogicalORExpressionNoIn
LogicalORExpressionNoIn
? AssignmentExpressionNoIn : AssignmentExpressionNoIn

AssignmentExpression :См. пункт 11.13

ConditionalExpression
LeftHandSideExpression AssignmentOperator AssignmentExpression

AssignmentExpressionNoIn :См. пункт 11.13

ConditionalExpressionNoIn
LeftHandSideExpression AssignmentOperator AssignmentExpressionNoIn

AssignmentOperator : один изСм. пункт 11.13

=

*=

/=

%=

+=

-=

<<=

>>=

>>>=

&=

^=

|=

Expression :См. пункт 11.14

AssignmentExpression
Expression
, AssignmentExpression

ExpressionNoIn :См. пункт 11.14

AssignmentExpressionNoIn
ExpressionNoIn
, AssignmentExpressionNoIn

A.4 Инструкции #

Statement :См. пункт clause 12

Block
VariableStatement
emptyStatement
ExpressionStatement
IfStatement
IterationStatement
ContinueStatement
BreakStatement
ReturnStatement
WithStatement
LabelledStatement
SwitchStatement
ThrowStatement
TryStatement
DebuggerStatement

Block :См. пункт 12.1

{ StatementListopt}

StatementList :См. пункт 12.1

Statement
StatementList Statement

VariableStatement :См. пункт 12.2

var VariableDeclarationList ;

VariableDeclarationList :См. пункт 12.2

VariableDeclaration
VariableDeclarationList
, VariableDeclaration

VariableDeclarationListNoIn :См. пункт 12.2

VariableDeclarationNoIn
VariableDeclarationListNoIn
, VariableDeclarationNoIn

VariableDeclaration :См. пункт 12.2

Identifier Initialiseropt

VariableDeclarationNoIn :См. пункт 12.2

Identifier InitialiserNoInopt

Initialiser :См. пункт 12.2

= AssignmentExpression

InitialiserNoIn :См. пункт 12.2

= AssignmentExpressionNoIn

emptyStatement :См. пункт 12.3

;

ExpressionStatement :См. пункт 12.4

[lookahead {{, function}]Expression ;

IfStatement :См. пункт 12.5

if ( Expression ) Statement else Statement
if ( Expression ) Statement

IterationStatement :См. пункт 12.6

do Statement while ( Expression );
while ( Expression ) Statement
for ( ExpressionNoInopt; Expressionopt; Expressionopt) Statement
for ( var VariableDeclarationListNoIn; Expressionopt; Expressionopt) Statement
for ( LeftHandSideExpression in Expression ) Statement
for ( var VariableDeclarationNoIn in Expression ) Statement

ContinueStatement :См. пункт 12.7

continue [noLineTerminator here]Identifieropt;

BreakStatement :См. пункт 12.8

break [noLineTerminator here]Identifieropt;

ReturnStatement :См. пункт 12.9

return [noLineTerminator here]Expressionopt;

WithStatement :См. пункт 12.10

with ( Expression ) Statement

SwitchStatement :См. пункт 12.11

switch ( Expression ) CaseBlock

CaseBlock :См. пункт 12.11

{ CaseClausesopt}
{ CaseClausesoptDefaultClause CaseClausesopt}

CaseClauses :См. пункт 12.11

CaseClause
CaseClauses CaseClause

CaseClause :См. пункт 12.11

case Expression : StatementListopt

DefaultClause :См. пункт 12.11

default : StatementListopt

LabelledStatement :См. пункт 12.12

Identifier : Statement

ThrowStatement :См. пункт 12.13

throw [noLineTerminator here] Expression ;

TryStatement :См. пункт 12.14

try Block Catch
try Block Finally
try Block Catch Finally

Catch :См. пункт 12.14

catch ( Identifier ) Block

Finally :См. пункт 12.14

finally Block

DebuggerStatement :См. пункт 12.15

debugger ;

A.5 Функции и программы #

FunctionDeclaration :См. пункт clause 13

function Identifier ( FormalParameterListopt) { FunctionBody }

FunctionExpression :См. пункт clause 13

function Identifieropt( FormalParameterListopt) { FunctionBody }

FormalParameterList :См. пункт clause 13

Identifier
FormalParameterList
, Identifier

FunctionBody :См. пункт clause 13

SourceElementsopt

Program :См. пункт clause 14

SourceElementsopt

SourceElements :См. пункт clause 14

SourceElement
SourceElements SourceElement

SourceElement :См. пункт clause 14

Statement
FunctionDeclaration

A.6 Классы символов URI #

uri :::См. пункт 15.1.3

uriCharactersopt

uriCharacters :::См. пункт 15.1.3

uriCharacter uriCharactersopt

uriCharacter :::См. пункт 15.1.3

uriReserved
uriUnescaped
uriEscaped

uriReserved ::: один изСм. пункт 15.1.3

; / ? : @ & = + $ ,

uriUnescaped :::См. пункт 15.1.3

uriAlpha
DecimalDigit
uriMark

uriEscaped :::См. пункт 15.1.3

% HexDigit HexDigit

uriAlpha ::: один изСм. пункт 15.1.3

a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

uriMark ::: один изСм. пункт 15.1.3

- _ . ! ~ * ‘ ( )

A.7 Регулярные выражения #

Pattern ::См. пункт 15.10.1

Disjunction

Disjunction ::См. пункт 15.10.1

Alternative
Alternative
| Disjunction

Alternative ::См. пункт 15.10.1

[пусто]
Alternative Term

Term ::См. пункт 15.10.1

Assertion
Atom
Atom Quantifier

Assertion ::См. пункт 15.10.1

^
$
\ b
\ B
( ? = Disjunction )
( ? ! Disjunction )

Quantifier ::См. пункт 15.10.1

QuantifierPrefix
QuantifierPrefix
?

QuantifierPrefix ::См. пункт 15.10.1

*
+

?
{ DecimalDigits }
{ DecimalDigits , }
{ DecimalDigits , DecimalDigits }

Atom ::См. пункт 15.10.1

PatternCharacter
.
\ AtomEscape
CharacterClass

(
Disjunction )
( ? : Disjunction )

PatternCharacter :: SourceCharacter но не any of:См. пункт 15.10.1

^ $ \ . * + ? ( ) [ ] { } |

AtomEscape ::См. пункт 15.10.1

DecimalEscape
CharacterEscape
CharacterClassEscape

CharacterEscape ::См. пункт 15.10.1

ControlEscape
c ControlLetter
HexEscapeSequence
UnicodeEscapeSequence
IdentityEscape

ControlEscape :: один изСм. пункт 15.10.1

f n r t v

ControlLetter :: один изСм. пункт 15.10.1

a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

IdentityEscape ::См. пункт 15.10.1

SourceCharacter но не IdentifierPart
<ZWJ>
<ZWNJ>

DecimalEscape ::См. пункт 15.10.1

DecimalIntegerLiteral [lookahead DecimalDigit]

CharacterClassEscape :: один изСм. пункт 15.10.1

d D s S w W

CharacterClass ::См. пункт 15.10.1

[ [lookahead {^}] ClassRanges ]
[ ^ ClassRanges ]

ClassRanges ::См. пункт 15.10.1

[пусто]
NonemptyClassRanges

NonemptyClassRanges ::См. пункт 15.10.1

ClassAtom
ClassAtom NonemptyClassRangesNoDash
ClassAtom
ClassAtom ClassRanges

NonemptyClassRangesNoDash ::См. пункт 15.10.1

ClassAtom
ClassAtomNoDash NonemptyClassRangesNoDash
ClassAtomNoDash
ClassAtom ClassRanges

ClassAtom ::См. пункт 15.10.1

-
ClassAtomNoDash

ClassAtomNoDash ::См. пункт 15.10.1

SourceCharacter но не один из \ или ] или -
\ ClassEscape

ClassEscape ::См. пункт 15.10.1

DecimalEscape
b
CharacterEscape

CharacterClassEscape

A.8 JSON #

A.8.1 Лексическая грамматика JSON #

JSONWhiteSpace ::См. пункт 15.12.1.1

<TAB>
<CR>
<LF>
<SP>

JSONString ::См. пункт 15.12.1.1

" JSONStringCharactersopt"

JSONStringCharacters ::См. пункт 15.12.1.1

JSONStringCharacter JSONStringCharactersopt

JSONStringCharacter ::См. пункт 15.12.1.1

SourceCharacter но не double-quote " или backslash \ или c U+0000 по U+001F

\ JSONEscapeSequence

JSONEscapeSequence ::См. пункт 15.12.1.1

JSONEscapeCharacter

UnicodeEscapeSequence

JSONEscapeCharacter :: один изСм. пункт 15.12.1.1

" / \ b f n r t

JSONNumber ::См. пункт 15.12.1.1

-optDecimalIntegerLiteral JSONFractionoptExponentPartopt

JSONFraction ::См. пункт 15.12.1.1

. DecimalDigits

JSONNullLiteral ::См. пункт 15.12.1.1

NullLiteral

JSONBooleanLiteral ::См. пункт 15.12.1.1

BooleanLiteral

A.8.2 Синтаксическая грамматика JSON #

JSONText :См. пункт 15.12.1.2

JSONValue

JSONValue :См. пункт 15.12.1.2

JSONNullLiteral
JSONBooleanLiteral
JSONObject
JSONArray
JSONString
JSONNumber

JSONObject :См. пункт 15.12.1.2

{ }
{ JSONMemberList }

JSONMember :См. пункт 15.12.1.2

JSONString : JSONValue

JSONMemberList :См. пункт 15.12.1.2

JSONMember
JSONMemberList
, JSONMember

JSONArray :См. пункт 15.12.1.2

[ ]
[ JSONElementList ]

JSONElementList :См. пункт 15.12.1.2

JSONValue
JSONElementList
, JSONValue