<?xml version="1.0" encoding="UTF-8"?>
<linguagem>
    <topico>
		<nome>Javascript ECMA-262</nome>
		<titulo>Javascript: Diagrama Sintático - Diagrama de Sintaxe, BNF, Comandos, Exemplos</titulo>
 		<descritor>apoie, apoie.org, Javascript, script, statementBlock, statement, ifStatement, forStatement, expr, Comando, BNF, Diagrama Sintático - Diagrama de Sintaxe, Exemplo, Comandos, Linguagem, Filtro, xml, sintaxe, sintaxe original, desenho, programação</descritor>
		<lead>Sintaxes (&lt;a href="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf"  target="_blank"&gt;ECMA-262&lt;/a&gt;) representadas por &lt;a href=&quot;DiagramaSintatico.htm&quot; target=&quot;_blank&quot;&gt;Diagrama Sintático - Diagrama de Sintaxe&lt;/a&gt; &lt;a href=&quot;Bnf2Ds.html&quot;&gt;gerados a partir de&lt;/a&gt; &lt;a href=&quot;LazyBNFExemplo.htm&quot; target=&quot;_blank&quot;&gt;BNF&lt;/a&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Backus-Naur_Form&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;   &lt;img src=&quot;Wikipedia.gif&quot;&gt;&lt;/a&gt;,  &lt;a href=&quot;JavascriptIndice.htm&quot;&gt;Índice&lt;/a&gt;, &lt;a href=&quot;JavascriptCS.htm&quot; target=&quot;_blank&quot;&gt;Guia de visualização rápida&lt;/a&gt; e &lt;a href=&quot;http://www.w3schools.com/js/js_examples.asp&quot; target=&quot;_blank&quot;&gt;Exemplos.&lt;/a&gt;</lead>
		<link>&lt;a href="http://pt.wikipedia.org/wiki/Javascript" target="_blank"&gt;&lt;img style="border: 0px solid ;" alt="wikipedia" title="Wikipedia" src="Wikipedia.gif"&gt;&lt;/a&gt; &lt;a href="http://www.addedbytes.com/cheat-sheets/javascript-cheat-sheet/" target="_blank"&gt;Cheat-sheet&lt;/a&gt;</link>
		<origem>Javascript.xml</origem>
		<referencia>~DSGerador~ &lt;a href=&quot;http://kaul.inf.h-brs.de/home/www/javascript/javascript_cheat_sheet.png&quot; target=&quot;_blank&quot;&gt;Referência rápida (Cheat Sheet)&lt;/a&gt;</referencia>
		<fonte>http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf</fonte>
    </topico>

	<topico>
		<titulo>Program</titulo>
		<bnf>[SourceElement+]</bnf>
		<desc>&lt;img src=&quot;JavascriptProgram.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript Program&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript Program&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>SourceElement</titulo>
		<bnf>Statement | FunctionDeclaration</bnf>
		<desc>&lt;img src=&quot;JavascriptSourceElement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript SourceElement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript SourceElement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>FunctionDeclaration</titulo>
		<bnf>function Identifier FormalParameterList FunctionBody</bnf>
		<desc>&lt;img src=&quot;JavascriptFunctionDeclaration.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript FunctionDeclaration&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript FunctionDeclaration&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>FunctionExpression</titulo>
		<bnf>function Identifier? FormalParameterList FunctionBody</bnf>
		<desc>&lt;img src=&quot;JavascriptFunctionExpression.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript FunctionExpression&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript FunctionExpression&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>FormalParameterList</titulo>
		<bnf>'(' [Identifier ( ',' Identifier)*] ')'</bnf>
		<desc>&lt;img src=&quot;JavascriptFormalParameterList.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript FormalParameterList&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript FormalParameterList&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>FunctionBody</titulo>
		<bnf>'{' [SourceElement+] '}'</bnf>
		<desc>&lt;img src=&quot;JavascriptFunctionBody.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript FunctionBody&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript FunctionBody&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>Statement</titulo>
		<bnf>Block VariableStatement | &lt;br&gt;
EmptyStatement | ExpressionStatement | &lt;br&gt;
IfStatement | &lt;br&gt;IterationStatement
ContinueStatement | &lt;br&gt;BreakStatement | &lt;br&gt;
ReturnStatement | WithStatement | &lt;br&gt;
LabelledStatement | &lt;br&gt;
SwitchStatement ThrowStatement | &lt;br&gt;
TryStatement | DebuggerStatement
</bnf>
		<desc>&lt;img src=&quot;JavascriptStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript Statement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript Statement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>Block</titulo>
		<bnf>'{' StatementList '}'</bnf>
		<desc>&lt;img src=&quot;JavascriptBlock.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript Block&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript Block&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>StatementList</titulo>
		<bnf>[Statement+]</bnf>
		<desc>&lt;img src=&quot;JavascriptStatementList.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript StatementList&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript StatementList&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>VariableStatement</titulo>
		<bnf>var Identifier ['=' AssignmentExpression] (',' Identifier ['=' AssignmentExpression])* ';'</bnf>
		<desc>&lt;img src=&quot;JavascriptVariableStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript VariableStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript VariableStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>VariableDeclarationListNoIn</titulo>
		<bnf>Identifier ['=' AssignmentExpressionNoIn] (',' Identifier ['=' AssignmentExpressionNoIn])*</bnf>
		<desc>&lt;img src=&quot;JavascriptVariableDeclarationListNoIn.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript VariableDeclarationListNoIn&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript VariableDeclarationListNoIn&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>EmptyStatement</titulo>
		<bnf>';'</bnf>
		<desc>&lt;img src=&quot;JavascriptEmptyStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript EmptyStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript EmptyStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>ExpressionStatement</titulo>
		<bnf>[lookahead 'nao pertence' '{''{'',' function'}'] Expression ';'</bnf>
		<desc>&lt;img src=&quot;JavascriptExpressionStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript ExpressionStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript ExpressionStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>IfStatement</titulo>
		<bnf>if '(' Expression ')' Statement [else Statement]</bnf>
		<desc>&lt;img src=&quot;JavascriptIfStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript IfStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript IfStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>IterationStatement</titulo>
		<bnf>do Statement while '(' Expression ')' ';' | while '(' Expression ')' Statement | &lt;br&gt; for '(' (ExpressionNoIn? | var VariableDeclarationListNoIn)
