在Java中检测和删除代码中的单行注释

时间:2011-10-26 07:38:55

标签: java compiler-construction

所以我正在制作这个编译器,它将文本文件编译成机器代码,以便操作系统从SD卡读取。代码看起来像这样:(Ra text_to_store)将文本存储到字符串槽a中。

似乎很可能
mystring=mystring.replace("String ","R");
mystring=mystring.replace("=","");
mystring=mystring.replace(";","");
//cannot replace " with nothing, how do I get around this?

因为这会使String a = text_t_ store;进入正确的代码。

但当然不是所有人都能做到这一点。例如,我需要摆脱评论(//评论的东西),这是与.replace不可行的,还有一些其他的东西。这可能很简单,但我找不到它!

P.S。你还可以提供文字格式的链接/帮助吗?例如int var;需要将其转换为RAM插槽的编号。提前谢谢!

2 个答案:

答案 0 :(得分:0)

使用mystring.replaceAll,它使用正则表达式,例如

mystring = mystring.replaceAll("//.*$","");

从//替换为行的末尾

答案 1 :(得分:0)

你可以在1行中使用replaceAll和正则表达式

mystring=mystring.replaceAll("(?:.|\\s)*String ([\\w]+)=(.*?);(?:.|\\s)*","R$1 $2");