首页 > 试题广场 >

现代的语言(如Java)的编译器的词法分析主要依靠()。

[单选题]
现代的语言(如Java)的编译器的词法分析主要依靠()。
  • 有限状态自动机
  • 确定下推自动机
  • 非确定下推自动机
  • 图灵机
推荐
 A
词法分析阶段是编译过程的第一个阶段。这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号)。
编辑于 2015-01-31 11:44:51 回复(2)
个人感觉这个题,我们首先要明白什么是状态机,以及状态机的分类及作用。(自己百度的)
1>就是一组 状态, 各个状态之间, 依据一定的条件,(如输入一个 1 或者是 0) 存在一定的转换,(从状态X转换到状态Y) 它有 一个 起始状态和 若干 终结状态, 从起始状态开始, 根据输入的串转换状态, 直到所有的输入的被状态机处理, 看看最后停留的状态是否为终结状态, 是的话就说这个 串 符合这个状态机规则, 或者说被这个状态机接受! 流程可能是瞬间的动作经历很多步骤,比如“登录”流程,点击“登录”按钮之后,会有验证帐号、密码、验证码的诸多流程,但是都是在点击登录按钮的瞬间,逐一完成。 而状态机表示的都是一个已经完成的状态,每一个环节都是可以独立存在的。
2>  FSM 定义:总的来说,有限状态机系统,是指在不同阶段会呈现出不同的运行状态的系统,这些状态是有限的、不重叠的。这样的系统在某一时刻一定会处于其所有状态中的一个状态,此时它接收一部分允许的输入,产生一部分可能的响应,并且迁移到一部分可能的状态。
       五个要素:状态,事件,条件,动作,迁移
3> 下推自动机﹙PDA﹚是自动机理论中定义的一种抽象的计算模型。下推自动机比有限状态自动机复杂:除了有限状态组成部分外,还包括一个长度不受限制的栈;下推自动机的状态迁移不但要参考有限状态部分,也要参照栈当前的状态;状态迁移不但包括有限状态的变迁,还包括一个栈的出栈或入栈过程。 下推自动机可以形象的理解为,把有限状态自动机扩展使之可以存取一个栈。每一个下推自动机都接受一个形式语言。下推自动机存在确定与非确定两种形式,两者并不等价。﹙对有限状态自动机两者是等价的﹚被非确定下推自动机接受的语言是上下文无关语言。
4> 图灵机,又称图灵计算、图灵计算机,是由数学家 阿兰·麦席森·图灵 (1912~1954)提出的一种抽象计算模型,即将人们使用纸笔进行数***算的过程进行抽象,由一个虚拟的机器替代人们进行数***算。
所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。
为什么选A,我也不是特币理解,大家尽量记住吧!或者哪个大神可以来讲解一下
发表于 2016-09-05 10:30:45 回复(0)

答案:A。

有限状态自动机(Finite State Automaton,FSA)是为研究有限内存的计算过程和某些语言类而抽象出的一种计算模型。有限状态自动机拥有有限数量的状态,每个状态可以迁移到零个或多个状态,输入字串决定执行哪个状态的迁移。有限状态自动机可以表示为一个有向图。有限状态自动机是自动机理论的研究对象。所以,选项A正确。

下推自动机﹙Push Down Automaton,PDA﹚是自动机理论中定义的一种抽象的计算模型。下推自动机比有限状态自动机复杂:除了有限状态组成部分外,还包括一个长度不受限制的栈;下推自动机的状态迁移不但要参考有限状态部分,也要参照栈当前的状态;状态迁移不但包括有限状态的变迁,还包括一个栈的出栈或入栈过程。术语“下推”来自原型机械自动机物理上接触穿孔卡片来阅读其内容的下推动作。术语“确定下推自动机”(Deterministic Push Down Automaton,DPDA)指的是识别确定上下文无关语言的抽象计算设备。

图灵机,又称图灵计算、图灵计算机,是由数学家阿兰·麦席森·图灵(1912~1954年)提出的一种抽象计算模型,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去,机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。

词法分析(lexical analysis)是计算机科学中将字符序列转换为单词(Token)序列的过程,是编译过程的第一个阶段。完成词法分析任务的程序称为词法分析程序(也叫词法分析器或扫描器)。从左至右地对源程序进行扫描,按照语言的词法规则识别各类单词,并产生相应单词的属性字。词法分析器一般以函数的形式存在,供语法分析器调用。

通过上述分析可知,词法分析主要依靠有限状态自动机进行。所以,选项A正确。

发表于 2018-07-08 15:45:12 回复(0)
自动机是   有限状态机   (FSM)的数学模型。   逐个读取输入中的符号,直到被完全耗尽(把它当作有一个字写在其上的   磁带   ,通过自动机的读磁头来读取它;磁头在磁带上前行移动,一次读一个符号)。一旦输入被耗尽,自动机被称为“停止”了。
依赖自动机停止时的状态,称呼这个自动机要么是“接受”要么“拒绝”这个输入。如果停止于“接受状态”,则自动机“接受”了这个字。在另一方面,如果它停止于“拒绝状态”,则这个字被“拒绝”。自动机接受的所有字的集合被称为“这个自动机接受的语言”。
发表于 2015-08-27 20:49:15 回复(0)
自动机是 有限状态机 (FSM)的数学模型。 逐个读取输入中的符号,直到被完全耗尽(把它当作有一个字写在其上的 磁带 ,通过自动机的读磁头来读取它;磁头在磁带上前行移动,一次读一个符号)。一旦输入被耗尽,自动机被称为“停止”了。
依赖自动机停止时的状态,称呼这个自动机要么是“接受”要么“拒绝”这个输入。如果停止于“接受状态”,则自动机“接受”了这个字。在另一方面,如果它停止于“拒绝状态”,则这个字被“拒绝”。自动机接受的所有字的集合被称为“这个自动机接受的语言”。
发表于 2015-08-23 09:05:51 回复(0)
明显是A啦
发表于 2015-06-12 13:27:20 回复(0)