# Lexical rules

  • Integer: 64-bit signed integer, for example

3 345 0xff 0xBEBADA

  • Floating-point number: 64-bit floating-point number, format such as

3.0 3.1416 314.16e-2 0.31416E1 34e1

0x0.1E 0xA23p-4 0X1.921FB54442D18P+1

  • Variable name: beginning with a letter or underscore, the content includes letters or underscores or numbers, and cannot be a keyword symbol
  • Strings: In-line strings can be surrounded by 2 single quotes or 2 double quotes, in which some special characters can be escaped with a backslash'', and cross-line or in-line strings can be surrounded by [[ and ]].

such as:

a = 'alo\n123"'
a = "alo\n123\""
a = '\97lo\10\04923"'
a = [[alo
123"]]
a = [==[
alo
123"]==]
  • Keywords:

    and break do else elseif end false for function goto if in local nil not or repeat return then true until while offline

  • true/false/nil literal

  • Punctuation marks:

    • -     *     /     %     ^     #
      

    & ~ | << >> // == ~= <= >= < > = ( ) { } [ ]
    ; : , . .. ...