';' Expression? ';' Expression? ')' Statement | &lt;br&gt;
for '('(LeftHandSideExpression | var VariableDeclarationNoIn)in Expression ')' Statement</bnf>
		<desc>&lt;img src=&quot;JavascriptIterationStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript IterationStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript IterationStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>ContinueStatement</titulo>
		<bnf>continue [no LineTerminator here] Identifier? ';'</bnf>
		<desc>&lt;img src=&quot;JavascriptContinueStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript ContinueStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript ContinueStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>BreakStatement</titulo>
		<bnf>break [no LineTerminator here] Identifier? ';'</bnf>
		<desc>&lt;img src=&quot;JavascriptBreakStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript BreakStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript BreakStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>ReturnStatement</titulo>
		<bnf>return [no LineTerminator here] Expression? ';'</bnf>
		<desc>&lt;img src=&quot;JavascriptReturnStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript ReturnStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript ReturnStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>WithStatement</titulo>
		<bnf>with '(' Expression ')' Statement</bnf>
		<desc>&lt;img src=&quot;JavascriptWithStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript WithStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript WithStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>SwitchStatement</titulo>
		<bnf>switch '(' Expression ')' CaseBlock</bnf>
		<desc>&lt;img src=&quot;JavascriptSwitchStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript SwitchStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript SwitchStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>CaseBlock</titulo>
		<bnf>'{' CaseClauses [DefaultClause CaseClauses] '}'</bnf>
		<desc>&lt;img src=&quot;JavascriptCaseBlock.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript CaseBlock&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript CaseBlock&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>CaseClauses</titulo>
		<bnf>'O' (('case' Expression ':')+ StatementList)+</bnf>
		<desc>&lt;img src=&quot;JavascriptCaseClauses.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript CaseClauses&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript CaseClauses&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>DefaultClause</titulo>
		<bnf>default ':' StatementList</bnf>
		<desc>&lt;img src=&quot;JavascriptDefaultClause.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript DefaultClause&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript DefaultClause&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>LabelledStatement</titulo>
		<bnf>Identifier ':' Statement</bnf>
		<desc>&lt;img src=&quot;JavascriptLabelledStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript LabelledStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript LabelledStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>ThrowStatement</titulo>
		<bnf>throw [no LineTerminator here] Expression ';'</bnf>
		<desc>&lt;img src=&quot;JavascriptThrowStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript ThrowStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript ThrowStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>TryStatement</titulo>
		<bnf>try Block (Catch | Finally | Catch Finally)</bnf>
		<desc>&lt;img src=&quot;JavascriptTryStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript TryStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript TryStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>Catch</titulo>
		<bnf>catch'(' Identifier ')' Block</bnf>
		<desc>&lt;img src=&quot;JavascriptCatch.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript Catch&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript Catch&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>Finally</titulo>
		<bnf>finally Block</bnf>
		<desc>&lt;img src=&quot;JavascriptFinally.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript Finally&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript Finally&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>DebuggerStatement</titulo>
		<bnf>debugger ';'</bnf>
		<desc>&lt;img src=&quot;JavascriptDebuggerStatement.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript DebuggerStatement&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript DebuggerStatement&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>AssignmentExpression</titulo>
		<bnf>[(LeftHandSideExpression AssignmentOperator)+] ConditionalExpression</bnf>
		<desc>&lt;img src=&quot;JavascriptAssignmentExpression.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript AssignmentExpression&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript AssignmentExpression&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>AssignmentOperator</titulo>
		<bnf>'=   *=   /=   %=   +=   -=   &lt;&lt;=   &gt;&gt;=   &gt;&gt;&gt;=   &amp;=   ^=   |='</bnf>
		<desc>&lt;img src=&quot;JavascriptAssignmentOperator.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript AssignmentOperator&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript AssignmentOperator&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>ConditionalExpression</titulo>
		<bnf>OperadorUnario? PostfixExpression { OperadorBinario OperadorUnario? PostfixExpression } O '?' AssignmentExpression ':' AssignmentExpression</bnf>
		<desc>&lt;img src=&quot;JavascriptConditionalExpression.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript ConditionalExpression&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript ConditionalExpression&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>PostfixExpression</titulo>
		<bnf>LeftHandSideExpression ["++"|"--"]</bnf>
		<desc>&lt;img src=&quot;JavascriptPostfixExpression.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript PostfixExpression&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Javascript PostfixExpression&quot;/&gt;</desc>
	</topico>

	<topico>
		<titulo>OperadorBinario</titulo>
		<desc>Operadores Binários com suas prioridades&lt;br&gt;
				&lt;ol&gt;
				  &lt;li&gt;&amp;lt; &amp;gt; &amp;lt;= &amp;gt;= instanceof in&lt;/li&gt;
				  &lt;li&gt;== != === !==&lt;/li&gt;
				  &lt;li&gt;|| &amp;amp;&amp;amp; | ^ &amp;amp;&lt;/li&gt;
				  &lt;li&gt;* / %&lt;/li&gt;
				  &lt;li&gt;+&amp;nbsp; -&lt;/li&gt;
				&lt;/ol&gt;
		</desc>
	</topico>
</linguagem>

