在Java中创建一个简单的词法分析器

问题描述:

我正在创建一个词法分析器,它必须读取基本“创建”语言的文本输入和输出标记,并在调用时输出标记。我希望它能从我预先确定的列表中区分标识符,常量等。在Java中创建一个简单的词法分析器

我需要使用输入流读取文本文件。 while循环将循环遍历字符,但我需要它来识别被扫描的字符是标识符还是'+''''''''''等等......那么最好的方法是做什么?

我是相当新的编程,所以任何建议如何构建这将不胜感激。 非常感谢任何答案

StreamTokenizer类可能会帮助你最多。它将读取并区分标识符,数字和字符串。您也可以配置它以识别运算符,如+,*等。

+1

对于好的StreamTokenizer来说+1。有一个例子[在这里](https://sites.google.com/site/drjohnbmatthews/enumerated-functions)。 – trashgod

不要尝试编写自己的词法分析器/解析器。

使用词法分析器/解析器生成器如ANTLRSableCC更容易。