【发布时间】:2014-04-03 01:38:08
【问题描述】:
我正在学习使用 lex 和 yacc。这是一个关于词法分析和定义词法规则的哲学问题。
假设您要为 csv 文件中的表格数据生成编译器。其中一个字段包含缩写和连接数据。
VALUE1,VALUE2,I-40
VALUE3,VALUE4,US-66
最终,您会关心这条路是州际公路还是美国高速公路。当您对这些值进行词法分析时,您应该标记道路标识符,然后让编译器将 I/US 从数字中分离出来并处理它,还是词法分析器应该在前端执行此操作?
【问题讨论】:
-
“I”和“-40”之间可以有空格吗?如果不是,那显然是一个令牌。虽然我不建议对这样的语法进行任何词法分析。
标签: compiler-construction flex-lexer lex lexical-analysis