文法是指编程语言中规则的集合,描述了语言的语法结构和组成部分。它定义了程序的基本构成单元,以及这些单元如何合法地组合在一起。文法通常分为 词法 和 语法 两部分,它是理解编程语言的基础。
1. 词法(Lexical)
词法定义了语言中的基本构件(例如关键字、标识符、运算符、分隔符、常量等),这些构件是编程语言的基本单位,可以视作词汇表。
- 关键字:如
if
,else
,for
,while
等,这些是语言保留的特殊单词,用于定义控制结构或其他特殊语法功能。 - 标识符:用于命名变量、函数、类等实体的名称,如
myVariable
,sum
,getName
等。 - 运算符:如算数运算符(
+
,-
,*
,/
)或逻辑运算符(&&
,||
,!
)。 - 分隔符:如括号(
()
,[]
,{}
)和逗号(,
),用于界定代码块或分隔表达式。
2. 语法(Syntactic)
语法则定义了如何将这些词法单位组合成更大的结构(如语句、表达式、函数、类等)。语法规则决定了编程语言的句法结构,表示合法程序的结构。
- 表达式:由操作符和操作数组成的语法单位,例如
a + b
、x > 10
。 - 语句:完成某种操作的最小单位,通常包括变量声明、控制流等,如
let x = 5;
或if (x > 10) { ... }
。 - 函数:用来执行特定任务的代码块,通常包含定义参数、执行计算、返回值等语法。
- 类与对象:在面向对象编程语言中,类是对象的蓝图,定义了属性和方法,而对象则是类的实例。
├── 文法/
│ ├── 词法/
│ │ ├── 关键字.md
│ │ ├── 标识符.md
│ │ ├── 运算符.md
│ │ └── 分隔符.md
│ ├── 语法/
│ │ ├── 表达式.md
│ │ ├── 语句.md
│ │ ├── 函数.md
│ │ ├── 类.md
│ │ ├── 模块.md
│ │ └── 控制结构.md
│ ├── 类型系统/
│ │ ├── 基本类型.md
│ │ ├── 引用类型.md
│ │ ├── 类型推断.md
│ │ └── 类型转换.md
│ └── 语言特性/
│ ├── ES6新特性.md
│ ├── 模板字符串.md
│ ├── 解构赋值.md
│ ├── 箭头函数.md
│ └── 扩展运算符.md