毕业设计指导网:毕业设计范文、毕业答辩指导,免费毕业设计、计算机毕业论文参考资料下载服务。

技术团队主要成员为国内著名高校计算机专业导师。诚实守信,优质服务,是我们的宗旨!
当前位置:毕业设计指导网计算机毕业设计频道Python毕业设计

计算机的汇编器设计与实现

  • 设计环境:access + Python毕业设计
  • 论文字数:17846
  • 包含资料:论文+源码+英文翻译
  • 相关Tags:
  • 难度系数:

计算机的汇编器设计与实现简介

        编写汇编器的方法一般有两种:1. 完全由手工编写;2. 利用词法语法自动生成工具。这一节讲解怎样手工编写汇编程序,下一节讲解利用词法语法自动生成工具来生成汇编程序。
1.编写词法分析程序
        词法分析器主要是识别单词符号,在自定义的汇编指令系统中,单词符号主要是:标识符,数字,分界符。标识符有汇编指令名,寄存器名,伪指令名等等;数字有常数,地址。分界符包含逗号,回车等等。每一个单词符号都有一个单词种别和单词符号的属性值,如果一个单词种别只有一个单词符号,那么这单词种别就代表这单词自身;如果一个单词种别有多个单词符号,那么就要用单词符号的属性值来区分它们。比如,#2344H和#2312H的单词种别都是DATA,所以只有用属性值来区分,前者的属性值是2344H,后者的属性值是2312H。
        识别这些单词符号的一个好的途径是状态转换图,它是一张有限方向图。在状态转换图中,结点代表状态,用圆圈表示,状态之间用有向弧连接,有向弧上有一个字符,表示在射出结点的状态下,如果遇上这个字符,就转到射入结点状态。在一张状态转化图中,有一个被认为是初态,至少一个是终态(用双圆圈表示)(更多的相关内容见参考文献【7】)。状态图画出来之后,相应的词法分析程序也很快的出来了。
2.编写语法分析程序
         要生成语法分析程序,首先要有明确的文法。文法是描述语言的语法结构的形式规则。这些规则必须是准确的,易于理解的,并且这种规则所形成的程序语言应有利于句子分析和翻译。我们通常用的是上下文无关文法,它所定义的语法范畴是完全独立于这种范畴出现的环境的。它由四部分组成:一组终结符号,一组非终结符号,一个开始符号,以及一组产生式。终结符号是组成语言的基本符号,如标识符,常数等等,不可再分。非终结符代表语法范畴,一个非终结符代表一定的语法概念,是一个类记号,也是一定符号串的集合。开始符号是一个特殊的非终结符号,它代表了该文法所能描述的最大的语法范畴。产生式是定义语法范畴的一种书写规则。一个产生式的形式是Aàa,左边的是一个非终结符,称为产生式的左部符号,箭头右边的a是由终结符与非终结符组成的一符号串,称为产生式的右部。
        一个上下文无关文法有了后,下面的任务是怎样生成一个语言了。其过程是:从文法的开始符号出发,反复运用产生式,对非终结符进行替换和展开,直到只含终结符为止,这时的终结符号串叫做句子,这样的分析方法叫自上而下分析法。所有的这样的句子的组合就叫做此文法生成的语言。语法分析的目的就是看输入串是不是这个上下文文法所描述的语言的一个句子。要看输入串是不是这个上下文文法所描述的语言的一个句子,还可以从输入串出发,不断的检测,直到输入的字符串符合某个产生式的右部,那就把它们替换成产生式的左部,看最后是不是能规约成开始符号,如果能,则此字符串是一个句子。这样的分析方法叫做自下而上分析方法,适合用这种方法分析的文法叫LL(1)文法。下面我们主要从自上而下的方面来看怎样生成语法分析器。
        先来看看什么叫LL(1)文法。对于一个上下文无关文法,S是其开始符号,如果S经过有限次替换出现……Aa……的格式,那么所有这样的a组成的集合就叫做FOLLOW(A);对于非终结符A,如果经过有限次替换出现a……的格式(这里a是终结符),那么所有这样的a组成的集合就叫做FIRST(A)。下面给出LL(1)文法的定义,LL(1)文法要满足下面三个条件:(1).文法不含左递归:对于非终结符A,不会经过有限次替换出现A……的形式;(2).对于文法中每一个非终结符A的各个产生式的候选首符集两两不相交。即,若AàA1|A2|……|An,则FIRST(Ai)与FIRST(Aj)不相交,这里i不等于j;(3).对文法中的每个非终结符A,如果它存在某个候选首符集包含空字符,那么FIRST(A)与FOLLOW(A)不相交。
        对于一个LL(1)文法,当面临某个输入符号时,选择是唯一的,所以生成其语法分析器就比较容易了。例如,要用非终结符A去进行匹配,面临的输入符号为a,A的所有的产生式为AàA1|A2|……|An,如果a在FIRST(Ai)内,那么,派Ai去匹配,如果a不在FIRST(Ai)内,如果FIRST(Ai)内有空字符,且FOLLOW(Ai)包含a,那么让Ai去匹配,否则就是语法错误。相关的详细内容见参考文献【7】。
说明:为了防止网络上可以查找到本毕业设计的论文及实际界面信息保护购买者的利益1、本计算机毕业设计样本提供的只是有关此设计论文和程序的简单介绍,要想取得完整的作品,需要你与本站联系。2、本样本只是从论文中摘录一部分,在内容、字体、字号排版上与实际作品有一定的差别,请以本站实际提供的作品为准。需要了解本计算机毕业设计的具体详细信息请联系本站客服。

计算机毕业设计说明

本论文出自毕业设计指导网http://www.bysj120.cn,为保证客户隐私本站的成品计算机毕业设计一律不在网站上刊登任何程序截图、毕业论文目录摘要等。如需详细了解设计具体内容请联系本站在线客服索取的程序运行演示、毕业论文介绍。网站上展示的只是部分成品设计,如找不到您需要的毕业设计请联系在线客服查询。
·上一毕业设计:CGI在线考试系统
·下一毕业设计:企业物流配送中心系统

在线客服

  • 咨询QQ:
  • 407894958
  • 点击和客服QQ在线沟通
  • 点击和客服QQ在线沟通
  • 成品购买:
  • 定制咨询:
  • 点击和客服QQ在线沟通
  • 点击和客服QQ在线沟通
  • 如临时会话消息无法接收 请先加客服QQ好友咨询
    微信客服

计算机毕业设计,免费毕业论文,优秀毕业设计论文下载


120毕业设计指导网
地址:徐州市西安路41号
收缩
  • 计算机毕业设计定做咨询