首页 > 技术文章 > 编译原理-词法分析01-扫描程序

pengzhen 2016-09-02 20:10 原文

编译原理-词法分析01-扫描程序

扫描程序scanner和词法分析程序lexical analysis是同一个意思。

正则表达式,串格式的识别算法。

有穷自动机,对由正则表达式给出的串的识别算法。

0.术语

记号token

  • 代表一个最小的信息单元。如if,[,],=,my,age等。

  • 一般分为三类:关键字,特殊符号,标识符ID&NUM。

关键字keyword

如if,while,do。

标识符identifier

用户定义的串,比如函数名,变量等。

特殊符号special symbol

比如运算符号,+,-,*,/,[,]。

1.扫描程序

TokenType

记号类型定义


typedef enum

{ IF,THEN,ELSE,PLUS,MINUS,NUM,ID...} TokenType;

TokenRecord

记号记录


typedef struct{

    TokenType tokenval;

    union{

      char * stringval;

      int numberval;

    }

}TokenRecord;

推荐阅读