2,程序设计语言的定义 (1)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
语法定义:语法图
另一种常见语法描述方式是语法图
词法分析
语法分析
语义分析和中间代码生成与机器无关的优化
目标代码生成机器特定的优化