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

词法分析器的任务:

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

补充:

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

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

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

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

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

你可能感兴趣的:(编译器----词法分析器(python实现))