一个程序设计语言是一个记号系统,
- 如同自然语言,它的完整定义包括语法和语义。
- 语法是指一组规则,
- 用它可以形成和产生一个合适的程序。
- 目前广泛使用的手段是上下文无关文法,
- 即用上下文无关文法作为
- 语法只定义什么样的符号序列是合法的,与这些符号的含义毫无关系,
- 对Pascal程序来说,一个上下文无关文法可定义符号串A:=B+C是合乎语法的,A:=B+不是。
- 若B实型,C布尔,或B、C中任何一个没事先说明,
- 则A:=B+C仍错,也就是说程序结构上的这种特点
- 类型匹配、变量作用域等是无法用上下文无关手段检査的,
- 程序设计语言的语义分两:静态语义和动态语义。
- 静态语义是一系列限定规则,
- 动态语义也称运行语义或执行语义,
阐明语法的一个工具是文法,
- 这是形式语言理论的基本概念。
- 本章介绍文法和语言的概念,
阐明语义比阐明语法困难,
- 形式语义学的研究取大进展,
- 但仍没有哪一种公认的形式系统
- 本书不对形式语义学介绍。
2.1 文法的直观概念
给出文法和语言的定义前,先直观认识下文法的概念。
当表述一种语言时,
- 无非是说明这种语言的句子,如果语言只含有穷多个句子
- 则只需列出句子的有穷集就行,
- 但对于有无穷多个句子的语言
自然语言为例
- 无法列出全部句子,但可给出一些规则,用这些规则来说明(或定义)句子的组成结构,
- “我是大学生”是汉语的一个句子。
- 汉语句子可由主语后随谓语而成,
- 用第1章用过的EBNF表示这种句子的构成规则

相关文章:
-
2022-12-23
-
2021-06-20
-
2021-12-02
-
2021-08-27
-
2022-12-23
-
2021-10-27
猜你喜欢
-
2021-07-30
-
2021-07-21
-
2021-07-07
-
2021-07-18
-
2021-06-23
-
2021-11-15
相关资源
-
下载
2023-02-11
-
下载
2023-02-24
-
下载
2023-03-03