2,程序设计语言的定义 (1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这是最原始的BNF 形式,用<…> 表示非终结符,《Algol60修订报告》采用这种形式。后来人们常用它的一些变形形式(见下)

需要解决的小问题:语言里的| 等怎么表示

2月其中正体(打字机体)表示终结符,斜体表示非终结符,ε表示空串语法类program 表示完整的程序

语法定义:BNF 的变形

语言手册里常见的一种形式(C 语言/C++ 语言都采用)

enum-name :

identifier

enum-specifier :

enum identifier opt { enumrator-list opt }

enumerator-list :

enumrator-definition

enumratoe-list , enumerator-definition

enumerator-definition :

enumerator

enumerator = constant-expression

enumerator :

identifier

斜体表示非终结符,打字机体是终结符。冒号换行后退格表示“定义为”,并列放置表示“或者”,下标opt 表示可选

2012年2月17

语法定义:语法图

另一种常见语法描述方式是语法图

词法分析

语法分析

语义分析和中间代码生成与机器无关的优化

目标代码生成机器特定的优化

相关文档
最新文档