编译原理-如何实现词法分析

如何实现词法分析?要引入一个有限状态机的概念。

有限状态机

是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型

状态存储关于过去的信息,就是说:它反映从系统开始到现在时刻的输入变化。转移指示状态变更,并且用必须满足来确使转移发生的条件来描述它。

通俗的来讲,就是有多个状态,每个状态都能接收一定的输入,然后进入到下一个状态。

词法分析的过程

编译器将源程序以字符串的形式读入,每次取出一个字符,作为当前的状态。然后判定下一个字符的类型,根据已知的规则,决断源程序的意图。

关键字、标识符的识别

屏幕快照 2019-05-10 下午6.03.37.png

当读取到一个字符后继续往后读取,直到读取到空格或者tab等,此时生成了一个单词,判断单词是否在关键字里,如果在,则为关键字,否则为标识符。

< > =的识别

image.png
以此类推,我们可以拆解出所有的种别码。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 链接地址:https://www.tutorialspoint.com/compiler_design/compi...
    dannyvi阅读 10,242评论 1 12
  • 词法分析器实现 一、写在前面 编译原理是软件工程的一项基础的课程,是研究软件是什么,为什么可以运行,以及怎么运行的...
    黎涛note阅读 5,807评论 0 4
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 10,032评论 0 5
  • 词法分析器 词法分析器又称扫描器。词法分析是指将我们编写的文本代码流解析为一个一个的记号,分析得到的记号(Toke...
    435fa00b72e7阅读 5,564评论 0 3
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,174评论 0 3

友情链接更多精彩内容