美文网首页技术技术干货python 进阶
编译器----词法分析器(python实现)

编译器----词法分析器(python实现)

作者: 拉丁吴 | 来源:发表于2015-09-18 15:20 被阅读3067次

词法分析器的任务:

  1. 读入每个单词或者字符
  2. 判断每个字符或者单词是否合法
  3. 如果所有字符或者单词合法,则为每个单词或字符附加上相关信息输出(token)。

补充:

  • 单词或字符合法:这需要预先定义什么是合法字符,我定义的t语言(暂且这么称呼)中对合法单词的定义是:变量名必须以[a-z|A-Z|_]开头单词中可以包含数字.

  • 每识别一个单词,不是直接输出该单词,而是将它和它相关信息打包成一个token,以供后面部分的分析过程使用。而我的将token定义成<属性,单词,行,列>,输出给语法分析器。

关于词法分析器的实现方法:

  1. 手工编码实现:
    转移图算法,结合自身定义词法规则。
    我的词法分析python实现---github

  2. 使用词法分析器的生成器
    只需要输入合法单词的正则表达式,即可生成一个词法分析器

相关文章

  • 一个编译器最简前端的python实现

    一个编译器的前端通常包括词法分析器和语法分析器。在分析过程中,文本输入词法分析器,根据词法规则解析出词法单元。词法...

  • 编译器----词法分析器(python实现)

    词法分析器的任务: 读入每个单词或者字符 判断每个字符或者单词是否合法 如果所有字符或者单词合法,则为每个单词或字...

  • 引论

    1.2 一个编译器的结构 1.2.1 词法分析 编译器的第一个步骤称为词法分析或扫描。词法分析器读入组成...

  • 一文学会 使用Kotlin Coroutine协程

    协程的概念最早由Melvin Conway在1963年提出并实现,用于简化COBOL编译器的词法和句法分析器间的协...

  • 编译原理概述

    编译器原理 词法分析器 语法分析器 语义分析器 中间代码生成 符号表 独立机器的代码优化器 代码生成器 依赖于机器...

  • 编译原理笔记7:语法分析(1)语法分析器的任务、语法错误的处理

    语法分析器是编译器前端的核心 语法分析器的两项主要任务,分别: 是根据词法分析器提供的记号流,为语法正确的输入构造...

  • PHP核心理解-flex和bison入门

    一般词法分析器和语法分析器会一起使用,语法分析器会调用词法分析器来读取输入,词法分析器匹配到特定的模式后,就向语法...

  • 编译器的工作过程

    编译器的工作过程划分为:词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。 词法分析器的任务是把...

  • 自制脚本语言(1)--词法分析器

    自制脚本语言(1)--词法分析器 目的:为了实现一个简单的解释器并在其基础上进行修改优化使其成为一个初级的编译器....

  • 三. Flex进阶:需要了解的一些知识

    参考:词法分析器生成工具flex词法分析器总结--flex&bison词法分析生成器flex的选项 1. Flex...

网友评论

    本文标题:编译器----词法分析器(python实现)

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