BUAA 编译作业 练习3

伪代码那道题自己写的也不是很确定......暂时先鸽了/(ㄒoㄒ)/~~

  1. 画出下述文法的状态图:

    <Z> ::= <B>e

    <B> ::= <A>f

    <A> ::= e | <A>e

    并使用该状态图检查下列句子是否为该文法的合法句子。

     

    f:不符合

    eeff:不符合

    eefe:符合

  2. 有下列状态图(如图3.8所示),其中S为初态,Z为终态。

    (1) 写出相应的正则文法。

    (2) 写出该文法的V,Vn和Vt。

    (3) 该文法确定的语言是什么?

    (1) G[Z]:

    Z ::= A1 |0

    A ::= 0 | A0

    (2) V = {A, Z, 0, 1}

    Vn = {A, Z}

    Vt = {0, 1}

    (3) L(G) = {0, 01, 001, ...}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BUAA(北京航空航天大学)编译设计文档是一个重要的技术文档,旨在记录编译器的整个设计过程,包括底层硬件平台和上层软件环境的选择、编译器设计原理和算法、编译器的组成模块、编译过程的各个阶段以及错误处理等。 首先,BUAA编译设计文档应明确描述底层硬件平台和上层软件环境的选择,例如CPU架构、操作系统等。这对于后续编译器的设计和实现起到了基础性的作用。 其次,对于编译器设计原理和算法的描述是设计文档中的重要部分。这部分应对编译器的前端、中端和后端进行详细的说明。前端涉及到词法分析、语法分析和语义分析等,中端包括优化和中间代码生成,后端则包括目标代码生成和代码优化等。对于每个阶段的算法和实现细节都应详细记录。 此外,编译器的组成模块也应在设计文档中列出。例如,符号表管理模块、类型检查模块、代码生成模块等。对于每个模块,应描述其功能、组成和实现细节,并给出相应的流程图或类图进行说明。 编译过程的各个阶段也是设计文档的重点内容。例如,从源代码到目标代码的整个编译过程应通过流程图或文字描述清楚。这包括了各个阶段的输入输出以及相互之间的关系。 最后,BUAA编译设计文档还应包括对错误处理的描述。这包括语法错误、类型错误和编译错误等的处理方式和处理流程。同时,还需说明如何生成有用的错误信息,以方便开发者对错误进行调试和修复。 总之,BUAA编译设计文档是对编译器设计过程进行详细记录和说明的文档,涵盖了底层硬件平台和上层软件环境的选择、编译器设计原理和算法、编译器的组成模块、编译过程的各个阶段以及错误处理等内容。它是编译开发和维护的重要参考资料,为开发者提供了设计思路和技术指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值