美文网首页
编译原理-如何实现词法分析

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

作者: 平凡码农 | 来源:发表于2019-05-10 18:06 被阅读0次

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

有限状态机

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

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

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

词法分析的过程

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

关键字、标识符的识别

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

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

< > =的识别

image.png
以此类推,我们可以拆解出所有的种别码。

相关文章

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

    如何实现词法分析?要引入一个有限状态机的概念。 有限状态机 是表示有限个状态以及在这些状态之间的转移和动作等行为的...

  • 你不知道的JavaScript —— 作用域是什么

    1.1 编译原理 传统编译步骤 分词/词法分析(拆分成一个个词法单元)——>解析/语法分析(词法单元流转化为抽象语...

  • 编译原理->词法分析

    词法分析器的作用 词法分析器的主要任务是读入源程序的输入字符、将它们组成词素,生成并输出一个词法单元序列,每个词法...

  • PL/0简单编译系统(二)

    词法分析 词法分析又称词法分析器或者扫描器,是编译程序的基本子程序之一。本项目采用手工方式设计并实现词法分析程序。...

  • 第一章作用域是什么

    1.1 编译原理 编译语言 分词/词法分析 解析/语法分析 代码生成 对于Javascript来说,大部分情况发生...

  • Linux环境下的针对PL0语言的语法词法语义分析

    摘 要 此次编译原理课程设计,我利用flex工具进行PL/0语言的词法分析、自己用C++语言实现了LR语法分析、语...

  • 什么是作用域

    编译原理 传统编译语言 词法分析:将由字符组成的字符串分解成(对编译语言来说)有意义的代码块,这些代码块被称为词法...

  • 作用域(一)

    编译原理 分词/词法分析这个过程称为分解代码块(词法单元),比如 var a = 2;。这个程序通常会被分解成为下...

  • 2018-09-07

    编译原理 Ch1 概念 编译程序 编译程序由八部分组成: 词法分析程序 语法分析程序 语义分析程序 中间代码生成程...

  • 编译原理大体概念

    编译原理学习 名词解释翻译器 translator编译器 compiler 高级语言--->低级语言词法分析 ...

网友评论

      本文标题:编译原理-如何实现词法分析

      本文链接:https://www.haomeiwen.com/subject/pqqzoqtx.html