gpt4 book ai didi

java - 使用 Java 解析包含汇编语言的文件的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-02 08:22:34 25 4
gpt4 key购买 nike

我已阅读有关 StringTokenizerStreamTokenizerScannerPatternMatcher 的内容> 来自 java.util.regex 包。我也读过有关它们的意见,但我真的很困惑:哪一个最好用?

我需要做的是制作一个Assambler,即从该文件中解析包含汇编语言的文件,并将其转换为机器代码。

例如,如果我有汇编代码:

MOV R15,R12

这应该转换为对应于每条指令和寄存器的十六进制数字。

姑且说翻译如下:

  • MOV 变为 10 F3
  • R15 变为 11 F2
  • R12 变为 20 1E

因此,我的输出文件应该是:

10 F3 11 F2 20 1E

现在我需要解析汇编文件以识别每条指令及其后面的内容。

对于那些了解微 Controller 的人来说,指令的显示方式有很多种。我的问题是:

使用 Java,这是将文件中的每个单词转换为标记的最佳方法(使用上述任何类),以便我可以找到匹配的单词并将其写入文件中。

ldi R13,0x31

我需要在一个 token 中包含 ldi,在另一个 token 中包含 r13,在另一个 token 中包含 31

最佳答案

嗯,您提到的所有内容对于简单地标记字符串或文件来说都非常好。在最新的 JDK 中,StringTokenizer 已被弃用,并且存在更高效的标记器,例如 Scanner 甚至 String.split()。但是,我认为这不是您想要的。您似乎需要一个词法分析器,或者至少需要一个词法分析器。因为您想要理解标记,而不仅仅是根据某些分隔符分割它们。因此,要么你纠正自己的错误——如果你正在吸毒——要么只是使用现有的非常好的工具之一。喜欢 ANTLR http://www.antlr.org/它也是免费的,但可能有点难以使用。还有JavaCC。祝你好运!

关于java - 使用 Java 解析包含汇编语言的文件的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5200756/

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