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

时间:2011-11-01 14:32:48

标签: java lexical

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

我需要使用输入流来读取文本文件。 while循环将单独循环字符,但是我需要它来识别扫描的字符是标识符还是'+'' - ''*''/'等等......最好的方法是什么?< / p>

我对编程很新,所以任何关于如何构建它的建议都会受到赞赏。 非常感谢任何答案

2 个答案:

答案 0 :(得分:4)

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

使用像ANTLRSableCC这样的词法分析器/解析器生成器更容易。

答案 1 :(得分:2)

StreamTokenizer课程可能对你有所帮助。它将读取并区分标识符,数字和字符串。您还可以将其配置为标识运算符,例如+*