🕷 zenspider.com

by ryan davis



sitemap
Looking for the Ruby Quickref?

This makes me weep

Published 2011-09-01 @ 01:05

Tagged thoughts

The Complete Syntax of Lua:

    chunk ::= {stat [`;´]} [laststat [`;´]]

      block ::= chunk
  
      stat ::=  varlist `=´ explist
              | functioncall
              | do block end
              | while exp do block end
              | repeat block until exp
              | if exp then block {elseif exp then block} [else block] end
              | for Name `=´ exp `,´ exp [`,´ exp] do block end
              | for namelist in explist do block end
              | function funcname funcbody
              | local function Name funcbody
              | local namelist [`=´ explist] 
  
      laststat ::= return [explist] | break
  
      funcname ::= Name {`.´ Name} [`:´ Name]
  
      varlist ::= var {`,´ var}
  
      var ::=  Name | prefixexp `[´ exp `]´ | prefixexp `.´ Name 
  
      namelist ::= Name {`,´ Name}
  
      explist ::= {exp `,´} exp
  
      exp ::=  nil | false | true | Number | String | `...´ | function
             | prefixexp | tableconstructor | exp binop exp | unop exp 
  
      prefixexp ::= var | functioncall | `(´ exp `)´
  
      functioncall ::=  prefixexp args | prefixexp `:´ Name args 
  
      args ::=  `(´ [explist] `)´ | tableconstructor | String 
  
      function ::= function funcbody
  
      funcbody ::= `(´ [parlist] `)´ block end
  
      parlist ::= namelist [`,´ `...´] | `...´
  
      tableconstructor ::= `{´ [fieldlist] `}´
  
      fieldlist ::= field {fieldsep field} [fieldsep]
  
      field ::= `[´ exp `]´ `=´ exp | Name `=´ exp | exp
  
      fieldsep ::= `,´ | `;´
  
      binop ::= `+´ | `-´ | `*´ | `/´ | `^´ | `%´ | `..´
              | `<´ | `<=´ | `>´ | `>=´ | `==´ | `~=´
              | and | or
  
      unop ::= `-´ | not | `#´