gpt4 book ai didi

java - 将 Java 代码拆分为 Token

转载 作者:行者123 更新时间:2023-11-30 02:30:37 26 4
gpt4 key购买 nike

我需要能够将 Java 代码拆分为单独的标记,其中标记是不依赖于空格的代码字符串。

例如,以下 Java 代码:

if (method(a, b).equals("C, C++, Java"))

将分为:

['if', '(', 'method', '(', 'a', ',', 'b', ')', '.', 'equals', '(', '"C, C++, Java"', ')', ')'] 

基本上,我需要一个可以用空格填充(或取消填充)而不改变代码执行的标记列表。如果我采用前面的代码示例,我可以添加和删除标记周围的空格以形成类似以下内容的内容:

if   (method    ( a,b)   . equals   ( "C, C++, Java")       )

我仍然会得到相同的结果。

我猜这只能通过一些外部库来实现,但我不知道有什么。

最佳答案

像antlr或javacc这样的解析器生成器有完整的java语法作为示例。您可以重复使用生成的分词器来实现您的目标。

您也可以使用正则表达式实现某种标记化。但这并不是 100% java token 。

关于java - 将 Java 代码拆分为 Token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44374537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com