词法规范

简介: 词法规范

标识符

Lua 语言中的标识符(或名称)是由任意字母数字下划线组成的字符串。


提示

和所有其他语言一样,不能以数字开头。


下划线+大写字母 (例如: _VERSION )组成的标识符通常被Lua语言用作特殊用途,应避免将其用作其他用途。


通常将下划线+小写字母用作哑变量(Dummy variable)。


保留字

Lua 语言的保留字(reserved word)不能作为标识符,以下是保留字列表:

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

Lua语言是对大小写敏感的,因而虽然 and 是保留字,但是 AndAND 就是两个不同的标识符。


注释

Lua语言使用两个连续的连字符-- )表示单行注释的开始(从 -- 之后直到此行结束都是注释),使用两个连续的连字符加两对连续左方括号表示长注释多行注释的开始(直到两个连续的右括号位置,中间都是注释)。如下所示:

--[[多行
  长注释
]]


在注释一段代码时,一个常见的技巧是将这些代码放入 --[[--]] 之间,例如:

--[[
print(10)       --无动作(被注释掉了)
--]]


当我们需要重新启用这段代码时,只需要在第一行行首添加一个连字符即可:

---[[
print(10)       --> 10
--]]


分号

Lua 语言中,连续语句之间的分隔符并不是必须的,如果有需要的话可以使用分号来进行分割。


Lua 语言中,表达式之间的换行也不起任何作用。


因此,下面四个程序时合法且等价的。

a = 1
b = a *2


a = 1;
b = a *2;


a = 1;b = a *2


a = 1 b = a *2    -- 可读性不佳,但是却是正确的


::: tip 提示 建议只有在同一行中书写多条语句的情况下(这种情况一般也不会出现),才会使用分号做分隔符。 :::

目录
相关文章
|
6月前
|
自然语言处理 容器
S语言词法分析器设计
还有很多需要优化的地方,作为小白发出了也和大家一起交流下,这次我是分文件写的,因为考虑到以后的实验都用这一套代码,分文件写方便一点,用的是C++14标准
33 0
|
自然语言处理 数据库连接
编译原理(五) 语言的定义
编译原理(五) 语言的定义
154 0
|
程序员 Python
Python编码规范:标识符
Python编码规范:标识符
117 0
|
自然语言处理 Go
Go语言学习编程实践:实现简易计算器(包含词法器、语法树构建)
Go语言学习编程实践:实现简易计算器(包含词法器、语法树构建)
164 0
|
自然语言处理 算法 编译器
C--语言的词法文法语法语义分析及MIPS汇编生成
C--语言的词法文法语法语义分析及MIPS汇编生成
269 0
C--语言的词法文法语法语义分析及MIPS汇编生成
|
存储 自然语言处理
词法分析器的设计与实现
加深对词法分析器的工作过程的理解;加强对词法分析方法的掌握;能够采用一种编程语言实现简单的词法分析程序;能够使用自己编写的分析程序对简单的程序段进行词法分析。
205 0
|
Java
Java编程规范(命名规则)
Java编程规范(命名规则)
188 0
|
自然语言处理 JavaScript 前端开发
「注解」《你不知道的JavaScript(上卷)》第二章:词法作用域
「注解」《你不知道的JavaScript(上卷)》第二章:词法作用域
111 0
「注解」《你不知道的JavaScript(上卷)》第二章:词法作用域
|
API C++ Windows
C++命名规则&书写规范
C++命名规则&书写规范
1063 0