① 使整个编译程序的结构更简洁、清晰和条理化。词法分析比语法分析简单的多,但是由于源程序结构上的一些细节,常使得识别单词的工作甚为曲折和费时。例如,空白和注释的处理;再比如对于FORTRAN和cobol那种受书写格式限制的语言,需在识别单词时进行特殊处理等等。如果统统合在语法分析时一并考虑,显然会使得分析程序的结构复杂得多。
  ② 编译程序的效率会改进。大部分编译时间是花费在扫描字符以把单词符号分离出来。把词法分析独立出来,采用专门的读字符和分离单词的技术可大大加快编译速度。另外,由于单词的结构可用有效的方法和工具进行描述和识别,进而可建立词法分析程序的自动构造工具。
  ③ 增强编译程序的可移植性。在同一个语言的不同实现中,或多或少地会涉及到与设备有关的特征,比如采用ASC II还是EBCDIC字符编码。另外语言的字符集的特殊性的处理,一些专用符号,如PASCAL中的"↑"的表示等等,都可置于词法分析程序中解决而不影响编译程序其它成分的设计。