gpt4 book ai didi

java - 换行符可以用空格代替吗? (词法分析器)

转载 作者:行者123 更新时间:2023-12-01 14:10:02 25 4
gpt4 key购买 nike

我目前正在为 Java 的一个子集开发一个解析器,我想知道;

  1. 是否存在换行符多于标记分隔符的情况?
    • 也就是说,它们不能仅用空格替换。
  2. 我应该像忽略空格一样忽略换行符吗?
    • 也就是说,只需使用它们来检测 token 分离。

最佳答案

是的,Java 源代码中的所有换行符都可以用空格替换或删除。但是,不要删除 \n (反斜杠 n),因为它们是字符串文字中的换行符。

而且,是的,对于解析器来说,换行符与空格相同,只要您位于字符串文字之外。如果您在字符串文字中,并且要删除换行符,那么您将抑制语法错误。因为Java中不允许在字符串中包含换行符。所以,这是错误的:

String str = "first line
same line";

因此,如果您想用解析器检测语法错误,这取决于事实。你只解析有效的代码吗?这是你应该问自己的问题。

关于java - 换行符可以用空格代替吗? (词法分析器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18594263/

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