### Lua 5手册知识点概述
#### 1. 引言
- **Lua定位**:Lua是一种扩展式的程序设计语言,支持通用的过程式编程,并具备数据描述功能。它还支持面向对象编程、函数式编程和数据驱动式编程。
- **语言特性**:Lua是一种轻量级的脚本语言,以一个用Clean C编写的库形式提供,使得它可以很容易地嵌入到其他程序中。
- **宿主程序**:Lua需要嵌入到一个宿主程序中才能运行,这种宿主程序被称为embedding program或简称host。宿主程序可以调用Lua代码、读写Lua变量以及注入C函数供Lua调用。
- **扩展性**:通过注入C函数,Lua可以极大地扩展其功能范围,从而能够定制出具有不同功能的语言,但这些语言共享相同的语法结构。
#### 2. 语言描述
- **2.1 词法约定**
- **标识符**:Lua中的标识符可以由字母、数字、下划线组成,但不能以数字开头。
- **关键字**:`and`, `break`, `do`, `else`, `elseif`, `end`, `false`, `for`, `function`, `if`, `in`, `local`, `nil`, `not`, `or`, `repeat`, `return`, `then`, `true`, `until`, `while` 是Lua的关键字,不能用作标识符。
- **保留名称**:以下划线加一系列大写字母组成的标识符(如`_VERSION`)被保留用于Lua内部全局变量。
- **Token**:包括算术操作符、比较操作符、括号、花括号、方括号等。
- **字符串**:可以用单引号或双引号表示,支持多种转义字符,如`\a`、`\b`、`\f`等。Lua还支持长字符串,使用一对正的方括号表示,例如`[[` 或 `[=]`,可以跨越多行且不需要转义字符。
#### 3. 语言结构
- **语法和句法**:这部分详细描述了Lua的语法结构,包括如何组合token以及这些组合的含义。
- **扩展BNF表达式**:使用扩展BNF(Backus-Naur Form)来表示语言的结构规则,例如 `{a}` 表示0或多个a,`[a]` 表示a是可选的。
- **非最终符号与关键字**:非最终符号通常是指语法结构中的抽象元素,如`stmt`表示一条语句;关键字如`if`、`while`等。
#### 4. API 和接口应用
- **API使用**:手册中提供了各种API的使用方法,包括如何调用这些API以及它们的功能介绍。
- **接口应用**:介绍如何利用Lua的各种接口进行编程,包括与其他语言的交互方式。
- **C函数注入**:通过注入C函数增强Lua的功能,例如提供外部库的访问、执行复杂的计算等。
#### 5. 其他知识点
- **Lua版本**:该手册针对的是Lua 5版本。
- **版权信息**:由 Roberto Ierusalimschy、Luiz Henrique de Figueiredo 和 Waldemar Celes 编写,云风翻译,版权所有。
- **资源获取**:手册可以在Lua的官方网站 www.lua.org 上找到。
- **扩展阅读**:推荐阅读 Roberto 的书《Programming in Lua》第二版,以获得更深入的Lua编程知识。
该手册全面覆盖了Lua的基本语法、词法约定以及API使用等内容,非常适合Lua的初学者入门学习,同时也为进阶用户提供了丰富的参考资料和技术支持。
- 1
- 2
前往页