词法分析器项目总结:从慌乱到熟练编程之旅.pdfVIP

  • 2
  • 0
  • 约小于1千字
  • 约 1页
  • 2026-05-11 发布于北京
  • 举报

词法分析器项目总结:从慌乱到熟练编程之旅.pdf

截至到词法分析器项目,已进入王道半月。第一次接触项目,一开始还是有点慌

乱,不知所措。在花生老师的项目拆解讲解下,有限状态机也只是之前所学的if+while+switch

的语句运用罢了。

在scanner.h中,主要是结构体的定义部分,用枚举类定义了token类型值,Token结

构体又包含了type(类型信息),start(指针变量,指向该token的开始地址),length(token的

长度信息),line(token在源码中的行数)。

在main.c中,主要涉及的是文件的操作,打开文件-读写文件(此项目中主要涉及读

文件)-关闭文件,其中又包含了动态内存分配的使用(在堆上),还有注意字符串结

尾标志’\0’。main函数中用到了命令行参数,通过不同令行参数来进行不同方式的交互。

scanner.c量比较大,特别需要注意的是advance()函数中的scannner.current++副作用,

需要注意每次调用相关函数后scannner.current指针的位置!

还有一个比较重要的就是while(!isAtEnd()peek()!=\n)循环条件,这里用到了

和||运算符的短路效应,一旦isAtEnd()值为t

文档评论(0)

1亿VIP精品文档

相关文档