标签: java lexical
我正在创建一个词法分析器,它必须读取文本输入并输出令牌以获得基本的“创建”语言,并在调用时输出令牌。我希望它从我预先确定的列表中区分标识符,常量等。
我需要使用输入流来读取文本文件。 while循环将单独循环字符,但是我需要它来识别扫描的字符是标识符还是'+'' - ''*''/'等等......最好的方法是什么?< / p>
我对编程很新,所以任何关于如何构建它的建议都会受到赞赏。 非常感谢任何答案
答案 0 :(得分:4)
不要尝试编写自己的词法分析器/解析器。
使用像ANTLR或SableCC这样的词法分析器/解析器生成器更容易。
答案 1 :(得分:2)
StreamTokenizer课程可能对你有所帮助。它将读取并区分标识符,数字和字符串。您还可以将其配置为标识运算符,例如+,*等
StreamTokenizer
+
*