<?xml version="1.0" encoding="UTF-8"?>
<linguagem>
    <topico>
		<nome>Lua 5.1</nome>
		<titulo>Lua: Diagrama Sintático - Diagrama de Sintaxe, BNF, Comandos, Exemplos</titulo>
 		<descritor>apoie, apoie.org, Lua, stat, funcname, var, exp, prefixexp, functioncall, function, funcbody, parlist, tableconstructor, binop, unop, BNF, Diagrama Sintático - Diagrama de Sintaxe, Exemplo, Comandos, Linguagem, Filtro, xml, sintaxe, sintaxe original, desenho, programação</descritor>
		<lead>Sintaxes 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;.</lead>
		<origem>Lua.xml</origem>
		<referencia>~DSGerador~</referencia>
		<fonte>http://www.lua.org/manual/5.1/manual.html#8</fonte>
		<desenho>
		</desenho>
    </topico>	
    <topico> 
       	<titulo>block</titulo> 
		<bnf>[(stat [';'])+] [(return [exp {',' exp}] | break ) [';']]</bnf>
		<desc>&lt;img src=&quot;Lualua.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua lua&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua lua&quot;/&gt;</desc>
    </topico> 
    <topico> 
       	<titulo>stat</titulo> 
		<bnf>var {',' var} '=' exp {',' exp} | functioncall | repeat block until exp | if exp then block [(elseif exp then block)+] [else block] end | [(for (Name '=' exp ',' exp [',' exp]|Name {',' Name} in exp {',' exp})|while exp)] do block end | function funcname funcbody | local function Name funcbody | local (Name {',' Name}) ['=' exp {',' exp}]</bnf>
		<desc>&lt;img src=&quot;Luastat.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua stat&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua stat&quot;/&gt;</desc>
    </topico> 
    <topico> 
       	<titulo>if</titulo> 
		<bnf>if exp then block [(elseif exp then block)+] [else block] end</bnf>
		<desc>&lt;img src=&quot;LuaIf.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua if&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua if&quot;/&gt;</desc>
    </topico> 
    <topico> 
       	<titulo>funcname</titulo> 
		<bnf>Name {'.' Name} [':' Name]</bnf>
		<desc>&lt;img src=&quot;Luafuncname.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua funcname&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua funcname&quot;/&gt;</desc>
    </topico> 
    <topico> 
       	<titulo>var</titulo>
		<bnf>Name | prefixexp '[' exp ']' | prefixexp '.' Name</bnf>
		<desc>&lt;img src=&quot;Luavar.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua var&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua var&quot;/&gt;</desc>
    </topico> 
	    <topico> 
       	<titulo>exp</titulo> 
		<bnf>nil | false | true | Number | String | '...' | function | prefixexp | tableconstructor | exp binop exp | unop exp</bnf>
		<desc>&lt;img src=&quot;Luaexp.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua exp&quot; title=&quot;&quot;/&gt;</desc>
    </topico> 
    <topico> 
       	<titulo>prefixexp</titulo>
		<bnf>var | functioncall | '(' exp ')'</bnf>
		<desc>&lt;img src=&quot;Luaprefixexp.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua prefixexp&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua prefixexp&quot;/&gt;</desc>
    </topico> 
	<topico> 
       	<titulo>functioncall</titulo>
		<bnf>prefixexp [ ':' Name] '(' [exp {',' exp}] ')' | tableconstructor | String</bnf>
		<desc>&lt;img src=&quot;Luafunctioncall.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua functioncall&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua functioncall&quot;/&gt;</desc>
    </topico> 
	<topico> 
       	<titulo>function</titulo>
		<bnf>'function' funcbody</bnf>
		<desc>&lt;img src=&quot;Luafunction.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua function&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua function&quot;/&gt;</desc>
    </topico>
	<topico> 
       	<titulo>funcbody</titulo>
		<bnf>'(' [parlist] ')' block end</bnf>
		<desc>&lt;img src=&quot;Luafuncbody.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua funcbody&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua funcbody&quot;/&gt;</desc>
    </topico>
		<topico> 
       	<titulo>parlist</titulo>
		<bnf>namelist [',' '...'] | '...'</bnf>
		<desc>&lt;img src=&quot;Luaparlist.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua parlist&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua parlist&quot;/&gt;</desc>
    </topico>
		<topico> 
       	<titulo>tableconstructor</titulo>
		<bnf>'{' [([('[' exp ']' | Name) '='] exp (',' | ';'|''))+] '}'</bnf>
		<desc>&lt;img src=&quot;Luatableconstructor.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua tableconstructor&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua tableconstructor&quot;/&gt;</desc>
    </topico>
		<topico> 
       	<titulo>binop</titulo>
		<bnf>'+' | '-' | '*' | '/' | '^' | '%' | '..' | '&lt;' | '&lt;=' | '>' | '>=' | '==' | '~=' | and | or</bnf>
		<desc>&lt;img src=&quot;Luabinop.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua binop&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua binop&quot;/&gt;</desc>
    </topico>
		<topico> 
       	<titulo>unop</titulo>
		<bnf>'-' | not | '#'</bnf>
		<desc>&lt;img src=&quot;Luaunop.png&quot; alt=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua unop&quot; title=&quot;Diagrama Sintático - Diagrama de Sintaxe Lua unop&quot;/&gt;</desc>
    </topico>
</linguagem>
